From 2670641432683c15529d93f3ec2e09fed220b53c Mon Sep 17 00:00:00 2001 From: steven_carr Date: Wed, 3 May 2006 19:29:18 +0000 Subject: Client Independent Server Side Scaling is now supported Both PalmVNC and UltraVNC SetScale messages are supported --- libvncserver/cursor.c | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'libvncserver/cursor.c') 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 #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); } -- cgit v1.2.1