rdp2vnc fixes from Johannes Schindelin <Johannes.Schindelin@gmx.de>

git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/trunk/rdesktop@647 423420c4-83ab-492f-b58f-81f9feb106b5
This commit is contained in:
Michael Gernoth 2004-04-10 09:34:52 +00:00
parent 5441fc026a
commit 95d2f76a30
5 changed files with 30 additions and 17 deletions

View File

@ -68,9 +68,9 @@ BOOL g_hide_decorations = False;
BOOL g_use_rdp5 = True;
BOOL g_console_session = False;
BOOL g_numlock_sync = False;
extern BOOL g_owncolmap;
extern BOOL g_ownbackstore;
extern uint32 g_embed_wnd;
BOOL g_owncolmap = False;
BOOL g_ownbackstore = True; /* We can't rely on external BackingStore */
uint32 g_embed_wnd;
uint32 g_rdp5_performanceflags = RDP5_NO_WALLPAPER | RDP5_NO_FULLWINDOWDRAG | RDP5_NO_MENUANIMATIONS;
#ifdef WITH_RDPSND

View File

@ -59,8 +59,8 @@ extern int rfbClientSocket;
#define BITSPERBYTES 8
#define TOBYTES(bits) ((bits)/BITSPERBYTES)
extern int width;
extern int height;
extern int g_width;
extern int g_height;
extern int keylayout;
extern BOOL sendmotion;
#ifdef ENABLE_SHADOW
@ -74,6 +74,8 @@ int rfbClientSocket = 0;
static rfbScreenInfoPtr server = NULL;
static vncBuffer *frameBuffer = NULL;
static uint8_t reverseByte[0x100];
BOOL g_enable_compose = False;
int g_display=0;
/* ignored */
BOOL owncolmap = False;
@ -149,7 +151,7 @@ get_key_state(unsigned int state, uint32 keysym)
}
void
vncKey(Bool down, KeySym keysym, struct _rfbClientRec *cl)
vncKey(rfbBool down, rfbKeySym keysym, struct _rfbClientRec *cl)
{
uint32 ev_time = time(NULL);
key_translation tr = { 0, 0 };
@ -272,7 +274,7 @@ rdp2vnc_connect(char *server, uint32 flags, char *domain, char *password,
extern char title[];
extern char g_title[];
BOOL
ui_create_window()
{
@ -284,9 +286,9 @@ ui_create_window()
(((i >> 4) & 1) << 3) | (((i >> 3) & 1) << 4) | (((i >> 2) & 1) << 5) |
(((i >> 1) & 1) << 6) | (((i >> 0) & 1) << 7);
server = rfbGetScreen(0, NULL, width, height, 8, 1, 1);
server->desktopName = title;
server->frameBuffer = (char *) malloc(width * height);
server = rfbGetScreen(0, NULL, g_width, g_height, 8, 1, 1);
server->desktopName = g_title;
server->frameBuffer = (char *) malloc(g_width * g_height);
server->ptrAddEvent = vncMouse;
server->kbdAddEvent = vncKey;
#ifdef ENABLE_SHADOW
@ -305,14 +307,14 @@ ui_create_window()
server->rfbDeferUpdateTime = defer_time;
frameBuffer = (vncBuffer *) malloc(sizeof(vncBuffer));
frameBuffer->w = width;
frameBuffer->h = height;
frameBuffer->linew = width;
frameBuffer->w = g_width;
frameBuffer->h = g_height;
frameBuffer->linew = g_width;
frameBuffer->data = server->frameBuffer;
frameBuffer->owner = FALSE;
frameBuffer->format = &server->rfbServerFormat;
ui_set_clip(0, 0, width, height);
ui_set_clip(0, 0, g_width, g_height);
rfbInitServer(server);
#ifndef ENABLE_SHADOW
@ -484,6 +486,11 @@ ui_destroy_cursor(HCURSOR cursor)
rfbFreeCursor((rfbCursorPtr) cursor);
}
void ui_set_null_cursor(void)
{
rfbSetCursor(server, 0, FALSE);
}
HGLYPH
ui_create_glyph(int width, int height, uint8 * data)
{

View File

@ -23,6 +23,8 @@
#define Button5 5
typedef int Display;
typedef int Window;
typedef rfbKeySym KeySym;
KeySym XStringToKeysym(const char *str);
const char *XKeysymToString(KeySym keysym);

View File

@ -602,12 +602,16 @@ ensure_remote_modifiers(uint32 ev_time, key_translation tr)
unsigned int
read_keyboard_state()
{
#ifdef RDP2VNC
return 0;
#else
unsigned int state;
Window wdummy;
int dummy;
XQueryPointer(g_display, g_wnd, &wdummy, &wdummy, &dummy, &dummy, &dummy, &dummy, &state);
return state;
#endif
}

6
xwin.c
View File

@ -43,7 +43,7 @@ Time g_last_gesturetime;
static int g_x_socket;
static Screen *g_screen;
Window g_wnd;
uint32 g_embed_wnd;
extern uint32 g_embed_wnd;
BOOL g_enable_compose = False;
static GC g_gc = NULL;
static Visual *g_visual;
@ -66,7 +66,7 @@ static int g_red_shift_r, g_blue_shift_r, g_green_shift_r;
static int g_red_shift_l, g_blue_shift_l, g_green_shift_l;
/* software backing store */
BOOL g_ownbackstore = True; /* We can't rely on external BackingStore */
extern BOOL g_ownbackstore;
static Pixmap g_backstore = 0;
/* Moving in single app mode */
@ -115,7 +115,7 @@ PixelColour;
}
/* colour maps */
BOOL g_owncolmap = False;
extern BOOL g_owncolmap;
static Colormap g_xcolmap;
static uint32 *g_colmap = NULL;