/* 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__
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
/* 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,
gint width,
gint height);
+/* GC caching */
+GdkGC *_gdk_drawable_get_scratch_gc (GdkDrawable *drawable,
+ gboolean graphics_exposures);
+
/*************************************
* Interfaces used by windowing code *
*************************************/
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 *
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);
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)
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;
* 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 */