ReactOS  0.4.13-dev-249-gcba1a2f
qtwin.cpp File Reference
#include "rdesktop.h"
#include <qapplication.h>
#include <qmainwindow.h>
#include <qwidget.h>
#include <qpainter.h>
#include <qpixmap.h>
#include <qbrush.h>
#include <qimage.h>
#include <qbitmap.h>
#include <qcursor.h>
#include <qsocketnotifier.h>
#include <qscrollview.h>
#include <qfile.h>
#include "qtwin.h"
#include <unistd.h>
#include <pwd.h>
#include <stdarg.h>
#include <errno.h>
#include <fcntl.h>
Include dependency graph for qtwin.cpp:

Go to the source code of this file.

Classes

struct  QColorMap
 

Macros

#define DO_GLYPH(ttext, idx)
 

Functions

uint32 Color15to32 (uint32 InColor)
 
uint32 Color16to32 (uint32 InColor)
 
uint32 Color24to32 (uint32 InColor)
 
void SetColorx (QColor *Color, uint32 InColor)
 
void SetOpCode (int opcode)
 
void ResetOpCode (int opcode)
 
int GetScanCode (QKeyEvent *e)
 
void ui_begin_update (void)
 
void ui_end_update (void)
 
int ui_init (void)
 
void ui_deinit (void)
 
int ui_create_window (void)
 
void ui_main_loop (void)
 
void ui_destroy_window (void)
 
void ui_bell (void)
 
int ui_select (int in_val)
 
void ui_destroy_cursor (void *cursor)
 
voidui_create_glyph (int width, int height, uint8 *data)
 
void ui_destroy_glyph (void *glyph)
 
void ui_destroy_bitmap (void *bmp)
 
void ui_reset_clip (void)
 
void ui_set_clip (int x, int y, int cx, int cy)
 
voidui_create_colourmap (COLOURMAP *colours)
 
void ui_destroy_colourmap (HCOLOURMAP map)
 
void ui_set_colourmap (void *map)
 
HBITMAP ui_create_bitmap (int width, int height, uint8 *data)
 
int WarpCoords (int *x, int *y, int *cx, int *cy, int *srcx, int *srcy)
 
void bitBltClip (QPaintDevice *dst1, QPaintDevice *dst2, int dx, int dy, QPaintDevice *src, int sx, int sy, int sw, int sh, Qt::RasterOp rop, bool im)
 
void ui_draw_text (uint8 font, uint8 flags, uint8 opcode, int mixmode, int x, int y, int clipx, int clipy, int clipcx, int clipcy, int boxx, int boxy, int boxcx, int boxcy, BRUSH *brush, int bgcolour, int fgcolour, uint8 *text, uint8 length)
 
void ui_line (uint8 opcode, int startx, int starty, int endx, int endy, PEN *pen)
 
void ui_triblt (uint8 opcode, int x, int y, int cx, int cy, HBITMAP src, int srcx, int srcy, BRUSH *brush, int bgcolour, int fgcolour)
 
void ui_memblt (uint8 opcode, int x, int y, int cx, int cy, HBITMAP src, int srcx, int srcy)
 
void CommonDeskSave (QPixmap *Pixmap1, QPixmap *Pixmap2, int Offset, int x, int y, int cx, int cy, int dir)
 
void ui_desktop_restore (uint32 offset, int x, int y, int cx, int cy)
 
void ui_desktop_save (uint32 offset, int x, int y, int cx, int cy)
 
void ui_rect (int x, int y, int cx, int cy, int colour)
 
void ui_screenblt (uint8 opcode, int x, int y, int cx, int cy, int srcx, int srcy)
 
void ui_patblt (uint8 opcode, int x, int y, int cx, int cy, BRUSH *brush, int bgcolour, int fgcolour)
 
void ui_destblt (uint8 opcode, int x, int y, int cx, int cy)
 
void ui_move_pointer (int x, int y)
 
void ui_set_null_cursor (void)
 
void ui_paint_bitmap (int x, int y, int cx, int cy, int width, int height, uint8 *data)
 
int Is24On (uint8 *Data, int X, int Y)
 
int Is1On (uint8 *Data, int X, int Y)
 
void Set1 (uint8 *Data, int X, int Y)
 
void FlipOver (uint8 *Data)
 
void ui_set_cursor (HCURSOR cursor)
 
HCURSOR ui_create_cursor (unsigned int x, unsigned int y, int width, int height, uint8 *andmask, uint8 *xormask)
 
uint16 ui_get_numlock_state (uint32 state)
 
uint32 read_keyboard_state (void)
 
void ui_resize_window (void)
 
void ui_polygon (uint8 opcode, uint8 fillmode, POINT *point, int npoints, BRUSH *brush, int bgcolour, int fgcolour)
 
void ui_polyline (uint8 opcode, POINT *points, int npoints, PEN *pen)
 
void ui_ellipse (uint8 opcode, uint8 fillmode, int x, int y, int cx, int cy, BRUSH *brush, int bgcolour, int fgcolour)
 
void generate_random (uint8 *random)
 
void save_licence (uint8 *data, int length)
 
int load_licence (uint8 **data)
 
voidxrealloc (void *in_val, int size)
 
voidxmalloc (int size)
 
void xfree (void *in_val)
 
charxstrdup (const char *s)
 
void warning (char *format,...)
 
void unimpl (char *format,...)
 
void error (char *format,...)
 
void out_params (void)
 
void hexdump (uint8 *p, uint32 len)
 
int rd_pstcache_mkdir (void)
 
int rd_open_file (char *filename)
 
void rd_close_file (int fd)
 
int rd_read_file (int fd, void *ptr, int len)
 
int rd_write_file (int fd, void *ptr, int len)
 
int rd_lseek_file (int fd, int offset)
 
int rd_lock_file (int fd, int start, int len)
 
void get_username_and_hostname (void)
 
int parse_parameters (int in_argc, char **in_argv)
 
int main (int in_argc, char **in_argv)
 

Variables

int g_tcp_port_rdp
 
int g_use_rdp5 = 1
 
char g_hostname [16]
 
char g_username [64]
 
int g_height = 600
 
int g_width = 800
 
int g_server_depth = 8
 
int g_encryption = 1
 
int g_desktop_save = 1
 
int g_polygon_ellipse_orders = 0
 
int g_bitmap_cache = 1
 
int g_bitmap_cache_persist_enable = False
 
int g_bitmap_cache_precache = True
 
int g_bitmap_compression = 1
 
int g_rdp5_performanceflags = 0
 
int g_console_session = 0
 
int g_keylayout = 0x409
 
int g_keyboard_type = 0x4
 
int g_keyboard_subtype = 0x0
 
int g_keyboard_functionkeys = 0xc
 
static int g_argc = 0
 
static char ** g_argv = 0
 
static int g_UpAndRunning = 0
 
static int g_sock = 0
 
static int g_deactivated = 0
 
static uint32 g_ext_disc_reason = 0
 
static char g_servername [128]
 
static char g_title [128] = ""
 
static int g_flags = RDP_LOGON_NORMAL
 
static QSocketNotifier * g_SocketNotifier = 0
 
static QApplication * g_App = 0
 
static QMyMainWindowg_MW = 0
 
static QMyScrollViewg_SV = 0
 
static QPixmap * g_BS = 0
 
static QPixmap * g_DS = 0
 
static QPainter * g_P1 = 0
 
static QPainter * g_P2 = 0
 
static QColor g_Color1
 
static QColor g_Color2
 
static struct QColorMapg_CM = 0
 
static QRegion * g_ClipRect
 
static Qt::RasterOp g_OpCodes [16]
 
BOOL g_redirect = False
 
char g_redirect_server [64]
 
char g_redirect_domain [16]
 
char g_redirect_password [64]
 
char g_redirect_username [64]
 
char g_redirect_cookie [128]
 
uint32 g_redirect_flags = 0
 

Macro Definition Documentation

◆ DO_GLYPH

#define DO_GLYPH (   ttext,
  idx 
)
Value:
{ \
glyph = cache_get_font (font, ttext[idx]); \
if (!(flags & TEXT2_IMPLICIT_X)) \
{ \
xyoffset = ttext[++idx]; \
if ((xyoffset & 0x80)) \
{ \
y += ttext[idx+1] | (ttext[idx+2] << 8); \
else \
x += ttext[idx+1] | (ttext[idx+2] << 8); \
idx += 2; \
} \
else \
{ \
y += xyoffset; \
else \
x += xyoffset; \
} \
} \
if (glyph != NULL) \
{ \
g_P2->drawPixmap(x + glyph->offset, y + glyph->baseline, \
*((QBitmap*)glyph->pixmap)); \
x += glyph->width; \
} \
}
#define TEXT2_IMPLICIT_X
Definition: constants.h:276
Definition: mk_font.cpp:20
GLint GLint GLint GLint GLint x
Definition: gl.h:1548
FONTGLYPH * cache_get_font(uint8 font, uint16 character)
Definition: cache.c:279
unsigned int idx
Definition: utils.c:41
smooth NULL
Definition: ftsmooth.c:416
GLbitfield flags
Definition: glext.h:7161
GLint GLint GLint GLint GLint GLint y
Definition: gl.h:1548
#define TEXT2_VERTICAL
Definition: constants.h:275

Definition at line 874 of file qtwin.cpp.

Function Documentation

◆ bitBltClip()

void bitBltClip ( QPaintDevice *  dst1,
QPaintDevice *  dst2,
int  dx,
int  dy,
QPaintDevice *  src,
int  sx,
int  sy,
int  sw,
int  sh,
Qt::RasterOp  rop,
bool  im 
)

Definition at line 843 of file qtwin.cpp.

846 {
847  if (WarpCoords(&dx, &dy, &sw, &sh, &sx, &sy))
848  {
849  if (dst1 != NULL)
850  {
851  if (src == NULL)
852  {
853  bitBlt(dst1, dx, dy, dst1, sx, sy, sw, sh, rop, im);
854  }
855  else
856  {
857  bitBlt(dst1, dx, dy, src, sx, sy, sw, sh, rop, im);
858  }
859  }
860  if (dst2 != NULL)
861  {
862  if (src == NULL)
863  {
864  bitBlt(dst2, dx, dy, dst2, sx, sy, sw, sh, rop, im);
865  }
866  else
867  {
868  bitBlt(dst2, dx, dy, src, sx, sy, sw, sh, rop, im);
869  }
870  }
871  }
872 }
GLint dy
Definition: linetemp.h:97
static int rop(int rop, int src, int dst)
Definition: nanoxwin.c:124
smooth NULL
Definition: ftsmooth.c:416
GLenum src
Definition: glext.h:6340
int WarpCoords(int *x, int *y, int *cx, int *cy, int *srcx, int *srcy)
Definition: qtwin.cpp:818
short sh
Definition: format.c:272
GLint dx
Definition: linetemp.h:97

Referenced by ui_desktop_restore(), ui_draw_text(), ui_patblt(), and ui_screenblt().

◆ Color15to32()

uint32 Color15to32 ( uint32  InColor)

Definition at line 133 of file qtwin.cpp.

134 {
135  uint32 r, g, b;
136 
137  r = (InColor & 0x7c00) >> 10;
138  r = (r * 0xff) / 0x1f;
139  g = (InColor & 0x03e0) >> 5;
140  g = (g * 0xff) / 0x1f;
141  b = (InColor & 0x001f);
142  b = (b * 0xff) / 0x1f;
143  return (r << 16) | (g << 8) | b;
144 }
GLdouble GLdouble GLdouble r
Definition: gl.h:2055
unsigned int uint32
Definition: types.h:32
#define b
Definition: ke_i.h:79
GLboolean GLboolean g
Definition: glext.h:6204
GLboolean GLboolean GLboolean b
Definition: glext.h:6204

Referenced by SetColorx(), ui_create_bitmap(), and ui_paint_bitmap().

◆ Color16to32()

uint32 Color16to32 ( uint32  InColor)

Definition at line 147 of file qtwin.cpp.

148 {
149  uint32 r, g, b;
150 
151  r = (InColor & 0xf800) >> 11;
152  r = (r * 0xff) / 0x1f;
153  g = (InColor & 0x07e0) >> 5;
154  g = (g * 0xff) / 0x3f;
155  b = (InColor & 0x001f);
156  b = (b * 0xff) / 0x1f;
157  return (r << 16) | (g << 8) | b;
158 }
GLdouble GLdouble GLdouble r
Definition: gl.h:2055
unsigned int uint32
Definition: types.h:32
#define b
Definition: ke_i.h:79
GLboolean GLboolean g
Definition: glext.h:6204
GLboolean GLboolean GLboolean b
Definition: glext.h:6204

Referenced by SetColorx(), ui_create_bitmap(), and ui_paint_bitmap().

◆ Color24to32()

uint32 Color24to32 ( uint32  InColor)

Definition at line 161 of file qtwin.cpp.

162 {
163  return ((InColor & 0x00ff0000) >> 16) |
164  ((InColor & 0x000000ff) << 16) |
165  (InColor & 0x0000ff00);
166 }

