diff options
author | steven_carr <steven_carr> | 2006-05-03 19:29:18 +0000 |
---|---|---|
committer | steven_carr <steven_carr> | 2006-05-03 19:29:18 +0000 |
commit | 2670641432683c15529d93f3ec2e09fed220b53c (patch) | |
tree | 29d517f032b71b673681574dc352d80096a8426f /libvncserver/cursor.c | |
parent | afa9fae0248650cb358463c37756c3560da4b57a (diff) | |
download | libtdevnc-2670641432683c15529d93f3ec2e09fed220b53c.tar.gz libtdevnc-2670641432683c15529d93f3ec2e09fed220b53c.zip |
Client Independent Server Side Scaling is now supported
Both PalmVNC and UltraVNC SetScale messages are supported
Diffstat (limited to 'libvncserver/cursor.c')
-rw-r--r-- | libvncserver/cursor.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/libvncserver/cursor.c b/libvncserver/cursor.c index d40fb76..2accc25 100644 --- a/libvncserver/cursor.c +++ b/libvncserver/cursor.c @@ -26,6 +26,8 @@ #include <rfb/rfbregion.h> #include "private.h" +void rfbScaledScreenUpdate(rfbScreenInfoPtr screen, int x1, int y1, int x2, int y2); + /* * Send cursor shape either in X-style format or in client pixel format. */ @@ -42,6 +44,8 @@ rfbSendCursorShape(rfbClientPtr cl) uint8_t *bitmapData; uint8_t bitmapByte; + /* TODO: scale the cursor data to the correct size */ + pCursor = cl->screen->getCursorPtr(cl); /*if(!pCursor) return TRUE;*/ @@ -461,6 +465,9 @@ void rfbHideCursor(rfbClientPtr cl) memcpy(s->frameBuffer+(y1+j)*rowstride+x1*bpp, s->underCursorBuffer+j*x2*bpp, x2*bpp); + + /* Copy to all scaled versions */ + rfbScaledScreenUpdate(s, x1, y1, x1+x2, y1+y2); UNLOCK(s->cursorMutex); } @@ -619,6 +626,9 @@ void rfbShowCursor(rfbClientPtr cl) c->richSource+(j+j1)*c->width*bpp+(i+i1)*bpp,bpp); } + /* Copy to all scaled versions */ + rfbScaledScreenUpdate(s, x1, y1, x1+x2, y1+y2); + UNLOCK(s->cursorMutex); } |