aboutsummaryrefslogtreecommitdiffstats
path: root/framebuffer.h
diff options
context:
space:
mode:
Diffstat (limited to 'framebuffer.h')
-rw-r--r--framebuffer.h11
1 files changed, 11 insertions, 0 deletions
diff --git a/framebuffer.h b/framebuffer.h
index 1dce0d9..9e99d26 100644
--- a/framebuffer.h
+++ b/framebuffer.h
@@ -106,6 +106,13 @@ typedef void (*QFrameBufferUpdateFunc)( void* opaque, int x, int y,
*/
typedef void (*QFrameBufferRotateFunc)( void* opaque, int rotation );
+/* the Client::Poll method is called periodically to poll for input
+ * events and act on them. Putting this here is not 100% pure but
+ * make things simpler due to QEMU's weird architecture where the
+ * GUI timer drivers event polling.
+ */
+typedef void (*QFrameBufferPollFunc)( void* opaque );
+
/* the Client::Done func tells a client that a framebuffer object was freed.
* no more reference to its pixels should be done.
*/
@@ -121,6 +128,7 @@ qframebuffer_add_client( QFrameBuffer* qfbuff,
void* fb_opaque,
QFrameBufferUpdateFunc fb_update,
QFrameBufferRotateFunc fb_rotate,
+ QFrameBufferPollFunc fb_poll,
QFrameBufferDoneFunc fb_done );
/* Producer::CheckUpdate is called to let the producer check the
@@ -161,6 +169,9 @@ qframebuffer_update( QFrameBuffer* qfbuff, int x, int y, int w, int h );
extern void
qframebuffer_rotate( QFrameBuffer* qfbuff, int rotation );
+extern void
+qframebuffer_poll( QFrameBuffer* qfbuff );
+
/* finalize a framebuffer, release its pixel buffer. Should be called
* from the framebuffer object's owner
*/