X-Git-Url: http://pileus.org/git/?a=blobdiff_plain;f=gdk%2Fgdkinternals.h;h=6f4c5394243862a6546d2952b813263065a45231;hb=985e3a24a3ed44a1c83acc3dd6a4f643e2dba723;hp=327d56560d16d529c5313247f75928839dfb02ec;hpb=d12c9702a4428cdf83e6d0dc37b0b9e69fb19f80;p=~andy%2Fgtk diff --git a/gdk/gdkinternals.h b/gdk/gdkinternals.h index 327d56560..6f4c53942 100644 --- a/gdk/gdkinternals.h +++ b/gdk/gdkinternals.h @@ -27,6 +27,7 @@ /* Uninstalled header defining types and functions internal to GDK */ #include +#include #include #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 */