Referenced by SetColorx().

◆ CommonDeskSave()

void CommonDeskSave ( QPixmap *  Pixmap1,
QPixmap *  Pixmap2,
int  Offset,
int  x,
int  y,
int  cx,
int  cy,
int  dir 
)

Definition at line 1044 of file qtwin.cpp.

1046 {
1047  int lx;
1048  int ly;
1049  int x1;
1050  int y1;
1051  int width;
1052  int lcx;
1053  int right;
1054  int bottom;
1055  lx = Offset % 480;
1056  ly = Offset / 480;
1057  y1 = y;
1058  right = x + cx;
1059  bottom = y + cy;
1060  while (y1 < bottom)
1061  {
1062  x1 = x;
1063  lcx = cx;
1064  while (x1 < right)
1065  {
1066  width = 480 - lx;
1067  if (width > lcx)
1068  width = lcx;
1069  if (dir == 0)
1070  bitBlt(Pixmap1, lx, ly, Pixmap2, x1, y1, width, 1, Qt::CopyROP, true);
1071  else
1072  bitBlt(Pixmap2, x1, y1, Pixmap1, lx, ly, width, 1, Qt::CopyROP, true);
1073  lx = lx + width;
1074  if (lx >= 480)
1075  {
1076  lx = 0;
1077  ly++;
1078  if (ly >= 480)
1079  ly = 0;
1080  }
1081  lcx = lcx - width;
1082  x1 = x1 + width;
1083  }
1084  y1++;
1085  }
1086 }
_In_ CLIPOBJ _In_ BRUSHOBJ _In_ LONG _In_ LONG y1
Definition: winddi.h:3706
GLint GLint GLsizei width
Definition: gl.h:1546
_In_ CLIPOBJ _In_ BRUSHOBJ _In_ LONG x1
Definition: winddi.h:3706
GLint GLint GLint GLint GLint x
Definition: gl.h:1548
_In_ ULONG _In_ ULONG Offset
Definition: ntddpcm.h:101
_Out_opt_ int _Out_opt_ int * cy
Definition: commctrl.h:570
GLint GLint bottom
Definition: glext.h:7726
unsigned int dir
Definition: maze.c:112
GLdouble GLdouble right
Definition: glext.h:10859
GLint GLint GLint GLint GLint GLint y
Definition: gl.h:1548
_Out_opt_ int * cx
Definition: commctrl.h:570

Referenced by ui_desktop_restore(), and ui_desktop_save().

◆ error()

void error ( char format,
  ... 
)

Definition at line 1545 of file qtwin.cpp.

1546 {
1547  va_list ap;
1548 
1549  fprintf(stderr, "ERROR: ");
1550  va_start(ap, format);
1551  vfprintf(stderr, format, ap);
1552  va_end(ap);
1553 }
GLint GLint GLsizei GLsizei GLsizei GLint GLenum format
Definition: gl.h:1546
#define va_end(ap)
Definition: acmsvcex.h:90
_Check_return_opt_ _CRTIMP int __cdecl fprintf(_Inout_ FILE *_File, _In_z_ _Printf_format_string_ const char *_Format,...)
char * va_list
Definition: acmsvcex.h:78
#define va_start(ap, A)
Definition: acmsvcex.h:91
void int int ULONGLONG int va_list * ap
Definition: winesup.h:32
FILE * stderr
_Check_return_opt_ _CRTIMP int __cdecl vfprintf(_Inout_ FILE *_File, _In_z_ _Printf_format_string_ const char *_Format, va_list _ArgList)

Referenced by parse_parameters(), and ui_draw_text().

◆ FlipOver()

void FlipOver ( uint8 Data)

Definition at line 1275 of file qtwin.cpp.

1276 {
1277  uint8 AData[128];
1278  int Index;
1279  memcpy(AData, Data, 128);
1280  for (Index = 0; Index <= 31; Index++)
1281  {
1282  Data[127 - (Index * 4 + 3)] = AData[Index * 4];
1283  Data[127 - (Index * 4 + 2)] = AData[Index * 4 + 1];
1284  Data[127 - (Index * 4 + 1)] = AData[Index * 4 + 2];
1285  Data[127 - Index * 4] = AData[Index * 4 + 3];
1286  }
1287 }
static const UCHAR Index[8]
Definition: usbohci.c:18
unsigned char uint8
Definition: types.h:28
#define memcpy(s1, s2, n)
Definition: mkisofs.h:878

Referenced by ui_create_cursor().

◆ generate_random()

void generate_random ( uint8 random)

Definition at line 1398 of file qtwin.cpp.

1399 {
1400  QFile File("/dev/random");
1401  File.open(IO_ReadOnly);
1402  if (File.readBlock((char*)random, 32) == 32)
1403  {
1404  return;
1405  }
1406  warning("no /dev/random\n");
1407  memcpy(random, "12345678901234567890123456789012", 32);
1408 }
_In_opt_ PVOID _In_ PCSTR File
Definition: iofuncs.h:615
#define memcpy(s1, s2, n)
Definition: mkisofs.h:878
bool open(const char *filename, const char *mode)
Definition: File.cpp:10
#define random
Definition: rosdhcp.h:81
void warning(char *format,...)
Definition: qtwin.cpp:1523
Definition: File.h:15

◆ get_username_and_hostname()

void get_username_and_hostname ( void  )

Definition at line 1698 of file qtwin.cpp.

1699 {
1700  char fullhostname[64];
1701  char * p;
1702  struct passwd * pw;
1703 
1704  STRNCPY(g_username, "unknown", sizeof(g_username));
1705  STRNCPY(g_hostname, "unknown", sizeof(g_hostname));
1706  pw = getpwuid(getuid());
1707  if (pw != NULL && pw->pw_name != NULL)
1708  {
1709  STRNCPY(g_username, pw->pw_name, sizeof(g_username));
1710  }
1711  if (gethostname(fullhostname, sizeof(fullhostname)) != -1)
1712  {
1713  p = strchr(fullhostname, '.');
1714  if (p != NULL)
1715  {
1716  *p = 0;
1717  }
1718  STRNCPY(g_hostname, fullhostname, sizeof(g_hostname));
1719  }
1720 }
#define STRNCPY(dst, src, n)
Definition: rdesktop.h:168
char g_username[64]
Definition: qtwin.cpp:49
INT WSAAPI gethostname(OUT char FAR *name, IN INT namelen)
Definition: getxbyxx.c:397
smooth NULL
Definition: ftsmooth.c:416
char g_hostname[16]
Definition: qtwin.cpp:48
uid_t getuid()
Definition: uid.c:27
char * strchr(const char *String, int ch)
Definition: utclib.c:501
GLfloat GLfloat p
Definition: glext.h:8902

Referenced by main().

◆ GetScanCode()

int GetScanCode ( QKeyEvent *  e)

Definition at line 306 of file qtwin.cpp.

307 {
308  int Key = e->key();
309  int ScanCode = 0;
310  Qt::ButtonState bs = e->state();
311  if (!(bs & Qt::ShiftButton)) // shift is not down
312  {
313  if (Key == 42) // *
314  return 0x37;
315  if (Key == 43) // +
316  return 0x4e;
317  }
318  switch (Key)
319  {
320  case 4100: ScanCode = 0x1c; break; // enter
321  case 4101: ScanCode = 0x1c; break;
322  case 4117: ScanCode = 0xd0; break; // down arrow
323  case 4115: ScanCode = 0xc8; break; // up arrow
324  case 4114: ScanCode = 0xcb; break; // left arrow
325  case 4116: ScanCode = 0xcd; break; // right arrow
326  case 4112: ScanCode = 0xc7; break; // home
327  case 4113: ScanCode = 0xcf; break; // end
328  case 4102: ScanCode = 0xd2; break; // insert
329  case 4103: ScanCode = 0xd3; break; // delete
330  case 4118: ScanCode = 0xc9; break; // page up
331  case 4119: ScanCode = 0xd1; break; // page down
332  case 4143: ScanCode = 0x00; break; // num lock
333  case 47: ScanCode = 0x35; break; // /
334  case 42: ScanCode = 0x37; break; // *
335  case 45: ScanCode = 0x0c; break; // -
336  case 95: ScanCode = 0x0c; break; // _
337  case 43: ScanCode = 0x0d; break; // +
338  case 46: ScanCode = 0x34; break; // .
339  case 48: ScanCode = 0x0b; break; // 0
340  case 41: ScanCode = 0x0b; break; // )
341  case 49: ScanCode = 0x02; break; // 1
342  case 33: ScanCode = 0x02; break; // !
343  case 50: ScanCode = 0x03; break; // 2
344  case 64: ScanCode = 0x03; break; // @
345  case 51: ScanCode = 0x04; break; // 3
346  case 35: ScanCode = 0x04; break; // #
347  case 52: ScanCode = 0x05; break; // 4
348  case 36: ScanCode = 0x05; break; // $
349  case 53: ScanCode = 0x06; break; // 5
350  case 37: ScanCode = 0x06; break; // %
351  case 54: ScanCode = 0x07; break; // 6
352  case 94: ScanCode = 0x07; break; // ^
353  case 55: ScanCode = 0x08; break; // 7
354  case 38: ScanCode = 0x08; break; // &
355  case 56: ScanCode = 0x09; break; // 8
356  case 57: ScanCode = 0x0a; break; // 9
357  case 40: ScanCode = 0x0a; break; // (
358  case 61: ScanCode = 0x0d; break; // =
359  case 65: ScanCode = 0x1e; break; // a
360  case 66: ScanCode = 0x30; break; // b
361  case 67: ScanCode = 0x2e; break; // c
362  case 68: ScanCode = 0x20; break; // d
363  case 69: ScanCode = 0x12; break; // e
364  case 70: ScanCode = 0x21; break; // f
365  case 71: ScanCode = 0x22; break; // g
366  case 72: ScanCode = 0x23; break; // h
367  case 73: ScanCode = 0x17; break; // i
368  case 74: ScanCode = 0x24; break; // j
369  case 75: ScanCode = 0x25; break; // k
370  case 76: ScanCode = 0x26; break; // l
371  case 77: ScanCode = 0x32; break; // m
372  case 78: ScanCode = 0x31; break; // n
373  case 79: ScanCode = 0x18; break; // o
374  case 80: ScanCode = 0x19; break; // p
375  case 81: ScanCode = 0x10; break; // q
376  case 82: ScanCode = 0x13; break; // r
377  case 83: ScanCode = 0x1f; break; // s
378  case 84: ScanCode = 0x14; break; // t
379  case 85: ScanCode = 0x16; break; // u
380  case 86: ScanCode = 0x2f; break; // v
381  case 87: ScanCode = 0x11; break; // w
382  case 88: ScanCode = 0x2d; break; // x
383  case 89: ScanCode = 0x15; break; // y
384  case 90: ScanCode = 0x2c; break; // z
385  case 32: ScanCode = 0x39; break; // space
386  case 44: ScanCode = 0x33; break; // ,
387  case 60: ScanCode = 0x33; break; // <
388  case 62: ScanCode = 0x34; break; // >
389  case 63: ScanCode = 0x35; break; // ?
390  case 92: ScanCode = 0x2b; break; // backslash
391  case 124: ScanCode = 0x2b; break; // bar
392  case 4097: ScanCode = 0x0f; break; // tab
393  case 4132: ScanCode = 0x3a; break; // caps lock
394  case 4096: ScanCode = 0x01; break; // esc
395  case 59: ScanCode = 0x27; break; // ;
396  case 58: ScanCode = 0x27; break; // :
397  case 39: ScanCode = 0x28; break; // '
398  case 34: ScanCode = 0x28; break; // "
399  case 91: ScanCode = 0x1a; break; // [
400  case 123: ScanCode = 0x1a; break; // {
401  case 93: ScanCode = 0x1b; break; // ]
402  case 125: ScanCode = 0x1b; break; // }
403  case 4144: ScanCode = 0x3b; break; // f1
404  case 4145: ScanCode = 0x3c; break; // f2
405  case 4146: ScanCode = 0x3d; break; // f3
406  case 4147: ScanCode = 0x3e; break; // f4
407  case 4148: ScanCode = 0x3f; break; // f5
408  case 4149: ScanCode = 0x40; break; // f6
409  case 4150: ScanCode = 0x41; break; // f7
410  case 4151: ScanCode = 0x42; break; // f8
411  case 4152: ScanCode = 0x43; break; // f9
412  case 4153: ScanCode = 0x44; break; // f10
413  case 4154: ScanCode = 0x57; break; // f11
414  case 4155: ScanCode = 0x58; break; // f12
415  case 4128: ScanCode = 0x2a; break; // shift
416  case 4131: ScanCode = 0x38; break; // alt
417  case 4129: ScanCode = 0x1d; break; // ctrl
418  case 96: ScanCode = 0x29; break; // `
419  case 126: ScanCode = 0x29; break; // ~
420  case 4099: ScanCode = 0x0e; break; // backspace
421  }
422 // if (ScanCode == 0)
423 // printf("key %d scancode %d\n", Key, ScanCode);
424  return ScanCode;
425 }
ULONG ScanCode
Definition: api.c:39
#define e
Definition: ke_i.h:82
ButtonState
Definition: button.c:143
static struct msdos_boot_sector bs
Definition: mkdosfs.c:539

