]> Pileus Git - ~andy/gtk/blobdiff - gdk/gdkinternals.h
some more settings from system, also reflect some name changes done a
[~andy/gtk] / gdk / gdkinternals.h
index 327d56560d16d529c5313247f75928839dfb02ec..6f4c5394243862a6546d2952b813263065a45231 100644 (file)
@@ -27,6 +27,7 @@
 /* Uninstalled header defining types and functions internal to GDK */
 
 #include <gdk/gdktypes.h>
+#include <gdk/gdkwindow.h>
 #include <gdk/gdkprivate.h>
 
 #ifndef __GDK_INTERNALS_H__
@@ -69,6 +70,15 @@ typedef enum {
   GDK_DEBUG_DND           = 1 << 2,
   GDK_DEBUG_XIM           = 1 << 3,
   GDK_DEBUG_NOGRABS       = 1 << 4,
+  GDK_DEBUG_COLORMAP     = 1 << 5,
+  GDK_DEBUG_GDKRGB       = 1 << 6,
+  GDK_DEBUG_GC           = 1 << 7,
+  GDK_DEBUG_PIXMAP       = 1 << 8,
+  GDK_DEBUG_IMAGE        = 1 << 9,
+  GDK_DEBUG_INPUT        = 1 <<10,
+  GDK_DEBUG_CURSOR       = 1 <<11,
+  GDK_DEBUG_MULTIHEAD    = 1 <<12,
+  GDK_DEBUG_XINERAMA     = 1 <<13
 } GdkDebugFlag;
 
 #ifndef GDK_DISABLE_DEPRECATED
@@ -134,58 +144,63 @@ struct _GdkArgDesc
 
 /* Event handling */
 
+typedef struct _GdkEventPrivate GdkEventPrivate;
+
+typedef enum
+{
+  /* Following flag is set for events on the event queue during
+   * translation and cleared afterwards.
+   */
+  GDK_EVENT_PENDING = 1 << 0
+} GdkEventFlags;
+
+struct _GdkEventPrivate
+{
+  GdkEvent   event;
+  guint      flags;
+  GdkScreen *screen;
+};
+
 extern GdkEventFunc   _gdk_event_func;    /* Callback for events */
 extern gpointer       _gdk_event_data;
 extern GDestroyNotify _gdk_event_notify;
 
-/* FIFO's for event queue, and for events put back using
- * gdk_event_put().
- */
-extern GList *_gdk_queued_events;
-extern GList *_gdk_queued_tail;
-
-extern GdkDevice *_gdk_core_pointer;
-
-GdkEvent* _gdk_event_new (void);
+extern GSList    *_gdk_displays;
+extern gchar     *_gdk_display_name;
+extern gint       _gdk_screen_number;
+extern gchar     *_gdk_display_arg_name;
 
-void      _gdk_events_init   (void);
-void      _gdk_events_queue  (void);
-GdkEvent* _gdk_event_unqueue (void);
+void      _gdk_events_queue  (GdkDisplay *display);
+GdkEvent* _gdk_event_unqueue (GdkDisplay *display);
 
-GList* _gdk_event_queue_find_first  (void);
-void   _gdk_event_queue_remove_link (GList    *node);
-void   _gdk_event_queue_append      (GdkEvent *event);
+GList* _gdk_event_queue_find_first  (GdkDisplay *display);
+void   _gdk_event_queue_remove_link (GdkDisplay *display,
+                                    GList      *node);
+GList*  _gdk_event_queue_append     (GdkDisplay *display,
+                                    GdkEvent   *event);
+void _gdk_event_button_generate     (GdkDisplay *display,
+                                    GdkEvent   *event);
 
-void _gdk_event_button_generate (GdkEvent *event);
+void gdk_synthesize_window_state (GdkWindow     *window,
+                                  GdkWindowState unset_flags,
+                                  GdkWindowState set_flags);
 
 #define GDK_SCRATCH_IMAGE_WIDTH 256
 #define GDK_SCRATCH_IMAGE_HEIGHT 64
 
