]> Pileus Git - ~andy/gtk/blobdiff - gdk/gdkdisplayprivate.h
Updated Spanish translation
[~andy/gtk] / gdk / gdkdisplayprivate.h
index 4772041e056997fbff554884d2ee223f16c85638..2c7b511cc13224c4ac208f7e56fb8d548ddc07e2 100644 (file)
 #define __GDK_DISPLAY_PRIVATE_H__
 
 #include "gdkdisplay.h"
+#include "gdkwindow.h"
 #include "gdkcursor.h"
 
 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 */
@@ -44,14 +50,14 @@ typedef struct
   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.
@@ -94,27 +100,26 @@ struct _GdkDisplay
   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
 {
   GObjectClass parent_class;
 
-  G_CONST_RETURN gchar *     (*get_name)           (GdkDisplay *display);
+  GType window_type;          /* type for native windows for this display, set in class_init */
+
+  const gchar *              (*get_name)           (GdkDisplay *display);
   gint                       (*get_n_screens)      (GdkDisplay *display);
   GdkScreen *                (*get_screen)         (GdkDisplay *display,
                                                     gint        screen_num);
@@ -157,24 +162,66 @@ struct _GdkDisplayClass
                                                          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);
 
   gulong                     (*get_next_serial) (GdkDisplay *display);
 
+  void                       (*notify_startup_complete) (GdkDisplay  *display,
+                                                         const gchar *startup_id);
+  void                       (*event_data_copy) (GdkDisplay     *display,
+                                                 const GdkEvent *event,
+                                                 GdkEvent       *new_event);
+  void                       (*event_data_free) (GdkDisplay     *display,
+                                                 GdkEvent       *event);
+  void                       (*create_window_impl) (GdkDisplay    *display,
+                                                    GdkWindow     *window,
+                                                    GdkWindow     *real_parent,
+                                                    GdkScreen     *screen,
+                                                    GdkEventMask   event_mask,
+                                                    GdkWindowAttr *attributes,
+                                                    gint           attributes_mask);
+
+  GdkKeymap *                (*get_keymap)         (GdkDisplay    *display);
+  void                       (*push_error_trap)    (GdkDisplay    *display);
+  gint                       (*pop_error_trap)     (GdkDisplay    *display,
+                                                    gboolean       ignore);
+
+  GdkWindow *                (*get_selection_owner) (GdkDisplay   *display,
+                                                     GdkAtom       selection);
+  gboolean                   (*set_selection_owner) (GdkDisplay   *display,
+                                                     GdkWindow    *owner,
+                                                     GdkAtom       selection,
+                                                     guint32       time,
+                                                     gboolean      send_event);
+  void                       (*send_selection_notify) (GdkDisplay *dispay,
+                                                       GdkWindow        *requestor,
+                                                       GdkAtom          selection,
+                                                       GdkAtom          target,
+                                                       GdkAtom          property,
+                                                       guint32          time);
+  gint                       (*get_selection_property) (GdkDisplay  *display,
+                                                        GdkWindow   *requestor,
+                                                        guchar     **data,
+                                                        GdkAtom     *type,
+                                                        gint        *format);
+  void                       (*convert_selection)      (GdkDisplay  *display,
+                                                        GdkWindow   *requestor,
+                                                        GdkAtom      selection,
+                                                        GdkAtom      target,
+                                                        guint32      time);
+
+  gint                   (*text_property_to_utf8_list) (GdkDisplay     *display,
+                                                        GdkAtom         encoding,
+                                                        gint            format,
+                                                        const guchar   *text,
+                                                        gint            length,
+                                                        gchar        ***list);
+  gchar *                (*utf8_to_string_target)      (GdkDisplay     *display,
+                                                        const gchar    *text);
+
   /* Signals */
   void (*closed) (GdkDisplay *display,
                   gboolean    is_error);
@@ -221,6 +268,19 @@ void                _gdk_display_pointer_info_foreach (GdkDisplay       *display
                                                        GdkDisplayPointerInfoForeach func,
                                                        gpointer          user_data);
 gulong              _gdk_display_get_next_serial      (GdkDisplay       *display);
+void                _gdk_display_event_data_copy      (GdkDisplay       *display,
+                                                       const GdkEvent   *event,
+                                                       GdkEvent         *new_event);
+void                _gdk_display_event_data_free      (GdkDisplay       *display,
+                                                       GdkEvent         *event);
+void                _gdk_display_create_window_impl   (GdkDisplay       *display,
+                                                       GdkWindow        *window,
+                                                       GdkWindow        *real_parent,
+                                                       GdkScreen        *screen,
+                                                       GdkEventMask      event_mask,
+                                                       GdkWindowAttr    *attributes,
+                                                       gint              attributes_mask);
+GdkWindow *         _gdk_display_create_window        (GdkDisplay       *display);
 
 G_END_DECLS