Referenced by QMyMainWindow::keyPressEvent(), and QMyMainWindow::keyReleaseEvent().

◆ hexdump()

void hexdump ( uint8 p,
uint32  len 
)

Definition at line 1578 of file qtwin.cpp.

1579 {
1580  uint8 * line = p;
1581  int i, thisline;
1582  uint32 offset = 0;
1583 
1584  while (offset < len)
1585  {
1586  printf("%04x ", offset);
1587  thisline = len - offset;
1588  if (thisline > 16)
1589  {
1590  thisline = 16;
1591  }
1592  for (i = 0; i < thisline; i++)
1593  {
1594  printf("%02x ", line[i]);
1595  }
1596  for (; i < 16; i++)
1597  {
1598  printf(" ");
1599  }
1600  for (i = 0; i < thisline; i++)
1601  {
1602  printf("%c", (line[i] >= 0x20 && line[i] < 0x7f) ? line[i] : '.');
1603  }
1604  printf("\n");
1605  offset += thisline;
1606  line += thisline;
1607  }
1608 }
unsigned int uint32
Definition: types.h:32
GLintptr offset
Definition: glext.h:5920
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
Definition: glfuncs.h:248
Definition: parser.c:48
unsigned char uint8
Definition: types.h:28
GLenum GLsizei len
Definition: glext.h:6722
GLfloat GLfloat p
Definition: glext.h:8902
#define printf
Definition: config.h:203

◆ Is1On()

int Is1On ( uint8 Data,
int  X,
int  Y 
)

Definition at line 1255 of file qtwin.cpp.

1256 {
1257  int Start;
1258  int Shift;
1259  Start = (Y * 32) / 8 + X / 8;
1260  Shift = X % 8;
1261  return (Data[Start] & (0x80 >> Shift)) == 0;
1262 }
#define Y(I)
Definition: partlist.h:33
_In_ ULONG Shift
Definition: rtlfuncs.h:2683

Referenced by ui_create_cursor().

◆ Is24On()

int Is24On ( uint8 Data,
int  X,
int  Y 
)

Definition at line 1243 of file qtwin.cpp.

1244 {
1245  uint8 R, G, B;
1246  int Start;
1247  Start = Y * 32 * 3 + X * 3;
1248  R = Data[Start];
1249  G = Data[Start + 1];
1250  B = Data[Start + 2];
1251  return !((R == 0) && (G == 0) && (B == 0));
1252 }
#define R(b, x)
Definition: sha2.c:134
#define Y(I)
unsigned char uint8
Definition: types.h:28
Definition: partlist.h:33
#define G(x, y, z)
Definition: md5.c:52
#define B(row, col)

Referenced by ui_create_cursor().

◆ load_licence()

int load_licence ( uint8 **  data)

Definition at line 1457 of file qtwin.cpp.

1458 {
1459  char * home, * path;
1460  struct stat st;
1461  int fd, length;
1462 
1463  home = getenv("HOME");
1464  if (home == NULL)
1465  {
1466  return -1;
1467  }
1468  path = (char *) xmalloc(strlen(home) + strlen(g_hostname) +
1469  sizeof("/.rdesktop/licence."));
1470  sprintf(path, "%s/.rdesktop/licence.%s", home, g_hostname);
1471  fd = open(path, O_RDONLY);
1472  if (fd == -1)
1473  {
1474  return -1;
1475  }
1476  if (fstat(fd, &st))
1477  {
1478  close(fd);
1479  xfree(path);
1480  return -1;
1481  }
1482  *data = (uint8 *) xmalloc(st.st_size);
1483  length = read(fd, *data, st.st_size);
1484  close(fd);
1485  xfree(path);
1486  return length;
1487 }
#define open
Definition: acwin.h:71
ACPI_SIZE strlen(const char *String)
Definition: utclib.c:269
GLsizei const GLchar ** path
Definition: glext.h:7234
static int fd
Definition: io.c:51
void * xmalloc(int size)
Definition: qtwin.cpp:1496
#define sprintf(buf, format,...)
Definition: sprintf.c:55
smooth NULL
Definition: ftsmooth.c:416
Definition: tftpd.h:37
GLenum GLuint GLenum GLsizei length
Definition: glext.h:5579
unsigned char uint8
Definition: types.h:28
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
Definition: gl.h:1950
char g_hostname[16]
Definition: qtwin.cpp:48
char home[]
Definition: main.c:47
Definition: stat.h:55
#define close
Definition: acwin.h:74
_Check_return_ char *__cdecl getenv(_In_z_ const char *_VarName)
Definition: services.c:325
void xfree(void *in_val)
Definition: qtwin.cpp:1502
_CRTIMP int __cdecl fstat(int _Desc, struct stat *_Stat)
Definition: stat.h:341
_CRTIMP int __cdecl read(_In_ int _FileHandle, _Out_writes_bytes_(_MaxCharCount) void *_DstBuf, _In_ unsigned int _MaxCharCount)
#define O_RDONLY
Definition: acwin.h:82

◆ main()

int main ( int  in_argc,
char **  in_argv 
)

Definition at line 1809 of file qtwin.cpp.

1810 {
1812  if (!parse_parameters(in_argc, in_argv))
1813  {
1814  return 0;
1815  }
1816  if (!ui_init())
1817  {
1818  return 1;
1819  }
1820  if (!ui_create_window())
1821  {
1822  return 1;
1823  }
1824  ui_main_loop();
1826  ui_deinit();
1827  return 0;
1828 }
int ui_create_window(void)
Definition: qtwin.cpp:559
int ui_init(void)
Definition: qtwin.cpp:546
void ui_destroy_window(void)
Definition: qtwin.cpp:637
void ui_deinit(void)
Definition: qtwin.cpp:553
int parse_parameters(int in_argc, char **in_argv)
Definition: qtwin.cpp:1723
void get_username_and_hostname(void)
Definition: qtwin.cpp:1698
void ui_main_loop(void)
Definition: qtwin.cpp:613

◆ out_params()

void out_params ( void  )

Definition at line 1556 of file qtwin.cpp.

1557 {
1558  fprintf(stderr, "rdesktop: A Remote Desktop Protocol client.\n");
1559  fprintf(stderr, "Version " VERSION ". Copyright (C) 1999-2005 Matt Chapman.\n");
1560  fprintf(stderr, "QT uiport by Jay Sorg\n");
1561  fprintf(stderr, "See http://www.rdesktop.org/ for more information.\n\n");
1562  fprintf(stderr, "Usage: qtrdesktop [options] server\n");
1563  fprintf(stderr, " -g WxH: desktop geometry\n");
1564  fprintf(stderr, " -4: use RDP version 4\n");
1565  fprintf(stderr, " -5: use RDP version 5 (default)\n");
1566  fprintf(stderr, " -t 3389: tcp port)\n");
1567  fprintf(stderr, " -a 8|16|24: connection colour depth\n");
1568  fprintf(stderr, " -T title: window title\n");
1569  fprintf(stderr, " -P: use persistent bitmap caching\n");
1570  fprintf(stderr, " -0: attach to console\n");
1571  fprintf(stderr, " -z: enable rdp compression\n");
1572  fprintf(stderr, " -r sound: enable sound\n");
1573  fprintf(stderr, "\n");
1574 }
_Check_return_opt_ _CRTIMP int __cdecl fprintf(_Inout_ FILE *_File, _In_z_ _Printf_format_string_ const char *_Format,...)
FILE * stderr
#define VERSION
Definition: rdesktop.h:45

Referenced by parse_parameters().

◆ parse_parameters()

int parse_parameters ( int  in_argc,
char **  in_argv 
)

Definition at line 1723 of file qtwin.cpp.

1724 {
1725  int i;
1726  char * p;
1727 
1728  if (in_argc <= 1)
1729  {
1730  out_params();
1731  return 0;
1732  }
1733  g_argc = in_argc;
1734  g_argv = in_argv;
1735  for (i = 1; i < in_argc; i++)
1736  {
1737  strcpy(g_servername, in_argv[i]);
1738  if (strcmp(in_argv[i], "-g") == 0)
1739  {
1740  g_width = strtol(in_argv[i + 1], &p, 10);
1741  if (g_width <= 0)
1742  {
1743  error("invalid geometry\n");
1744  return 0;
1745  }
1746  if (*p == 'x')
1747  {
1748  g_height = strtol(p + 1, NULL, 10);
1749  }
1750  if (g_height <= 0)
1751  {
1752  error("invalid geometry\n");
1753  return 0;
1754  }
1755  g_width = (g_width + 3) & ~3;
1756  }
1757  else if (strcmp(in_argv[i], "-T") == 0)
1758  {
1759  strcpy(g_title, in_argv[i + 1]);
1760  }
1761  else if (strcmp(in_argv[i], "-4") == 0)
1762  {
1763  g_use_rdp5 = 0;
1764  }
1765  else if (strcmp(in_argv[i], "-5") == 0)
1766  {
1767  g_use_rdp5 = 1;
1768  }
1769  else if (strcmp(in_argv[i], "-a") == 0)
1770  {
1771  g_server_depth = strtol(in_argv[i + 1], &p, 10);
1772  if (g_server_depth != 8 && g_server_depth != 15 &&
1773  g_server_depth != 16 && g_server_depth != 24)
1774  {
1775  error("invalid bpp\n");
1776  return 0;
1777  }
1778  }
1779  else if (strcmp(in_argv[i], "-t") == 0)
1780  {
1781  g_tcp_port_rdp = strtol(in_argv[i + 1], &p, 10);
1782  }
1783  else if (strcmp(in_argv[i], "-P") == 0)
1784  {
1786  }
1787  else if (strcmp(in_argv[i], "-0") == 0)
1788  {
1789  g_console_session = 1;
1790  }
1791  else if (strcmp(in_argv[i], "-z") == 0)
1792  {
1794  }
1795  else if (strcmp(in_argv[i], "-r") == 0)
1796  {
1797  if (strcmp(in_argv[i + 1], "sound") == 0)
1798  {
1799 #ifdef WITH_RDPSND
1800  g_rdpsnd = 1;
1801 #endif
1802  }
1803  }
1804  }
1805  return 1;
1806 }
#define RDP_LOGON_COMPRESSION
Definition: constants.h:263
int g_console_session
Definition: qtwin.cpp:61
int g_server_depth
Definition: qtwin.cpp:52
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
Definition: glfuncs.h:248
int g_use_rdp5
Definition: qtwin.cpp:47
int g_height
Definition: qtwin.cpp:50
smooth NULL
Definition: ftsmooth.c:416
static char g_title[128]
Definition: qtwin.cpp:75
void out_params(void)
Definition: qtwin.cpp:1556
int g_width
Definition: qtwin.cpp:51
#define RDP_LOGON_COMPRESSION2
Definition: constants.h:265
static char ** g_argv
Definition: qtwin.cpp:69
void error(char *format,...)
Definition: qtwin.cpp:1545
static char g_servername[128]
Definition: qtwin.cpp:74
int g_bitmap_cache_persist_enable
Definition: qtwin.cpp:57
_Check_return_ long __cdecl strtol(_In_z_ const char *_Str, _Out_opt_ _Deref_post_z_ char **_EndPtr, _In_ int _Radix)
char * strcpy(char *DstString, const char *SrcString)
Definition: utclib.c:388
int strcmp(const char *String1, const char *String2)
Definition: utclib.c:469
static int g_flags
Definition: qtwin.cpp:76
static int g_argc
Definition: qtwin.cpp:68
GLfloat GLfloat p
Definition: glext.h:8902
int g_tcp_port_rdp
Definition: tcp.c:75

Referenced by main().

◆ rd_close_file()

void rd_close_file ( int  fd)

Definition at line 1658 of file qtwin.cpp.

1659 {
1660  close(fd);
1661 }
static int fd
Definition: io.c:51
#define close
Definition: acwin.h:74

◆ rd_lock_file()

int rd_lock_file ( int  fd,
int  start,
int  len 
)

Definition at line 1682 of file qtwin.cpp.

1683 {
1684  struct flock lock;
1685 
1686  lock.l_type = F_WRLCK;
1687  lock.l_whence = SEEK_SET;
1688  lock.l_start = start;
1689  lock.l_len = len;
1690  if (fcntl(fd, F_SETLK, &lock) == -1)
1691  {
1692  return False;
1693  }
1694  return True;
1695 }
rwlock_t lock
Definition: tcpcore.h:1163
static int fd
Definition: io.c:51
#define True
Definition: types.h:24
#define SEEK_SET
Definition: jmemansi.c:26
#define False
Definition: types.h:25
GLenum GLsizei len
Definition: glext.h:6722
GLuint start
Definition: gl.h:1545

◆ rd_lseek_file()

int rd_lseek_file ( int  fd,
int  offset 
)

Definition at line 1676 of file qtwin.cpp.

