diff options
author | Christian Beier <dontmind@freeshell.org> | 2017-03-26 14:32:46 +0200 |
---|---|---|
committer | Christian Beier <dontmind@freeshell.org> | 2017-03-26 14:32:46 +0200 |
commit | e03b5750f84ce9816d5c6055ba3da34755aff934 (patch) | |
tree | 44e23decd21c5caf5fb09f6c286b8e980ee120e5 /rfb | |
parent | 0d0a2fc2b5567365b142a77fa961b0c9658b6010 (diff) | |
parent | a01a18df1d44ec875708d5fc9d6c4e0934535974 (diff) | |
download | libtdevnc-e03b5750f84ce9816d5c6055ba3da34755aff934.tar.gz libtdevnc-e03b5750f84ce9816d5c6055ba3da34755aff934.zip |
Merge branch 'circle' of https://github.com/ldmnyblzs/libvncserver into ldmnyblzs-circle
Conflicts:
libvncclient/rfbproto.c
Diffstat (limited to 'rfb')
-rw-r--r-- | rfb/rfbclient.h | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/rfb/rfbclient.h b/rfb/rfbclient.h index 9fdb008..505dd9c 100644 --- a/rfb/rfbclient.h +++ b/rfb/rfbclient.h @@ -186,6 +186,9 @@ typedef void (*BellProc)(struct _rfbClient* client); */ typedef void (*GotCursorShapeProc)(struct _rfbClient* client, int xhot, int yhot, int width, int height, int bytesPerPixel); typedef void (*GotCopyRectProc)(struct _rfbClient* client, int src_x, int src_y, int w, int h, int dest_x, int dest_y); +typedef void (*GotFillRectProc)(struct _rfbClient* client, int x, int y, int w, int h, uint32_t colour); +typedef void (*GotBitmapProc)(struct _rfbClient* client, const uint8_t* buffer, int x, int y, int w, int h); +typedef rfbBool (*GotJpegProc)(struct _rfbClient* client, const uint8_t* buffer, int length, int x, int y, int w, int h); typedef rfbBool (*LockWriteToTLSProc)(struct _rfbClient* client); typedef rfbBool (*UnlockWriteToTLSProc)(struct _rfbClient* client); @@ -371,6 +374,18 @@ typedef struct _rfbClient { LockWriteToTLSProc LockWriteToTLS; UnlockWriteToTLSProc UnlockWriteToTLS; + /** Hooks for custom rendering + * + * VNC rendering boils down to 3 activities: + * - GotCopyRect: copy an area of the framebuffer + * - GotFillRect: fill an area of the framebuffer with a solid color + * - GotBitmap: copy the bitmap in the buffer into the framebuffer + * The client application should either set all three of these or none! + */ + GotFillRectProc GotFillRect; + GotBitmapProc GotBitmap; + /** Hook for custom JPEG decoding and rendering */ + GotJpegProc GotJpeg; } rfbClient; /* cursor.c */ |