G_BEGIN_DECLS
+#define GDK_DISPLAY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GDK_TYPE_DISPLAY, GdkDisplayClass))
+#define GDK_IS_DISPLAY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GDK_TYPE_DISPLAY))
+#define GDK_DISPLAY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GDK_TYPE_DISPLAY, GdkDisplayClass))
+
+
typedef struct _GdkDisplayClass GdkDisplayClass;
/* Tracks information about the keyboard grab on this display */
GdkWindow *native_window;
gulong serial_start;
gulong serial_end; /* exclusive, i.e. not active on serial_end */
- gboolean owner_events;
guint event_mask;
- gboolean implicit;
guint32 time;
GdkGrabOwnership ownership;
guint activated : 1;
guint implicit_ungrab : 1;
+ guint owner_events : 1;
+ guint implicit : 1;
} GdkDeviceGrabInfo;
/* Tracks information about which window and position the pointer last was in.
guint double_click_time; /* Maximum time between clicks in msecs */
GdkDevice *core_pointer; /* Core pointer device */
- const GdkDisplayDeviceHooks *device_hooks; /* Hooks for querying pointer */
-
guint closed : 1; /* Whether this display has been closed */
guint ignore_core_events : 1; /* Don't send core motion and button event */
- guint double_click_distance; /* Maximum distance between clicks in pixels */
-
GHashTable *device_grabs;
GHashTable *motion_hint_info;
+ GdkDeviceManager *device_manager;
GHashTable *pointers_info; /* GdkPointerWindowInfo for each device */
guint32 last_event_time; /* Last reported event time from server */
- GdkDeviceManager *device_manager;
+ guint double_click_distance; /* Maximum distance between clicks in pixels */
};
struct _GdkDisplayClass
GType window_type; /* type for native windows for this display, set in class_init */
- G_CONST_RETURN gchar * (*get_name) (GdkDisplay *display);
+ const gchar * (*get_name) (GdkDisplay *display);
gint (*get_n_screens) (GdkDisplay *display);
GdkScreen * (*get_screen) (GdkDisplay *display,
gint screen_num);
gint y);
GList * (*list_devices) (GdkDisplay *display);
- gboolean (*send_client_message) (GdkDisplay *display,
- GdkEvent *event,
- GdkNativeWindow winid);
- void (*add_client_message_filter) (GdkDisplay *display,
- GdkAtom message_type,
- GdkFilterFunc func,
- gpointer data);
GdkAppLaunchContext * (*get_app_launch_context) (GdkDisplay *display);
- GdkNativeWindow (*get_drag_protocol) (GdkDisplay *display,
- GdkNativeWindow winid,
- GdkDragProtocol *protocol,
- guint *version);
void (*before_process_all_updates) (GdkDisplay *display);
void (*after_process_all_updates) (GdkDisplay *display);
guint32 time,
gboolean send_event);
void (*send_selection_notify) (GdkDisplay *dispay,
- GdkNativeWindow requestor,
+ GdkWindow *requestor,
GdkAtom selection,
GdkAtom target,
GdkAtom property,