1677 {
1678  return lseek(fd, offset, SEEK_SET);
1679 }
GLintptr offset
Definition: glext.h:5920
static int fd
Definition: io.c:51
_Check_return_opt_ _CRTIMP long __cdecl lseek(_In_ int _FileHandle, _In_ long _Offset, _In_ int _Origin)
#define SEEK_SET
Definition: jmemansi.c:26

◆ rd_open_file()

int rd_open_file ( char filename)

Definition at line 1637 of file qtwin.cpp.

1638 {
1639  char * home;
1640  char fn[256];
1641  int fd;
1642 
1643  home = getenv("HOME");
1644  if (home == NULL)
1645  {
1646  return -1;
1647  }
1648  sprintf(fn, "%s/.rdesktop/%s", home, filename);
1649  fd = open(fn, O_RDWR | O_CREAT, S_IRUSR | S_IWUSR);
1650  if (fd == -1)
1651  {
1652  perror(fn);
1653  }
1654  return fd;
1655 }
#define open
Definition: acwin.h:71
static GLenum _GLUfuncptr fn
Definition: wgl_font.c:159
static int fd
Definition: io.c:51
const char * filename
Definition: ioapi.h:135
#define sprintf(buf, format,...)
Definition: sprintf.c:55
_CRTIMP void __cdecl perror(_In_opt_z_ const char *_ErrMsg)
smooth NULL
Definition: ftsmooth.c:416
#define S_IWUSR
Definition: propsheet.h:33
Definition: tftpd.h:37
char home[]
Definition: main.c:47
_Check_return_ char *__cdecl getenv(_In_z_ const char *_VarName)
#define O_RDWR
Definition: fcntl.h:36
#define S_IRUSR
Definition: propsheet.h:29
#define O_CREAT
Definition: acwin.h:84

◆ rd_pstcache_mkdir()

int rd_pstcache_mkdir ( void  )

Definition at line 1611 of file qtwin.cpp.

1612 {
1613  char * home;
1614  char bmpcache_dir[256];
1615 
1616  home = getenv("HOME");
1617  if (home == NULL)
1618  {
1619  return False;
1620  }
1621  sprintf(bmpcache_dir, "%s/%s", home, ".rdesktop");
1622  if ((mkdir(bmpcache_dir, S_IRWXU) == -1) && errno != EEXIST)
1623  {
1624  perror(bmpcache_dir);
1625  return False;
1626  }
1627  sprintf(bmpcache_dir, "%s/%s", home, ".rdesktop/cache");
1628  if ((mkdir(bmpcache_dir, S_IRWXU) == -1) && errno != EEXIST)
1629  {
1630  perror(bmpcache_dir);
1631  return False;
1632  }
1633  return True;
1634 }
int errno
#define EEXIST
Definition: acclib.h:88
#define sprintf(buf, format,...)
Definition: sprintf.c:55
_CRTIMP void __cdecl perror(_In_opt_z_ const char *_ErrMsg)
smooth NULL
Definition: ftsmooth.c:416
#define True
Definition: types.h:24
#define False
Definition: types.h:25
#define mkdir
Definition: acwin.h:77
Definition: tftpd.h:37
char home[]
Definition: main.c:47
_Check_return_ char *__cdecl getenv(_In_z_ const char *_VarName)
#define S_IRWXU
Definition: ext2fs.h:377

◆ rd_read_file()

int rd_read_file ( int  fd,
void ptr,
int  len 
)

Definition at line 1664 of file qtwin.cpp.

1665 {
1666  return read(fd, ptr, len);
1667 }
static int fd
Definition: io.c:51
static PVOID ptr
Definition: dispmode.c:27
GLenum GLsizei len
Definition: glext.h:6722
_CRTIMP int __cdecl read(_In_ int _FileHandle, _Out_writes_bytes_(_MaxCharCount) void *_DstBuf, _In_ unsigned int _MaxCharCount)

◆ rd_write_file()

int rd_write_file ( int  fd,
void ptr,
int  len 
)

Definition at line 1670 of file qtwin.cpp.

1671 {
1672  return write(fd, ptr, len);
1673 }
static int fd
Definition: io.c:51
#define write
Definition: acwin.h:73
static PVOID ptr
Definition: dispmode.c:27
GLenum GLsizei len
Definition: glext.h:6722

◆ read_keyboard_state()

uint32 read_keyboard_state ( void  )

Definition at line 1353 of file qtwin.cpp.

1354 {
1355  return 0;
1356 }

◆ ResetOpCode()

void ResetOpCode ( int  opcode)

Definition at line 210 of file qtwin.cpp.

211 {
212  if (opcode >= 0 && opcode < 16)
213  {
214  Qt::RasterOp op = g_OpCodes[opcode];
215  if (op != Qt::CopyROP)
216  {
217  g_P1->setRasterOp(Qt::CopyROP);
218  g_P2->setRasterOp(Qt::CopyROP);
219  }
220  }
221 }
static QPainter * g_P2
Definition: qtwin.cpp:93
static QPainter * g_P1
Definition: qtwin.cpp:92
UINT op
Definition: effect.c:223
static Qt::RasterOp g_OpCodes[16]
Definition: qtwin.cpp:105

Referenced by ui_destblt(), ui_line(), ui_memblt(), ui_patblt(), and ui_screenblt().

◆ save_licence()

void save_licence ( uint8 data,
int  length 
)

Definition at line 1411 of file qtwin.cpp.

1412 {
1413  char * home, * path, * tmppath;
1414  int fd;
1415 
1416  home = getenv("HOME");
1417  if (home == NULL)
1418  {
1419  return;
1420  }
1421  path = (char *) xmalloc(strlen(home) + strlen(g_hostname) +
1422  sizeof("/.rdesktop/licence."));
1423  sprintf(path, "%s/.rdesktop", home);
1424  if ((mkdir(path, 0700) == -1) && errno != EEXIST)
1425  {
1426  perror(path);
1427  return;
1428  }
1429  /* write licence to licence.hostname.new, then atomically rename to
1430  licence.hostname */
1431  sprintf(path, "%s/.rdesktop/licence.%s", home, g_hostname);
1432  tmppath = (char *) xmalloc(strlen(path) + sizeof(".new"));
1433  strcpy(tmppath, path);
1434  strcat(tmppath, ".new");
1435  fd = open(tmppath, O_WRONLY | O_CREAT | O_TRUNC, 0600);
1436  if (fd == -1)
1437  {
1438  perror(tmppath);
1439  return;
1440  }
1441  if (write(fd, data, length) != length)
1442  {
1443  perror(tmppath);
1444  unlink(tmppath);
1445  }
1446  else if (rename(tmppath, path) == -1)
1447  {
1448  perror(path);
1449  unlink(tmppath);
1450  }
1451  close(fd);
1452  xfree(tmppath);
1453  xfree(path);
1454 }
char * strcat(char *DstString, const char *SrcString)
Definition: utclib.c:568
#define open
Definition: acwin.h:71
ACPI_SIZE strlen(const char *String)
Definition: utclib.c:269
GLsizei const GLchar ** path
Definition: glext.h:7234
#define unlink
Definition: syshdrs.h:54
static int fd
Definition: io.c:51
int errno
#define EEXIST
Definition: acclib.h:88
void * xmalloc(int size)
Definition: qtwin.cpp:1496
#define sprintf(buf, format,...)
Definition: sprintf.c:55
#define write
Definition: acwin.h:73
_Check_return_ int __cdecl rename(_In_z_ const char *_OldFilename, _In_z_ const char *_NewFilename)
_CRTIMP void __cdecl perror(_In_opt_z_ const char *_ErrMsg)
#define O_WRONLY
Definition: acwin.h:85
smooth NULL
Definition: ftsmooth.c:416
#define mkdir
Definition: acwin.h:77
Definition: tftpd.h:37
GLenum GLuint GLenum GLsizei length
Definition: glext.h:5579
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
Definition: gl.h:1950
char g_hostname[16]
Definition: qtwin.cpp:48
char home[]
Definition: main.c:47
#define O_TRUNC
Definition: acwin.h:86
#define close
Definition: acwin.h:74
_Check_return_ char *__cdecl getenv(_In_z_ const char *_VarName)
Definition: services.c:325
void xfree(void *in_val)
Definition: qtwin.cpp:1502
char * strcpy(char *DstString, const char *SrcString)
Definition: utclib.c:388
#define O_CREAT
Definition: acwin.h:84

◆ Set1()

void Set1 ( uint8 Data,
int  X,
int  Y 
)

Definition at line 1265 of file qtwin.cpp.

1266 {
1267  int Start;
1268  int Shift;
1269  Start = (Y * 32) / 8 + X / 8;
1270  Shift = X % 8;
1271  Data[Start] = Data[Start] | (0x80 >> Shift);
1272 }
#define Y(I)
Definition: partlist.h:33
_In_ ULONG Shift
Definition: rtlfuncs.h:2683

Referenced by ui_create_cursor().

◆ SetColorx()

void SetColorx ( QColor *  Color,
uint32  InColor 
)

Definition at line 169 of file qtwin.cpp.

170 {
171  switch (g_server_depth)
172  {
173  case 8:
174  if (g_CM == NULL || InColor > 255)
175  {
176  Color->setRgb(0);
177  return;
178  }
179  Color->setRgb(g_CM->RGBColors[InColor]);
180  break;
181  case 15:
182  Color->setRgb(Color15to32(InColor));
183  break;
184  case 16:
185  Color->setRgb(Color16to32(InColor));
186  break;
187  case 24:
188  Color->setRgb(Color24to32(InColor));
189  break;
190  default:
191  Color->setRgb(0);
192  }
193 }
static struct QColorMap * g_CM
Definition: qtwin.cpp:102
int g_server_depth
Definition: qtwin.cpp:52
smooth NULL
Definition: ftsmooth.c:416
uint32 Color16to32(uint32 InColor)
Definition: qtwin.cpp:147
uint32 Color24to32(uint32 InColor)
Definition: qtwin.cpp:161
uint32 Color15to32(uint32 InColor)
Definition: qtwin.cpp:133

Referenced by ui_draw_text(), ui_line(), ui_patblt(), and ui_rect().

◆ SetOpCode()

void SetOpCode ( int  opcode)

Definition at line 196 of file qtwin.cpp.

197 {
198  if (opcode >= 0 && opcode < 16)
199  {
200  Qt::RasterOp op = g_OpCodes[opcode];
201  if (op != Qt::CopyROP)
202  {
203  g_P1->setRasterOp(op);
204  g_P2->setRasterOp(op);
205  }
206  }
207 }
static QPainter * g_P2
Definition: qtwin.cpp:93
static QPainter * g_P1
Definition: qtwin.cpp:92
UINT op
Definition: effect.c:223
static Qt::RasterOp g_OpCodes[16]
Definition: qtwin.cpp:105

Referenced by ui_destblt(), ui_line(), ui_memblt(), ui_patblt(), and ui_screenblt().

◆ ui_begin_update()

void ui_begin_update ( void  )

Definition at line 532 of file qtwin.cpp.

533 {
534  g_P1->begin(g_MW);
535  g_P2->begin(g_BS);
536 }
static QMyMainWindow * g_MW
Definition: qtwin.cpp:88
static QPixmap * g_BS
Definition: qtwin.cpp:90
static QPainter * g_P2
Definition: qtwin.cpp:93
static QPainter * g_P1
Definition: qtwin.cpp:92

◆ ui_bell()

void ui_bell ( void  )

Definition at line 649 of file qtwin.cpp.

650 {
651 }

◆ ui_create_bitmap()

HBITMAP ui_create_bitmap ( int  width,
int  height,
uint8 data 
)

Definition at line 757 of file qtwin.cpp.

