summaryrefslogtreecommitdiffstats
path: root/rfb.h
diff options
context:
space:
mode:
authordscho <dscho>2002-07-28 16:45:16 +0000
committerdscho <dscho>2002-07-28 16:45:16 +0000
commit7e6d5c65eb90a567b665965643f3c874cb4a1658 (patch)
tree8db0433bd49e6053285c4b09cb197ebc23f4bf43 /rfb.h
parent131ede28a74bb18037f5bfbbe1f9ac8f26546544 (diff)
downloadlibtdevnc-7e6d5c65.tar.gz
libtdevnc-7e6d5c65.zip
NewFB encoding added
Diffstat (limited to 'rfb.h')
-rw-r--r--rfb.h18
1 files changed, 14 insertions, 4 deletions
diff --git a/rfb.h b/rfb.h
index 7c7121c..98dc004 100644
--- a/rfb.h
+++ b/rfb.h
@@ -503,8 +503,12 @@ typedef struct _rfbClientRec {
Bool enableCursorShapeUpdates; /* client supports cursor shape updates */
Bool useRichCursorEncoding; /* rfbEncodingRichCursor is preferred */
Bool cursorWasChanged; /* cursor shape update should be sent */
+
+ Bool useNewFBSize; /* client supports NewFBSize encoding */
+ Bool newFBSizePending; /* framebuffer size was changed */
+
#ifdef BACKCHANNEL
- Bool enableBackChannel;
+ Bool enableBackChannel; /* custom channel for special clients */
#endif
struct _rfbClientRec *prev;
@@ -532,9 +536,10 @@ typedef struct _rfbClientRec {
* be sent to the client.
*/
-#define FB_UPDATE_PENDING(cl) \
- ((!(cl)->enableCursorShapeUpdates && !(cl)->screen->cursorIsDrawn) || \
- ((cl)->enableCursorShapeUpdates && (cl)->cursorWasChanged) || \
+#define FB_UPDATE_PENDING(cl) \
+ ((!(cl)->enableCursorShapeUpdates && !(cl)->screen->cursorIsDrawn) || \
+ ((cl)->enableCursorShapeUpdates && (cl)->cursorWasChanged) || \
+ ((cl)->useNewFBSize && (cl)->newFBSizePending) || \
!sraRgnEmpty((cl)->copyRegion) || !sraRgnEmpty((cl)->modifiedRegion))
/*
@@ -603,6 +608,7 @@ extern Bool rfbSendUpdateBuf(rfbClientPtr cl);
extern void rfbSendServerCutText(rfbScreenInfoPtr rfbScreen,char *str, int len);
extern Bool rfbSendCopyRegion(rfbClientPtr cl,sraRegionPtr reg,int dx,int dy);
extern Bool rfbSendLastRectMarker(rfbClientPtr cl);
+extern Bool rfbSendNewFBSize(rfbClientPtr cl, int w, int h);
extern Bool rfbSendSetColourMapEntries(rfbClientPtr cl, int firstColour, int nColours);
extern void rfbSendBell(rfbScreenInfoPtr rfbScreen);
@@ -796,6 +802,10 @@ extern rfbScreenInfoPtr rfbGetScreen(int* argc,char** argv,
int width,int height,int bitsPerSample,int samplesPerPixel,
int bytesPerPixel);
extern void rfbInitServer(rfbScreenInfoPtr rfbScreen);
+extern void rfbNewFramebuffer(rfbScreenInfoPtr rfbScreen,char *framebuffer,
+ int width,int height, int bitsPerSample,int samplesPerPixel,
+ int bytesPerPixel);
+
extern void rfbScreenCleanup(rfbScreenInfoPtr screenInfo);
/* functions to accept/refuse a client that has been put on hold