aboutsummaryrefslogtreecommitdiffstats
path: root/framebuffer.h
diff options
context:
space:
mode:
authorDavid 'Digit' Turner <digit@android.com>2010-07-27 11:34:16 -0700
committerDavid 'Digit' Turner <digit@android.com>2010-07-27 12:25:52 -0700
commit055ae42d36d9d78a7920f66ee2df485d81d24264 (patch)
treea1d84474063ea614199ab6a31602711b88d02175 /framebuffer.h
parent657a3521a1f4d354b57f0e524b1cd57bed177bb0 (diff)
downloadexternal_qemu-055ae42d36d9d78a7920f66ee2df485d81d24264.zip
external_qemu-055ae42d36d9d78a7920f66ee2df485d81d24264.tar.gz
external_qemu-055ae42d36d9d78a7920f66ee2df485d81d24264.tar.bz2
Better separation of UI and Core sources for framebuffer emulation.
+ new document under docs/DISPLAY-STATE.TXT to explain what's happening. Change-Id: Ia0d233377266212da49af932c7528f46f5feb92d
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
*/