758 {
759  QImage * Image = NULL;
760  QPixmap * Pixmap;
761  uint32 * d = NULL;
762  uint16 * s;
763  int i;
764 
765  switch (g_server_depth)
766  {
767  case 8:
768  Image = new QImage(data, width, height, 8, (QRgb*)&g_CM->RGBColors,
769  g_CM->NumColors, QImage::IgnoreEndian);
770  break;
771  case 15:
772  d = (uint32*)malloc(width * height * 4);
773  s = (uint16*)data;
774  for (i = 0; i < width * height; i++)
775  {
776  d[i] = Color15to32(s[i]);
777  }
778  Image = new QImage((uint8*)d, width, height, 32, NULL,
779  0, QImage::IgnoreEndian);
780  break;
781  case 16:
782  d = (uint32*)malloc(width * height * 4);
783  s = (uint16*)data;
784  for (i = 0; i < width * height; i++)
785  {
786  d[i] = Color16to32(s[i]);
787  }
788  Image = new QImage((uint8*)d, width, height, 32, NULL,
789  0, QImage::IgnoreEndian);
790  break;
791  case 24:
792  d = (uint32*)malloc(width * height * 4);
793  memset(d, 0, width * height * 4);
794  for (i = 0; i < width * height; i++)
795  {
796  memcpy(d + i, data + i * 3, 3);
797  }
798  Image = new QImage((uint8*)d, width, height, 32, NULL,
799  0, QImage::IgnoreEndian);
800  break;
801  }
802  if (Image == NULL)
803  {
804  return NULL;
805  }
806  Pixmap = new QPixmap();
807  Pixmap->convertFromImage(*Image);
808  delete Image;
809  if (d != NULL)
810  {
811  free(d);
812  }
813  return (HBITMAP)Pixmap;
814 }
GLint GLint GLsizei width
Definition: gl.h:1546
static struct QColorMap * g_CM
Definition: qtwin.cpp:102
unsigned int uint32
Definition: types.h:32
#define free
Definition: debug_ros.c:5
static PWSTR Image
Definition: pageheap.c:13
int g_server_depth
Definition: qtwin.cpp:52
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
Definition: glfuncs.h:248
smooth NULL
Definition: ftsmooth.c:416
uint32 Color16to32(uint32 InColor)
Definition: qtwin.cpp:147
#define d
Definition: ke_i.h:81
unsigned char uint8
Definition: types.h:28
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
Definition: gl.h:1950
#define memcpy(s1, s2, n)
Definition: mkisofs.h:878
GLdouble s
Definition: gl.h:2039
GLint GLint GLsizei GLsizei height
Definition: gl.h:1546
unsigned short uint16
Definition: types.h:30
uint32 Color15to32(uint32 InColor)
Definition: qtwin.cpp:133
#define malloc
Definition: debug_ros.c:4
static HBITMAP
Definition: button.c:44
#define memset(x, y, z)
Definition: compat.h:39

◆ ui_create_colourmap()

void* ui_create_colourmap ( COLOURMAP colours)

Definition at line 718 of file qtwin.cpp.

719 {
720  QColorMap* LCM;
721  int i, r, g, b;
722  LCM = (QColorMap*)malloc(sizeof(QColorMap));
723  memset(LCM, 0, sizeof(QColorMap));
724  i = 0;
725  while (i < colours->ncolours && i < 256)
726  {
727  r = colours->colours[i].red;
728  g = colours->colours[i].green;
729  b = colours->colours[i].blue;
730  LCM->RGBColors[i] = (r << 16) | (g << 8) | b;
731  i++;
732  }
733  LCM->NumColors = colours->ncolours;
734  return LCM;
735 }
uint16 ncolours
Definition: types.h:66
GLdouble GLdouble GLdouble r
Definition: gl.h:2055
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
Definition: glfuncs.h:248
uint8 blue
Definition: types.h:59
#define b
Definition: ke_i.h:79
COLOURENTRY * colours
Definition: types.h:67
GLboolean GLboolean g
Definition: glext.h:6204
GLboolean GLboolean GLboolean b
Definition: glext.h:6204
uint32 NumColors
Definition: qtewin.cpp:87
uint8 green
Definition: types.h:58
uint32 RGBColors[256]
Definition: qtewin.cpp:86
uint8 red
Definition: types.h:57
#define malloc
Definition: debug_ros.c:4
#define memset(x, y, z)
Definition: compat.h:39

◆ ui_create_cursor()

HCURSOR ui_create_cursor ( unsigned int  x,
unsigned int  y,
int  width,
int  height,
uint8 andmask,
uint8 xormask 
)

Definition at line 1299 of file qtwin.cpp.

1302 {
1303  uint8 AData[128];
1304  uint8 AMask[128];
1305  QBitmap* DataBitmap;
1306  QBitmap* MaskBitmap;
1307  QCursor* Cursor;
1308  int I1, I2, BOn, MOn;
1309 
1310  if (width != 32 || height != 32)
1311  {
1312  return 0;
1313  }
1314  memset(AData, 0, 128);
1315  memset(AMask, 0, 128);
1316  for (I1 = 0; I1 <= 31; I1++)
1317  {
1318  for (I2 = 0; I2 <= 31; I2++)
1319  {
1320  MOn = Is24On(xormask, I1, I2);
1321  BOn = Is1On(andmask, I1, I2);
1322  if (BOn ^ MOn) // xor
1323  {
1324  Set1(AData, I1, I2);
1325  if (!MOn)
1326  {
1327  Set1(AMask, I1, I2);
1328  }
1329  }
1330  if (MOn)
1331  {
1332  Set1(AMask, I1, I2);
1333  }
1334  }
1335  }
1336  FlipOver(AData);
1337  FlipOver(AMask);
1338  DataBitmap = new QBitmap(32, 32, AData);
1339  MaskBitmap = new QBitmap(32, 32, AMask);
1340  Cursor = new QCursor(*DataBitmap, *MaskBitmap, x, y);
1341  delete DataBitmap;
1342  delete MaskBitmap;
1343  return Cursor;
1344 }
GLint GLint GLsizei width
Definition: gl.h:1546
GLint GLint GLint GLint GLint x
Definition: gl.h:1548
void Set1(uint8 *Data, int X, int Y)
Definition: qtwin.cpp:1265
int Is1On(uint8 *Data, int X, int Y)
Definition: qtwin.cpp:1255
unsigned char uint8
Definition: types.h:28
GLint GLint GLsizei GLsizei height
Definition: gl.h:1546
int Is24On(uint8 *Data, int X, int Y)
Definition: qtwin.cpp:1243
GLint GLint GLint GLint GLint GLint y
Definition: gl.h:1548
#define memset(x, y, z)
Definition: compat.h:39
void FlipOver(uint8 *Data)
Definition: qtwin.cpp:1275

◆ ui_create_glyph()

void* ui_create_glyph ( int  width,
int  height,
uint8 data 
)

Definition at line 675 of file qtwin.cpp.

676 {
677  QBitmap * Bitmap;
678  Bitmap = new QBitmap(width, height, data);
679  Bitmap->setMask(*Bitmap);
680  return (HGLYPH)Bitmap;
681 }
GLint GLint GLsizei width
Definition: gl.h:1546
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
Definition: gl.h:1950
GLint GLint GLsizei GLsizei height
Definition: gl.h:1546

◆ ui_create_window()

int ui_create_window ( void  )

Definition at line 559 of file qtwin.cpp.

560 {
561  int w, h;
562  QPainter * painter;
563  QWidget * desktop;
564 
565  g_MW = new QMyMainWindow();
566  g_SV = new QMyScrollView();
567  g_SV->addChild(g_MW);
568  g_BS = new QPixmap(g_width, g_height);
569  painter = new QPainter(g_BS);
570  painter->fillRect(0, 0, g_width, g_height, QBrush(QColor("white")));
571  painter->fillRect(0, 0, g_width, g_height, QBrush(QBrush::CrossPattern));
572  delete painter;
573  g_DS = new QPixmap(480, 480);
574  g_P1 = new QPainter();
575  g_P2 = new QPainter();
576  g_ClipRect = new QRegion(0, 0, g_width, g_height);
577  desktop = QApplication::desktop();
578  w = desktop->width(); // returns screen width
579  h = desktop->height(); // returns screen height
580  g_MW->resize(g_width, g_height);
581  if (w < g_width || h < g_height)
582  {
583  g_SV->resize(w, h);
584  }
585  else
586  {
587  g_SV->resize(g_width + 4, g_height + 4);
588  }
589  g_SV->setMaximumWidth(g_width + 4);
590  g_SV->setMaximumHeight(g_height + 4);
591  g_App->setMainWidget(g_SV);
592  g_SV->show();
593  g_MW->setMouseTracking(true);
594  if (g_title[0] != 0)
595  {
596  g_SV->setCaption(g_title);
597  }
598 
599 /* XGrayKey(0, 64, AnyModifie, SV->winId(), 0, GrabModeAsync, GrabModeAsync);
600  XGrayKey(0, 113, AnyModifie, SV->winId(), 0, GrabModeAsync, GrabModeAsync);
601  XGrayKey(0, 37, AnyModifie, SV-winId(), 0, GrabModeAsync, GrabModeAsync);
602  XGrayKey(0, 109, AnyModifie, SV->winId(), 0, GrabModeAsync, GrabModeAsync);
603  XGrayKey(0, 115, AnyModifie, SV->winId(), 0, GrabModeAsync, GrabModeAsync);
604  XGrayKey(0, 116, AnyModifie, SV->winId(), 0, GrabModeAsync, GrabModeAsync);
605  XGrayKey(0, 117, AnyModifie, SV->winId(), 0, GrabModeAsync, GrabModeAsync);
606  XGrayKey(0, 62, AnyModifie, SV->winId(), 0, GrabModeAsync, GrabModeAsync);
607  XGrayKey(0, 50, AnyModifie, SV->winId(), 0, GrabModeAsync, GrabModeAsync);*/
608 
609  return 1;
610 }
GLubyte GLubyte GLubyte GLubyte w
Definition: glext.h:6102
static QMyMainWindow * g_MW
Definition: qtwin.cpp:88
static QApplication * g_App
Definition: qtwin.cpp:87
static QPixmap * g_BS
Definition: qtwin.cpp:90
void show()
Definition: qtewin.cpp:738
static QPixmap * g_DS
Definition: qtwin.cpp:91
static QRegion * g_ClipRect
Definition: qtwin.cpp:103
GLfloat GLfloat GLfloat GLfloat h
Definition: glext.h:7723
static QPainter * g_P2
Definition: qtwin.cpp:93
int g_height
Definition: qtwin.cpp:50
static char g_title[128]
Definition: qtwin.cpp:75
int g_width
Definition: qtwin.cpp:51
static QPainter * g_P1
Definition: qtwin.cpp:92
static QMyScrollView * g_SV
Definition: qtwin.cpp:89

Referenced by main().

◆ ui_deinit()

void ui_deinit ( void  )

Definition at line 553 of file qtwin.cpp.

554 {
555  delete g_App;
556 }
static QApplication * g_App
Definition: qtwin.cpp:87

Referenced by main().

◆ ui_desktop_restore()

void ui_desktop_restore ( uint32  offset,
int  x,
int  y,
int  cx,
int  cy 
)

Definition at line 1089 of file qtwin.cpp.

1090 {
1091  QPixmap * Pixmap;
1092 
1093  Pixmap = new QPixmap(cx, cy);
1094  CommonDeskSave(g_DS, Pixmap, offset, 0, 0, cx, cy, 1);
1095  bitBltClip(g_MW, g_BS, x, y, Pixmap, 0, 0, cx, cy, Qt::CopyROP, true);
1096  delete Pixmap;
1097 }
static QMyMainWindow * g_MW
Definition: qtwin.cpp:88
GLintptr offset
Definition: glext.h:5920
static QPixmap * g_BS
Definition: qtwin.cpp:90
GLint GLint GLint GLint GLint x
Definition: gl.h:1548
static QPixmap * g_DS
Definition: qtwin.cpp:91
_Out_opt_ int _Out_opt_ int * cy
Definition: commctrl.h:570
void CommonDeskSave(QPixmap *Pixmap1, QPixmap *Pixmap2, int Offset, int x, int y, int cx, int cy, int dir)
Definition: qtwin.cpp:1044
GLint GLint GLint GLint GLint GLint y
Definition: gl.h:1548
_Out_opt_ int * cx
Definition: commctrl.h:570
void bitBltClip(QPaintDevice *dst1, QPaintDevice *dst2, int dx, int dy, QPaintDevice *src, int sx, int sy, int sw, int sh, Qt::RasterOp rop, bool im)
Definition: qtwin.cpp:843

◆ ui_desktop_save()

void ui_desktop_save ( uint32  offset,
int  x,
int  y,
int  cx,
int  cy 
)

Definition at line 1100 of file qtwin.cpp.

1101 {
1102  CommonDeskSave(g_DS, g_BS, offset, x, y, cx, cy, 0);
1103 }
GLintptr offset
Definition: glext.h:5920
static QPixmap * g_BS
Definition: qtwin.cpp:90
GLint GLint GLint GLint GLint x
Definition: gl.h:1548
static QPixmap * g_DS
Definition: qtwin.cpp:91
_Out_opt_ int _Out_opt_ int * cy
Definition: commctrl.h:570
void CommonDeskSave(QPixmap *Pixmap1, QPixmap *Pixmap2, int Offset, int x, int y, int cx, int cy, int dir)
Definition: qtwin.cpp:1044
GLint GLint GLint GLint GLint GLint y
Definition: gl.h:1548
_Out_opt_ int * cx
Definition: commctrl.h:570

◆ ui_destblt()

void ui_destblt ( uint8  opcode,
int  x,
int  y,
int  cx,
int  cy 
)

Definition at line 1160 of file qtwin.cpp.

1161 {
1162  SetOpCode(opcode);
1163  g_P1->fillRect(x, y, cx, cy, QBrush(QColor("black")));
1164  g_P2->fillRect(x, y, cx, cy, QBrush(QColor("black")));
1165  ResetOpCode(opcode);
1166 }
void SetOpCode(int opcode)
Definition: qtwin.cpp:196
GLint GLint GLint GLint GLint x
Definition: gl.h:1548
static QPainter * g_P2
Definition: qtwin.cpp:93
_Out_opt_ int _Out_opt_ int * cy
Definition: commctrl.h:570
void ResetOpCode(int opcode)
Definition: qtwin.cpp:210
static QPainter * g_P1
Definition: qtwin.cpp:92
GLint GLint GLint GLint GLint GLint y
Definition: gl.h:1548
_Out_opt_ int * cx
Definition: commctrl.h:570

