Commit 62ae6bb7 authored by Alexander Dorokhine's avatar Alexander Dorokhine Committed by Johannes Schindelin

libvncclient: Add FinishedFrameBufferUpdate callback

When working on a program which searches the display for some image, one
does not want to search again without getting an FB update.  Add a
callback to make this possible.
parent b02849ab
...@@ -1553,6 +1553,9 @@ HandleRFBServerMessage(rfbClient* client) ...@@ -1553,6 +1553,9 @@ HandleRFBServerMessage(rfbClient* client)
if (!SendIncrementalFramebufferUpdateRequest(client)) if (!SendIncrementalFramebufferUpdateRequest(client))
return FALSE; return FALSE;
if (client->FinishedFrameBufferUpdate)
client->FinishedFrameBufferUpdate(client);
break; break;
} }
......
...@@ -173,6 +173,7 @@ rfbClient* rfbGetClient(int bitsPerSample,int samplesPerPixel, ...@@ -173,6 +173,7 @@ rfbClient* rfbGetClient(int bitsPerSample,int samplesPerPixel,
client->SoftCursorLockArea = DummyRect; client->SoftCursorLockArea = DummyRect;
client->SoftCursorUnlockScreen = Dummy; client->SoftCursorUnlockScreen = Dummy;
client->GotFrameBufferUpdate = DummyRect; client->GotFrameBufferUpdate = DummyRect;
client->FinishedFrameBufferUpdate = NULL;
client->GetPassword = ReadPassword; client->GetPassword = ReadPassword;
client->MallocFrameBuffer = MallocFrameBuffer; client->MallocFrameBuffer = MallocFrameBuffer;
client->Bell = Dummy; client->Bell = Dummy;
......
...@@ -107,6 +107,7 @@ typedef rfbBool (*HandleCursorPosProc)(struct _rfbClient* client, int x, int y); ...@@ -107,6 +107,7 @@ typedef rfbBool (*HandleCursorPosProc)(struct _rfbClient* client, int x, int y);
typedef void (*SoftCursorLockAreaProc)(struct _rfbClient* client, int x, int y, int w, int h); typedef void (*SoftCursorLockAreaProc)(struct _rfbClient* client, int x, int y, int w, int h);
typedef void (*SoftCursorUnlockScreenProc)(struct _rfbClient* client); typedef void (*SoftCursorUnlockScreenProc)(struct _rfbClient* client);
typedef void (*GotFrameBufferUpdateProc)(struct _rfbClient* client, int x, int y, int w, int h); typedef void (*GotFrameBufferUpdateProc)(struct _rfbClient* client, int x, int y, int w, int h);
typedef void (*FinishedFrameBufferUpdateProc)(struct _rfbClient* client);
typedef char* (*GetPasswordProc)(struct _rfbClient* client); typedef char* (*GetPasswordProc)(struct _rfbClient* client);
typedef rfbBool (*MallocFrameBufferProc)(struct _rfbClient* client); typedef rfbBool (*MallocFrameBufferProc)(struct _rfbClient* client);
typedef void (*GotXCutTextProc)(struct _rfbClient* client, const char *text, int textlen); typedef void (*GotXCutTextProc)(struct _rfbClient* client, const char *text, int textlen);
...@@ -228,6 +229,7 @@ typedef struct _rfbClient { ...@@ -228,6 +229,7 @@ typedef struct _rfbClient {
SoftCursorLockAreaProc SoftCursorLockArea; SoftCursorLockAreaProc SoftCursorLockArea;
SoftCursorUnlockScreenProc SoftCursorUnlockScreen; SoftCursorUnlockScreenProc SoftCursorUnlockScreen;
GotFrameBufferUpdateProc GotFrameBufferUpdate; GotFrameBufferUpdateProc GotFrameBufferUpdate;
FinishedFrameBufferUpdateProc FinishedFrameBufferUpdate;
/* the pointer returned by GetPassword will be freed after use! */ /* the pointer returned by GetPassword will be freed after use! */
GetPasswordProc GetPassword; GetPasswordProc GetPassword;
MallocFrameBufferProc MallocFrameBuffer; MallocFrameBufferProc MallocFrameBuffer;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment