diff options
Diffstat (limited to 'gdk/mir/gdkmir-private.h')
-rw-r--r-- | gdk/mir/gdkmir-private.h | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/gdk/mir/gdkmir-private.h b/gdk/mir/gdkmir-private.h index 95a5af680a..8309edfe2a 100644 --- a/gdk/mir/gdkmir-private.h +++ b/gdk/mir/gdkmir-private.h @@ -36,12 +36,51 @@ #include "config.h" +#include "gdkmir.h" #include "gdkdisplay.h" #include "gdkscreen.h" #include "gdkdevicemanager.h" #include "gdkkeys.h" #include "gdkwindowimpl.h" +typedef struct _GdkMirWindowImpl GdkMirWindowImpl; +typedef struct _GdkMirWindowReference GdkMirWindowReference; +typedef struct _GdkMirEventSource GdkMirEventSource; + +#define GDK_TYPE_MIR_WINDOW_IMPL (gdk_mir_window_impl_get_type ()) +#define GDK_MIR_WINDOW_IMPL(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), GDK_TYPE_WINDOW_IMPL_MIR, GdkMirWindowImpl)) +#define GDK_IS_WINDOW_IMPL_MIR(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), GDK_TYPE_WINDOW_IMPL_MIR)) + +struct _GdkMirWindowImpl +{ + GdkWindowImpl parent_instance; + + /* Desired surface attributes */ + MirSurfaceType surface_type; // FIXME + MirSurfaceState surface_state; + + /* Pattern for background */ + cairo_pattern_t *background; + + /* Current button state for checking which buttons are being pressed / released */ + gdouble x; + gdouble y; + MirMotionButton button_state; + + /* Surface being rendered to (only exists when window visible) */ + MirSurface *surface; + + /* Cairo context for current frame */ + cairo_surface_t *cairo_surface; + + /* TRUE if the window can be seen */ + gboolean visible; + + /* TRUE if cursor is inside this window */ + gboolean cursor_inside; +}; + + GdkDisplay *_gdk_mir_display_open (const gchar *display_name); GdkScreen *_gdk_mir_screen_new (GdkDisplay *display); @@ -62,4 +101,14 @@ GdkCursor *_gdk_mir_cursor_new (GdkDisplay *display, GdkCursorType type); GdkWindowImpl *_gdk_mir_window_impl_new (void); +GdkMirEventSource *_gdk_mir_display_get_event_source (GdkDisplay *display); + +GdkMirEventSource *_gdk_mir_event_source_new (GdkDisplay *display); + +GdkMirWindowReference *_gdk_mir_event_source_get_window_reference (GdkWindow *window); + +void _gdk_mir_window_reference_unref (GdkMirWindowReference *ref); + +void _gdk_mir_event_source_queue (GdkMirWindowReference *window_ref, const MirEvent *event); + #endif /* __GDK_PRIVATE_MIR_H__ */ |