◆ ui_destroy_bitmap()

void ui_destroy_bitmap ( void bmp)

Definition at line 692 of file qtwin.cpp.

693 {
694  QPixmap * Pixmap;
695  Pixmap = (QPixmap*)bmp;
696  delete Pixmap;
697 }
BITMAP bmp
Definition: alphablend.c:62

◆ ui_destroy_colourmap()

void ui_destroy_colourmap ( HCOLOURMAP  map)

Definition at line 739 of file qtwin.cpp.

740 {
741  QColorMap * LCM;
742  LCM = (QColorMap*)map;
743  if (LCM == NULL)
744  return;
745  free(LCM);
746 }
#define free
Definition: debug_ros.c:5
smooth NULL
Definition: ftsmooth.c:416
Definition: _map.h:44

Referenced by ui_set_colourmap().

◆ ui_destroy_cursor()

void ui_destroy_cursor ( void cursor)

Definition at line 664 of file qtwin.cpp.

665 {
666  QCursor * Cursor;
667  Cursor = (QCursor*)cursor;
668  if (Cursor != NULL)
669  {
670  delete Cursor;
671  }
672 }
smooth NULL
Definition: ftsmooth.c:416
const char cursor[]
Definition: icontest.c:13

◆ ui_destroy_glyph()

void ui_destroy_glyph ( void glyph)

Definition at line 684 of file qtwin.cpp.

685 {
686  QBitmap* Bitmap;
687  Bitmap = (QBitmap*)glyph;
688  delete Bitmap;
689 }

◆ ui_destroy_window()

void ui_destroy_window ( void  )

Definition at line 637 of file qtwin.cpp.

638 {
639  delete g_MW;
640  delete g_SV;
641  delete g_BS;
642  delete g_DS;
643  delete g_P1;
644  delete g_P2;
645  delete g_ClipRect;
646 }
static QMyMainWindow * g_MW
Definition: qtwin.cpp:88
static QPixmap * g_BS
Definition: qtwin.cpp:90
static QPixmap * g_DS
Definition: qtwin.cpp:91
static QRegion * g_ClipRect
Definition: qtwin.cpp:103
static QPainter * g_P2
Definition: qtwin.cpp:93
static QPainter * g_P1
Definition: qtwin.cpp:92
static QMyScrollView * g_SV
Definition: qtwin.cpp:89

Referenced by main().

◆ ui_draw_text()

void ui_draw_text ( uint8  font,
uint8  flags,
uint8  opcode,
int  mixmode,
int  x,
int  y,
int  clipx,
int  clipy,
int  clipcx,
int  clipcy,
int  boxx,
int  boxy,
int  boxcx,
int  boxcy,
BRUSH brush,
int  bgcolour,
int  fgcolour,
uint8 text,
uint8  length 
)

Definition at line 906 of file qtwin.cpp.

911 {
912  FONTGLYPH * glyph;
913  int i, j, xyoffset;
914  DATABLOB * entry;
915 
916  SetColorx(&g_Color1, fgcolour);
917  SetColorx(&g_Color2, bgcolour);
918  g_P2->setBackgroundColor(g_Color2);
919  g_P2->setPen(g_Color1);
920  if (boxcx > 1)
921  {
922  g_P2->fillRect(boxx, boxy, boxcx, boxcy, QBrush(g_Color2));
923  }
924  else if (mixmode == MIX_OPAQUE)
925  {
926  g_P2->fillRect(clipx, clipy, clipcx, clipcy, QBrush(g_Color2));
927  }
928 
929  /* Paint text, character by character */
930  for (i = 0; i < length;)
931  {
932  switch (text[i])
933  {
934  case 0xff:
935  if (i + 2 < length)
936  {
937  cache_put_text(text[i + 1], text, text[i + 2]);
938  }
939  else
940  {
941  error("this shouldn't be happening\n");
942  exit(1);
943  }
944  /* this will move pointer from start to first character after FF
945  command */
946  length -= i + 3;
947  text = &(text[i + 3]);
948  i = 0;
949  break;
950 
951  case 0xfe:
952  entry = cache_get_text(text[i + 1]);
953  if (entry != NULL)
954  {
955  if ((((uint8 *) (entry->data))[1] == 0) &&
956  (!(flags & TEXT2_IMPLICIT_X)))
957  {
958  if (flags & TEXT2_VERTICAL)
959  {
960  y += text[i + 2];
961  }
962  else
963  {
964  x += text[i + 2];
965  }
966  }
967  for (j = 0; j < entry->size; j++)
968  {
969  DO_GLYPH(((uint8 *) (entry->data)), j);
970  }
971  }
972  if (i + 2 < length)
973  {
974  i += 3;
975  }
976  else
977  {
978  i += 2;
979  }
980  length -= i;
981  /* this will move pointer from start to first character after FE
982  command */
983  text = &(text[i]);
984  i = 0;
985  break;
986 
987  default:
988  DO_GLYPH(text, i);
989  i++;
990  break;
991  }
992  }
993  if (boxcx > 1)
994  {
995  bitBltClip(g_MW, NULL, boxx, boxy, g_BS, boxx, boxy, boxcx, boxcy,
996  Qt::CopyROP, true);
997  }
998  else
999  {
1000  bitBltClip(g_MW, NULL, clipx, clipy, g_BS, clipx, clipy, clipcx,
1001  clipcy, Qt::CopyROP, true);
1002  }
1003 }
static QMyMainWindow * g_MW
Definition: qtwin.cpp:88
#define TEXT2_IMPLICIT_X
Definition: constants.h:276
const WCHAR * text
Definition: package.c:1827
static QPixmap * g_BS
Definition: qtwin.cpp:90
#define MIX_OPAQUE
Definition: constants.h:273
GLint GLint GLint GLint GLint x
Definition: gl.h:1548
static QColor g_Color2
Definition: qtwin.cpp:95
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
Definition: glfuncs.h:248
#define DO_GLYPH(ttext, idx)
Definition: qtwin.cpp:874
static QPainter * g_P2
Definition: qtwin.cpp:93
void cache_put_text(uint8 cache_id, void *data, int length)
Definition: cache.c:335
smooth NULL
Definition: ftsmooth.c:416
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint GLint GLint j
Definition: glfuncs.h:250
GLenum GLuint GLenum GLsizei length
Definition: glext.h:5579
void error(char *format,...)
Definition: qtwin.cpp:1545
unsigned char uint8
Definition: types.h:28
GLbitfield flags
Definition: glext.h:7161
uint32_t entry
Definition: isohybrid.c:63
static QColor g_Color1
Definition: qtwin.cpp:94
void SetColorx(QColor *Color, uint32 InColor)
Definition: qtwin.cpp:169
GLint GLint GLint GLint GLint GLint y
Definition: gl.h:1548
DATABLOB * cache_get_text(uint8 cache_id)
Definition: cache.c:325
void exit(int exitcode)
Definition: _exit.c:33
#define TEXT2_VERTICAL
Definition: constants.h:275
void bitBltClip(QPaintDevice *dst1, QPaintDevice *dst2, int dx, int dy, QPaintDevice *src, int sx, int sy, int sw, int sh, Qt::RasterOp rop, bool im)
Definition: qtwin.cpp:843

◆ ui_ellipse()

void ui_ellipse ( uint8  opcode,
uint8  fillmode,
int  x,
int  y,
int  cx,
int  cy,
BRUSH brush,
int  bgcolour,
int  fgcolour 
)

Definition at line 1391 of file qtwin.cpp.

1394 {
1395 }

◆ ui_end_update()

void ui_end_update ( void  )

Definition at line 539 of file qtwin.cpp.

540 {
541  g_P1->end();
542  g_P2->end();
543 }
static QPainter * g_P2
Definition: qtwin.cpp:93
static QPainter * g_P1
Definition: qtwin.cpp:92

◆ ui_get_numlock_state()

uint16 ui_get_numlock_state ( uint32  state)

Definition at line 1347 of file qtwin.cpp.

1348 {
1349  return 0;
1350 }

◆ ui_init()

int ui_init ( void  )

Definition at line 546 of file qtwin.cpp.

547 {
548  g_App = new QApplication(g_argc, g_argv);
549  return 1;
550 }
static QApplication * g_App
Definition: qtwin.cpp:87
static char ** g_argv
Definition: qtwin.cpp:69
static int g_argc
Definition: qtwin.cpp:68

Referenced by main().

◆ ui_line()

void ui_line ( uint8  opcode,
int  startx,
int  starty,
int  endx,
int  endy,
PEN pen 
)

Definition at line 1006 of file qtwin.cpp.

1008 {
1009  SetColorx(&g_Color1, pen->colour);
1010  SetOpCode(opcode);
1011  g_P1->setPen(g_Color1);
1012  g_P1->moveTo(startx, starty);
1013  g_P1->lineTo(endx, endy);
1014  g_P2->setPen(g_Color1);
1015  g_P2->moveTo(startx, starty);
1016  g_P2->lineTo(endx, endy);
1017  ResetOpCode(opcode);
1018 }
void SetOpCode(int opcode)
Definition: qtwin.cpp:196
static QPainter * g_P2
Definition: qtwin.cpp:93
void ResetOpCode(int opcode)
Definition: qtwin.cpp:210
uint32 colour
Definition: types.h:86
static QColor g_Color1
Definition: qtwin.cpp:94
static QPainter * g_P1
Definition: qtwin.cpp:92
void SetColorx(QColor *Color, uint32 InColor)
Definition: qtwin.cpp:169

Referenced by ui_polyline().

◆ ui_main_loop()

void ui_main_loop ( void  )

Definition at line 613 of file qtwin.cpp.

614 {
615 #ifdef WITH_RDPSND
616  // init sound
617  if (g_rdpsnd)
618  {
619  rdpsnd_init();
620  }
621 #endif
622  // connect
623  if (!rdp_connect(g_servername, g_flags, "", "", "", ""))
624  {
625  return;
626  }
627  // start notifier
628  g_SocketNotifier = new QSocketNotifier(g_sock, QSocketNotifier::Read, g_MW);
629  g_MW->connect(g_SocketNotifier, SIGNAL(activated(int)),
630  g_MW, SLOT(dataReceived()));
631  g_UpAndRunning = 1;
632  // app main loop
633  g_App->exec();
634 }
static UINT activated
Definition: msctf.c:72
static QSocketNotifier * g_SocketNotifier
Definition: qtwin.cpp:86
_In_ BOOLEAN Read
Definition: strmini.h:479
static QMyMainWindow * g_MW
Definition: qtwin.cpp:88
static QApplication * g_App
Definition: qtwin.cpp:87
RD_BOOL rdpsnd_init(char *optarg)
RD_BOOL rdp_connect(char *server, uint32 flags, char *domain, char *password, char *command, char *directory, RD_BOOL reconnect)
Definition: rdp.c:1742
static char g_servername[128]
Definition: qtwin.cpp:74
static int g_sock
Definition: qtwin.cpp:71
static int g_flags
Definition: qtwin.cpp:76
static int g_UpAndRunning
Definition: qtwin.cpp:70

Referenced by main().

◆ ui_memblt()

void ui_memblt ( uint8  opcode,
int  x,
int  y,
int  cx,
int  cy,
HBITMAP  src,
int  srcx,
int  srcy 
)

Definition at line 1029 of file qtwin.cpp.

1031 {
1032  QPixmap* Pixmap;
1033  Pixmap = (QPixmap*)src;
1034  if (Pixmap != NULL)
1035  {
1036  SetOpCode(opcode);
1037  g_P1->drawPixmap(x, y, *Pixmap, srcx, srcy, cx, cy);
1038  g_P2->drawPixmap(x, y, *Pixmap, srcx, srcy, cx, cy);
1039  ResetOpCode(opcode);
1040  }
1041 }
void SetOpCode(int opcode)
Definition: qtwin.cpp:196
GLint GLint GLint GLint GLint x
Definition: gl.h:1548
static QPainter * g_P2
Definition: qtwin.cpp:93
_Out_opt_ int _Out_opt_ int * cy
Definition: commctrl.h:570
smooth NULL
Definition: ftsmooth.c:416
void ResetOpCode(int opcode)
Definition: qtwin.cpp:210
GLenum src
Definition: glext.h:6340
static QPainter * g_P1
Definition: qtwin.cpp:92
GLint GLint GLint GLint GLint GLint y
Definition: gl.h:1548
_Out_opt_ int * cx
Definition: commctrl.h:570

◆ ui_move_pointer()

void ui_move_pointer ( int  x,
int  y 
)

Definition at line 1169 of file qtwin.cpp.

1170 {
1171 }

◆ ui_paint_bitmap()

void ui_paint_bitmap ( int  x,
int  y,
int  cx,
int  cy,
int  width,
int  height,
uint8 data 
)