-GdkImage* _gdk_image_new_for_depth (GdkImageType  type,
+GdkImage* _gdk_image_new_for_depth (GdkScreen    *screen,
+                                   GdkImageType  type,
                                    GdkVisual    *visual,
                                    gint          width,
                                    gint          height,
                                    gint          depth);
-GdkImage *_gdk_image_get_scratch (gint  width,
-                                 gint  height,
-                                 gint  depth,
-                                 gint *x,
-                                 gint *y);
+GdkImage *_gdk_image_get_scratch (GdkScreen *screen,
+                                 gint       width,
+                                 gint       height,
+                                 gint       depth,
+                                 gint      *x,
+                                 gint      *y);
 
-/* Will most likely be exported in the future
- */
-void _gdk_draw_pixbuf            (GdkDrawable  *drawable,
-                                 GdkGC        *gc,
-                                 GdkPixbuf    *pixbuf,
-                                 gint          src_x,
-                                 gint          src_y,
-                                 gint          dest_x,
-                                 gint          dest_y,
-                                 gint          width,
-                                 gint          height,
-                                 GdkRgbDither  dither,
-                                 gint          x_dither,
-                                 gint          y_dither);
 GdkImage *_gdk_drawable_copy_to_image (GdkDrawable  *drawable,
                                       GdkImage     *image,
                                       gint          src_x,
@@ -195,6 +210,10 @@ GdkImage *_gdk_drawable_copy_to_image (GdkDrawable  *drawable,
                                       gint          width,
                                       gint          height);
 
+/* GC caching */
+GdkGC *_gdk_drawable_get_scratch_gc (GdkDrawable *drawable,
+                                    gboolean     graphics_exposures);
+
 /*************************************
  * Interfaces used by windowing code *
  *************************************/
@@ -202,7 +221,10 @@ GdkImage *_gdk_drawable_copy_to_image (GdkDrawable  *drawable,
 void       _gdk_window_destroy           (GdkWindow   *window,
                                          gboolean     foreign_destroy);
 void       _gdk_window_clear_update_area (GdkWindow   *window);
-      
+
+void       _gdk_screen_close             (GdkScreen   *screen);
+
+const char *_gdk_get_sm_client_id (void);
 
 /*****************************************
  * Interfaces provided by windowing code *
@@ -217,8 +239,13 @@ void _gdk_colormap_real_destroy (GdkColormap *colormap);
 void _gdk_cursor_destroy (GdkCursor *cursor);
 
 extern GdkArgDesc _gdk_windowing_args[];
-gboolean _gdk_windowing_init_check              (int         argc,
-                                                char      **argv);
+void     _gdk_windowing_init                    (gint       *argc,
+                                                 gchar    ***argv);
+void     _gdk_windowing_set_default_display     (GdkDisplay *display);
+
+gchar *_gdk_windowing_substitute_screen_number (const gchar *display_name,
+                                               gint         screen_number);
+
 void     _gdk_windowing_window_get_offsets      (GdkWindow  *window,
                                                 gint       *x_offset,
                                                 gint       *y_offset);
@@ -233,18 +260,23 @@ void     _gdk_windowing_window_clear_area_e     (GdkWindow  *window,
                                                 gint        width,
                                                 gint        height);
 
-GdkWindow* _gdk_windowing_window_at_pointer  (GdkScreen       *screen,
-                                              gint            *win_x,
-                                             gint            *win_y);
-GdkWindow* _gdk_windowing_window_get_pointer (GdkWindow       *window,
-                                             gint            *x,
-                                             gint            *y,
-                                             GdkModifierType *mask);
-
-/* Return the number of bits-per-pixel for images of the specified depth.
- * (Future: needs to be GdkDiplay specific.)
- */
-gint _gdk_windowing_get_bits_for_depth (gint depth);
+void       _gdk_windowing_get_pointer        (GdkDisplay       *display,
+                                             GdkScreen       **screen,
+                                             gint             *x,
+                                             gint             *y,
+                                             GdkModifierType  *mask);
+GdkWindow* _gdk_windowing_window_get_pointer (GdkDisplay       *display,
+                                             GdkWindow        *window,
+                                             gint             *x,
+                                             gint             *y,
+                                             GdkModifierType  *mask);
+GdkWindow* _gdk_windowing_window_at_pointer  (GdkDisplay       *display,
+                                             gint             *win_x,
+                                             gint             *win_y);
+
+/* Return the number of bits-per-pixel for images of the specified depth. */
+gint _gdk_windowing_get_bits_for_depth (GdkDisplay *display,
+                                       gint        depth);
 
 #define GDK_WINDOW_IS_MAPPED(window) ((((GdkWindowObject*)window)->state & GDK_WINDOW_STATE_WITHDRAWN) == 0)
 
@@ -274,6 +306,9 @@ void _gdk_windowing_window_destroy (GdkWindow *window,
                                    gboolean   recursing,
                                    gboolean   foreign_destroy);
 
+void _gdk_windowing_display_set_sm_client_id (GdkDisplay  *display,
+                                             const gchar *sm_client_id);
+
 /* Implementation types */
 GType _gdk_window_impl_get_type (void) G_GNUC_CONST;
 GType _gdk_pixmap_impl_get_type (void) G_GNUC_CONST;
@@ -282,18 +317,12 @@ GType _gdk_pixmap_impl_get_type (void) G_GNUC_CONST;
  * Initialization and exit routines *
  ************************************/
 
-void _gdk_windowing_window_init (void);
-void _gdk_visual_init (void);
-void _gdk_dnd_init    (void);
-
-void _gdk_windowing_image_init  (void);
 void _gdk_image_exit  (void);
-
-void _gdk_input_init  (void);
-void _gdk_input_exit  (void);
-
 void _gdk_windowing_exit (void);
 
+void _gdk_get_command_line_args (int    *argc,
+                                char ***argv);
+
 #ifdef __cplusplus
 }
 #endif /* __cplusplus */