summaryrefslogtreecommitdiff
path: root/gdk/mir/gdkmir-private.h
diff options
context:
space:
mode:
Diffstat (limited to 'gdk/mir/gdkmir-private.h')
-rw-r--r--gdk/mir/gdkmir-private.h49
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__ */