Definition at line 1180 of file qtwin.cpp.

1182 {
1183  QImage * Image = NULL;
1184  QPixmap * Pixmap;
1185  uint32 * d = NULL;
1186  uint16 * s;
1187  int i;
1188 
1189  switch (g_server_depth)
1190  {
1191  case 8:
1192  Image = new QImage(data, width, height, 8, (QRgb*)&g_CM->RGBColors,
1193  g_CM->NumColors, QImage::IgnoreEndian);
1194  break;
1195  case 15:
1196  d = (uint32*)malloc(width * height * 4);
1197  s = (uint16*)data;
1198  for (i = 0; i < width * height; i++)
1199  {
1200  d[i] = Color15to32(s[i]);
1201  }
1202  Image = new QImage((uint8*)d, width, height, 32, NULL,
1203  0, QImage::IgnoreEndian);
1204  break;
1205  case 16:
1206  d = (uint32*)malloc(width * height * 4);
1207  s = (uint16*)data;
1208  for (i = 0; i < width * height; i++)
1209  {
1210  d[i] = Color16to32(s[i]);
1211  }
1212  Image = new QImage((uint8*)d, width, height, 32, NULL,
1213  0, QImage::IgnoreEndian);
1214  break;
1215  case 24:
1216  d = (uint32*)malloc(width * height * 4);
1217  memset(d, 0, width * height * 4);
1218  for (i = 0; i < width * height; i++)
1219  {
1220  memcpy(d + i, data + i * 3, 3);
1221  }
1222  Image = new QImage((uint8*)d, width, height, 32, NULL,
1223  0, QImage::IgnoreEndian);
1224  break;
1225  }
1226  if (Image == NULL)
1227  {
1228  return;
1229  }
1230  Pixmap = new QPixmap();
1231  Pixmap->convertFromImage(*Image);
1232  g_P1->drawPixmap(x, y, *Pixmap, 0, 0, cx, cy);
1233  g_P2->drawPixmap(x, y, *Pixmap, 0, 0, cx, cy);
1234  delete Image;
1235  delete Pixmap;
1236  if (d != NULL)
1237  {
1238  free(d);
1239  }
1240 }
GLint GLint GLsizei width
Definition: gl.h:1546
static struct QColorMap * g_CM
Definition: qtwin.cpp:102
unsigned int uint32
Definition: types.h:32
#define free
Definition: debug_ros.c:5
static PWSTR Image
Definition: pageheap.c:13
int g_server_depth
Definition: qtwin.cpp:52
GLint GLint GLint GLint GLint x
Definition: gl.h:1548
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
Definition: glfuncs.h:248
static QPainter * g_P2
Definition: qtwin.cpp:93
_Out_opt_ int _Out_opt_ int * cy
Definition: commctrl.h:570
smooth NULL
Definition: ftsmooth.c:416
uint32 Color16to32(uint32 InColor)
Definition: qtwin.cpp:147
#define d
Definition: ke_i.h:81
unsigned char uint8
Definition: types.h:28
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
Definition: gl.h:1950
#define memcpy(s1, s2, n)
Definition: mkisofs.h:878
GLdouble s
Definition: gl.h:2039
GLint GLint GLsizei GLsizei height
Definition: gl.h:1546
static QPainter * g_P1
Definition: qtwin.cpp:92
unsigned short uint16
Definition: types.h:30
GLint GLint GLint GLint GLint GLint y
Definition: gl.h:1548
uint32 Color15to32(uint32 InColor)
Definition: qtwin.cpp:133
_Out_opt_ int * cx
Definition: commctrl.h:570
#define malloc
Definition: debug_ros.c:4
#define memset(x, y, z)
Definition: compat.h:39

◆ ui_patblt()

void ui_patblt ( uint8  opcode,
int  x,
int  y,
int  cx,
int  cy,
BRUSH brush,
int  bgcolour,
int  fgcolour 
)

Definition at line 1123 of file qtwin.cpp.

1125 {
1126  QBitmap* Bitmap;
1127  QBrush* Brush;
1128  uint8 ipattern[8], i;
1129  SetOpCode(opcode);
1130  switch (brush->style)
1131  {
1132  case 0:
1133  SetColorx(&g_Color1, fgcolour);
1134  g_P2->fillRect(x, y, cx, cy, QBrush(g_Color1));
1135  break;
1136  case 3:
1137  SetColorx(&g_Color1, fgcolour);
1138  SetColorx(&g_Color2, bgcolour);
1139  for (i = 0; i != 8; i++)
1140  {
1141  ipattern[7 - i] = ~brush->pattern[i];
1142  }
1143  Bitmap = new QBitmap(8, 8, ipattern);
1144  Brush = new QBrush(g_Color1, *Bitmap);
1145  g_P2->setBackgroundMode(Qt::OpaqueMode);
1146  g_P2->setBrushOrigin(brush->xorigin, brush->yorigin);
1147  g_P2->setBackgroundColor(g_Color2);
1148  g_P2->fillRect(x, y, cx, cy, *Brush);
1149  delete Brush;
1150  delete Bitmap;
1151  g_P2->setBackgroundMode(Qt::TransparentMode);
1152  g_P2->setBrushOrigin(0, 0);
1153  break;
1154  }
1155  ResetOpCode(opcode);
1156  bitBltClip(g_MW, NULL, x, y, g_BS, x, y, cx, cy, Qt::CopyROP, true);
1157 }
static QMyMainWindow * g_MW
Definition: qtwin.cpp:88
void SetOpCode(int opcode)
Definition: qtwin.cpp:196
static QPixmap * g_BS
Definition: qtwin.cpp:90
GLint GLint GLint GLint GLint x
Definition: gl.h:1548
static QColor g_Color2
Definition: qtwin.cpp:95
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
Definition: glfuncs.h:248
static QPainter * g_P2
Definition: qtwin.cpp:93
_Out_opt_ int _Out_opt_ int * cy
Definition: commctrl.h:570
void Brush(HDC hdc, LONG x1, LONG y1, LONG x2, LONG y2, COLORREF color, LONG style)
Definition: drawing.cpp:160
smooth NULL
Definition: ftsmooth.c:416
void ResetOpCode(int opcode)
Definition: qtwin.cpp:210
unsigned char uint8
Definition: types.h:28
static QColor g_Color1
Definition: qtwin.cpp:94
void SetColorx(QColor *Color, uint32 InColor)
Definition: qtwin.cpp:169
GLint GLint GLint GLint GLint GLint y
Definition: gl.h:1548
_Out_opt_ int * cx
Definition: commctrl.h:570
void bitBltClip(QPaintDevice *dst1, QPaintDevice *dst2, int dx, int dy, QPaintDevice *src, int sx, int sy, int sw, int sh, Qt::RasterOp rop, bool im)
Definition: qtwin.cpp:843

◆ ui_polygon()

void ui_polygon ( uint8  opcode,
uint8  fillmode,
POINT point,
int  npoints,
BRUSH brush,
int  bgcolour,
int  fgcolour 
)

Definition at line 1364 of file qtwin.cpp.

1366 {
1367 }

◆ ui_polyline()

void ui_polyline ( uint8  opcode,
POINT points,
int  npoints,
PEN pen 
)

Definition at line 1371 of file qtwin.cpp.

1372 {
1373  int i, x, y, dx, dy;
1374 
1375  if (npoints > 0)
1376  {
1377  x = points[0].x;
1378  y = points[0].y;
1379  for (i = 1; i < npoints; i++)
1380  {
1381  dx = points[i].x;
1382  dy = points[i].y;
1383  ui_line(opcode, x, y, x + dx, y + dy, pen);
1384  x = x + dx;
1385  y = y + dy;
1386  }
1387  }
1388 }
GLint dy
Definition: linetemp.h:97
GLint GLint GLint GLint GLint x
Definition: gl.h:1548
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
Definition: glfuncs.h:248
GLsizei const GLfloat * points
Definition: glext.h:8112
void ui_line(uint8 opcode, int startx, int starty, int endx, int endy, PEN *pen)
Definition: qtwin.cpp:1006
GLint GLint GLint GLint GLint GLint y
Definition: gl.h:1548
GLint dx
Definition: linetemp.h:97

◆ ui_rect()

void ui_rect ( int  x,
int  y,
int  cx,
int  cy,
int  colour 
)

Definition at line 1106 of file qtwin.cpp.

1107 {
1108  SetColorx(&g_Color1, colour);
1109  g_P1->fillRect(x, y, cx, cy, QBrush(g_Color1));
1110  g_P2->fillRect(x, y, cx, cy, QBrush(g_Color1));
1111 }
GLint GLint GLint GLint GLint x
Definition: gl.h:1548
static QPainter * g_P2
Definition: qtwin.cpp:93
_Out_opt_ int _Out_opt_ int * cy
Definition: commctrl.h:570
static QColor g_Color1
Definition: qtwin.cpp:94
static QPainter * g_P1
Definition: qtwin.cpp:92
void SetColorx(QColor *Color, uint32 InColor)
Definition: qtwin.cpp:169
GLint GLint GLint GLint GLint GLint y
Definition: gl.h:1548
_Out_opt_ int * cx
Definition: commctrl.h:570

◆ ui_reset_clip()

void ui_reset_clip ( void  )

Definition at line 700 of file qtwin.cpp.

701 {
702  g_P1->setClipRect(0, 0, g_width, g_height);
703  g_P2->setClipRect(0, 0, g_width, g_height);
704  delete g_ClipRect;
705  g_ClipRect = new QRegion(0, 0, g_width, g_height);
706 }
static QRegion * g_ClipRect
Definition: qtwin.cpp:103
static QPainter * g_P2
Definition: qtwin.cpp:93
int g_height
Definition: qtwin.cpp:50
int g_width
Definition: qtwin.cpp:51
static QPainter * g_P1
Definition: qtwin.cpp:92

◆ ui_resize_window()

void ui_resize_window ( void  )

Definition at line 1359 of file qtwin.cpp.

1360 {
1361 }

◆ ui_screenblt()

void ui_screenblt ( uint8  opcode,
int  x,
int  y,
int  cx,
int  cy,
int  srcx,
int  srcy 
)

Definition at line 1114 of file qtwin.cpp.

1116 {
1117  SetOpCode(opcode);
1118  bitBltClip(g_MW, g_BS, x, y, NULL, srcx, srcy, cx, cy, Qt::CopyROP, true);
1119  ResetOpCode(opcode);
1120 }
static QMyMainWindow * g_MW
Definition: qtwin.cpp:88
void SetOpCode(int opcode)
Definition: qtwin.cpp:196
static QPixmap * g_BS
Definition: qtwin.cpp:90
GLint GLint GLint GLint GLint x
Definition: gl.h:1548
_Out_opt_ int _Out_opt_ int * cy
Definition: commctrl.h:570
smooth NULL
Definition: ftsmooth.c:416
void ResetOpCode(int opcode)
Definition: qtwin.cpp:210
GLint GLint GLint GLint GLint GLint y
Definition: gl.h:1548
_Out_opt_ int * cx
Definition: commctrl.h:570
void bitBltClip(QPaintDevice *dst1, QPaintDevice *dst2, int dx, int dy, QPaintDevice *src, int sx, int sy, int sw, int sh, Qt::RasterOp rop, bool im)
Definition: qtwin.cpp:843

◆ ui_select()

int ui_select ( int  in_val)

Definition at line 654 of file qtwin.cpp.

655 {
656  if (g_sock == 0)
657  {
658  g_sock = in_val;
659  }
660  return 1;
661 }
static int g_sock
Definition: qtwin.cpp:71

◆ ui_set_clip()

void ui_set_clip ( int  x,
int  y,
int  cx,
int  cy 
)

Definition at line 709 of file qtwin.cpp.

710 {
711  g_P1->setClipRect(x, y, cx, cy);
712  g_P2->setClipRect(x, y, cx, cy);
713  delete g_ClipRect;
714  g_ClipRect = new QRegion(x, y, cx, cy);
715 }
GLint GLint GLint GLint GLint x
Definition: gl.h:1548
static QRegion * g_ClipRect
Definition: qtwin.cpp:103
static QPainter * g_P2
Definition: qtwin.cpp:93
_Out_opt_ int _Out_opt_ int * cy
Definition: commctrl.h:570
static QPainter * g_P1
Definition: qtwin.cpp:92
GLint GLint GLint GLint GLint GLint y
Definition: gl.h:1548
_Out_opt_ int * cx
Definition: commctrl.h:570

◆ ui_set_colourmap()

void ui_set_colourmap ( void map)

Definition at line 749 of file qtwin.cpp.

750 {
751  // destoy old colormap
753  g_CM = (QColorMap*)map;
754 }
static struct QColorMap * g_CM
Definition: qtwin.cpp:102
Definition: _map.h:44
void ui_destroy_colourmap(HCOLOURMAP map)
Definition: qtwin.cpp:739

◆ ui_set_cursor()

void ui_set_cursor ( HCURSOR  cursor)

Definition at line 1290 of file qtwin.cpp.

1291 {
1292  QCursor* Cursor;
1293  Cursor = (QCursor*)cursor;
1294  if (Cursor != NULL)
1295  g_MW->setCursor(*Cursor);
1296 }
static QMyMainWindow * g_MW
Definition: qtwin.cpp:88
smooth NULL
Definition: ftsmooth.c:416
const char cursor[]
Definition: icontest.c:13

◆ ui_set_null_cursor()

void ui_set_null_cursor ( void  )

Definition at line 1174 of file qtwin.cpp.

1175 {
1176  g_MW->setCursor(10); // Qt::BlankCursor
1177 }
static QMyMainWindow * g_MW
Definition: qtwin.cpp:88

◆ ui_triblt()

void ui_triblt ( uint8  opcode,
int  x,
int  y,
int  cx,
int  cy,
HBITMAP  src,
int  srcx,
int  srcy,
BRUSH brush,
int  bgcolour,
int  fgcolour 
)

Definition at line 1022 of file qtwin.cpp.

1025 {
1026 }

◆ unimpl()

void unimpl ( char format,
  ... 
)

Definition at line 1534 of file qtwin.cpp.

1535 {
1536  va_list ap;
1537 
1538  fprintf(stderr, "NOT IMPLEMENTED: ");
1539  va_start(ap, format);
1540  vfprintf(stderr, format, ap);
1541  va_end(ap);
1542 }
GLint GLint GLsizei GLsizei GLsizei GLint GLenum format
Definition: gl.h:1546
#define va_end(ap)
Definition: acmsvcex.h:90
_Check_return_opt_ _CRTIMP int __cdecl fprintf(_Inout_ FILE *_File, _In_z_ _Printf_format_string_ const char *_Format,...)
char * va_list
Definition: acmsvcex.h:78
#define va_start(ap, A)
Definition: acmsvcex.h:91
void int int ULONGLONG int va_list * ap
Definition: winesup.h:32
FILE * stderr
_Check_return_opt_ _CRTIMP int __cdecl vfprintf(_Inout_ FILE *_File, _In_z_ _Printf_format_string_ const char *_Format, va_list _ArgList)

◆ warning()

void warning ( char format,
  ... 
)

Definition at line 1523 of file qtwin.cpp.

1524 {
1525  va_list ap;
1526 
1527  fprintf(stderr, "WARNING: ");
1528  va_start(ap, format);
1529  vfprintf(stderr, format, ap);
1530  va_end(ap);
1531 }
GLint GLint GLsizei GLsizei GLsizei GLint GLenum format
Definition: gl.h:1546
#define va_end(ap)
Definition: acmsvcex.h:90
_Check_return_opt_ _CRTIMP int __cdecl fprintf(_Inout_ FILE *_File, _In_z_ _Printf_format_string_ const char *_Format,...)
char * va_list
Definition: acmsvcex.h:78
#define va_start(ap, A)
Definition: acmsvcex.h:91
void int int ULONGLONG int va_list * ap
Definition: winesup.h:32
FILE * stderr
_Check_return_opt_ _CRTIMP int __cdecl vfprintf(_Inout_ FILE *_File, _In_z_ _Printf_format_string_ const char *_Format, va_list _ArgList)

Referenced by generate_random().

◆ WarpCoords()

int WarpCoords ( int x,
int y,
int cx,
int cy,
int srcx,
int srcy 
)

Definition at line 818 of file qtwin.cpp.

819 {
820  int dx, dy;
821  QRect InRect(*x, *y, *cx, *cy);
822  QRect OutRect;
823  QRect CRect = g_ClipRect->boundingRect();
824  OutRect = InRect.intersect(CRect);
825  if (OutRect.isEmpty())
826  {
827  return False;
828  }
829  dx = OutRect.x() - InRect.x();
830  dy = OutRect.y() - InRect.y();
831  *x = OutRect.x();
832  *y = OutRect.y();
833  *cx = OutRect.width();
834  *cy = OutRect.height();
835  *srcx = *srcx + dx;
836  *srcy = *srcy + dy;
837  return True;
838 }
GLint dy
Definition: linetemp.h:97
GLint GLint GLint GLint GLint x
Definition: gl.h:1548
static QRegion * g_ClipRect
Definition: qtwin.cpp:103
_Out_opt_ int _Out_opt_ int * cy
Definition: commctrl.h:570
#define True
Definition: types.h:24
#define False
Definition: types.h:25
GLint GLint GLint GLint GLint GLint y
Definition: gl.h:1548
GLint dx
Definition: linetemp.h:97
_Out_opt_ int * cx
Definition: commctrl.h:570

Referenced by bitBltClip().

◆ xfree()

void xfree ( void in_val)

Definition at line 1502 of file qtwin.cpp.

1503 {
1504  if (in_val != NULL)
1505  {
1506  free(in_val);
1507  }
1508 }
#define free
Definition: debug_ros.c:5
smooth NULL
Definition: ftsmooth.c:416

Referenced by load_licence(), and save_licence().

◆ xmalloc()

void* xmalloc ( int  size)

Definition at line 1496 of file qtwin.cpp.

1497 {
1498  return malloc(size);
1499 }
GLsizeiptr size
Definition: glext.h:5919
#define malloc
Definition: debug_ros.c:4

Referenced by load_licence(), and save_licence().

◆ xrealloc()

void* xrealloc ( void in_val,
int  size 
)

Definition at line 1490 of file qtwin.cpp.

1491 {
1492  return realloc(in_val, size);
1493 }
#define realloc
Definition: debug_ros.c:6
GLsizeiptr size
Definition: glext.h:5919

◆ xstrdup()

char* xstrdup ( const char s)

Definition at line 1511 of file qtwin.cpp.

1512 {
1513  char * mem = strdup(s);
1514  if (mem == NULL)
1515  {
1516  perror("strdup");
1517  exit(1);
1518  }
1519  return mem;
1520 }
_CRTIMP void __cdecl perror(_In_opt_z_ const char *_ErrMsg)
_Check_return_ _CRTIMP char *__cdecl strdup(_In_opt_z_ const char *_Src)
smooth NULL
Definition: ftsmooth.c:416
GLdouble s
Definition: gl.h:2039
Definition: mem.c:156
void exit(int exitcode)
Definition: _exit.c:33

Variable Documentation

◆ g_App

QApplication* g_App = 0
static

Definition at line 87 of file qtwin.cpp.

Referenced by ui_create_window(), ui_deinit(), ui_init(), and ui_main_loop().

◆ g_argc

int g_argc = 0
static

Definition at line 68 of file qtwin.cpp.

Referenced by parse_parameters(), and ui_init().

◆ g_argv

char** g_argv = 0
static

Definition at line 69 of file qtwin.cpp.

Referenced by parse_parameters(), and ui_init().

◆ g_bitmap_cache

int g_bitmap_cache = 1

Definition at line 56 of file qtwin.cpp.

◆ g_bitmap_cache_persist_enable

int g_bitmap_cache_persist_enable = False

Definition at line 57 of file qtwin.cpp.

Referenced by parse_parameters().

◆ g_bitmap_cache_precache

int g_bitmap_cache_precache = True

Definition at line 58 of file qtwin.cpp.

◆ g_bitmap_compression

int g_bitmap_compression = 1

Definition at line 59 of file qtwin.cpp.

◆ g_BS

◆ g_ClipRect

QRegion* g_ClipRect
static

◆ g_CM

struct QColorMap* g_CM = 0
static

Definition at line 102 of file qtwin.cpp.

Referenced by SetColorx(), ui_create_bitmap(), ui_paint_bitmap(), and ui_set_colourmap().

◆ g_Color1

QColor g_Color1
static

Definition at line 94 of file qtwin.cpp.

Referenced by ui_draw_text(), ui_line(), ui_patblt(), and ui_rect().

◆ g_Color2

QColor g_Color2
static

Definition at line 95 of file qtwin.cpp.

Referenced by ui_draw_text(), and ui_patblt().

◆ g_console_session

int g_console_session = 0

Definition at line 61 of file qtwin.cpp.

Referenced by parse_parameters().

◆ g_deactivated

int g_deactivated = 0
static

Definition at line 72 of file qtwin.cpp.

◆ g_desktop_save

int g_desktop_save = 1

Definition at line 54 of file qtwin.cpp.

◆ g_DS

QPixmap* g_DS = 0
static

Definition at line 91 of file qtwin.cpp.

Referenced by ui_create_window(), ui_desktop_restore(), ui_desktop_save(), and ui_destroy_window().

◆ g_encryption

int g_encryption = 1

Definition at line 53 of file qtwin.cpp.

◆ g_ext_disc_reason

uint32 g_ext_disc_reason = 0
static

Definition at line 73 of file qtwin.cpp.

◆ g_flags

int g_flags = RDP_LOGON_NORMAL
static

Definition at line 76 of file qtwin.cpp.

Referenced by parse_parameters(), and ui_main_loop().

◆ g_height

int g_height = 600

Definition at line 50 of file qtwin.cpp.

Referenced by parse_parameters(), ui_create_window(), and ui_reset_clip().

◆ g_hostname

char g_hostname[16]

Definition at line 48 of file qtwin.cpp.

Referenced by get_username_and_hostname(), load_licence(), and save_licence().

◆ g_keyboard_functionkeys

int g_keyboard_functionkeys = 0xc

Definition at line 65 of file qtwin.cpp.

◆ g_keyboard_subtype

int g_keyboard_subtype = 0x0

Definition at line 64 of file qtwin.cpp.

◆ g_keyboard_type

int g_keyboard_type = 0x4

Definition at line 63 of file qtwin.cpp.

◆ g_keylayout

int g_keylayout = 0x409

Definition at line 62 of file qtwin.cpp.

◆ g_MW

◆ g_OpCodes

Qt::RasterOp g_OpCodes[16]
static
Initial value:
= {
Qt::ClearROP,
Qt::NorROP,
Qt::NotAndROP,
Qt::NotCopyROP,
Qt::AndNotROP,
Qt::NotROP,
Qt::XorROP,
Qt::NandROP,
Qt::AndROP,
Qt::NotXorROP,
Qt::NopROP,
Qt::NotOrROP,
Qt::CopyROP,
Qt::OrNotROP,
Qt::OrROP,
Qt::SetROP}

Definition at line 105 of file qtwin.cpp.

Referenced by ResetOpCode(), and SetOpCode().

◆ g_P1

◆ g_P2

◆ g_polygon_ellipse_orders

int g_polygon_ellipse_orders = 0

Definition at line 55 of file qtwin.cpp.

◆ g_rdp5_performanceflags

int g_rdp5_performanceflags = 0

Definition at line 60 of file qtwin.cpp.

◆ g_redirect

BOOL g_redirect = False

Definition at line 124 of file qtwin.cpp.

◆ g_redirect_cookie

char g_redirect_cookie[128]

Definition at line 129 of file qtwin.cpp.

◆ g_redirect_domain

char g_redirect_domain[16]

Definition at line 126 of file qtwin.cpp.

◆ g_redirect_flags

uint32 g_redirect_flags = 0

Definition at line 130 of file qtwin.cpp.

◆ g_redirect_password

char g_redirect_password[64]

Definition at line 127 of file qtwin.cpp.

◆ g_redirect_server

char g_redirect_server[64]

Definition at line 125 of file qtwin.cpp.

◆ g_redirect_username

char g_redirect_username[64]

Definition at line 128 of file qtwin.cpp.

◆ g_server_depth

int g_server_depth = 8

Definition at line 52 of file qtwin.cpp.

Referenced by parse_parameters(), SetColorx(), ui_create_bitmap(), and ui_paint_bitmap().

◆ g_servername

char g_servername[128]
static

Definition at line 74 of file qtwin.cpp.

Referenced by parse_parameters(), and ui_main_loop().

◆ g_sock

int g_sock = 0
static

Definition at line 71 of file qtwin.cpp.

Referenced by ui_main_loop(), and ui_select().

◆ g_SocketNotifier

QSocketNotifier* g_SocketNotifier = 0
static

Definition at line 86 of file qtwin.cpp.

Referenced by ui_main_loop().

◆ g_SV

QMyScrollView* g_SV = 0
static

Definition at line 89 of file qtwin.cpp.

Referenced by ui_create_window(), and ui_destroy_window().

◆ g_tcp_port_rdp

int g_tcp_port_rdp

Definition at line 75 of file tcp.c.

Referenced by parse_parameters().

◆ g_title

char g_title[128] = ""
static

Definition at line 75 of file qtwin.cpp.

Referenced by parse_parameters(), and ui_create_window().

◆ g_UpAndRunning

int g_UpAndRunning = 0
static

◆ g_use_rdp5

int g_use_rdp5 = 1

Definition at line 47 of file qtwin.cpp.

Referenced by parse_parameters().

◆ g_username

char g_username[64]

Definition at line 49 of file qtwin.cpp.

Referenced by get_username_and_hostname().

◆ g_width

int g_width = 800

Definition at line 51 of file qtwin.cpp.

Referenced by parse_parameters(), ui_create_window(), and ui_reset_clip().