X-Git-Url: http://pileus.org/git/?a=blobdiff_plain;f=gdk%2Fgdkdisplay.h;h=86e0735088d12e6c36e8c09adb2c2e4c277503e5;hb=9d0febc9a64a5bfb0fcfc3a88de4757f6c1ff090;hp=eb7265b16db6255407f4953794fa4a8e1bcbe041;hpb=1abf7df6be75d0f9a1c7277f46248eb87d46bf69;p=~andy%2Fgtk diff --git a/gdk/gdkdisplay.h b/gdk/gdkdisplay.h index eb7265b16..86e073508 100644 --- a/gdk/gdkdisplay.h +++ b/gdk/gdkdisplay.h @@ -1,7 +1,7 @@ /* * gdkdisplay.h - * - * Copyright 2001 Sun Microsystems Inc. + * + * Copyright 2001 Sun Microsystems Inc. * * Erwann Chenede * @@ -16,101 +16,126 @@ * Library General Public License for more details. * * You should have received a copy of the GNU Library General Public - * License along with this library; if not, write to the - * Free Software Foundation, Inc., 59 Temple Place - Suite 330, - * Boston, MA 02111-1307, USA. + * License along with this library. If not, see . */ +#if !defined (__GDK_H_INSIDE__) && !defined (GDK_COMPILATION) +#error "Only can be included directly." +#endif + #ifndef __GDK_DISPLAY_H__ #define __GDK_DISPLAY_H__ +#include #include #include -#include +#include G_BEGIN_DECLS -typedef struct _GdkDisplayClass GdkDisplayClass; - #define GDK_TYPE_DISPLAY (gdk_display_get_type ()) -#define GDK_DISPLAY_OBJECT(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), GDK_TYPE_DISPLAY, GdkDisplay)) -#define GDK_DISPLAY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GDK_TYPE_DISPLAY, GdkDisplayClass)) +#define GDK_DISPLAY(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), GDK_TYPE_DISPLAY, GdkDisplay)) #define GDK_IS_DISPLAY(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), GDK_TYPE_DISPLAY)) -#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)) - - -struct _GdkDisplay -{ - GObject parent_instance; - - /*< private >*/ - GList *queued_events; - GList *queued_tail; - - /* Information for determining if the latest button click - * is part of a double-click or triple-click - */ - guint32 button_click_time[2]; /* The last 2 button click times. */ - GdkWindow *button_window[2]; /* The last 2 windows to receive button presses. */ - guint button_number[2]; /* The last 2 buttons to be pressed. */ - - GdkDevice *core_pointer; /* Core pointer device */ - - guint double_click_time; /* Maximum time between clicks in msecs */ -}; +#ifndef GDK_DISABLE_DEPRECATED +#define GDK_DISPLAY_OBJECT(object) GDK_DISPLAY(object) +#endif -struct _GdkDisplayClass -{ - GObjectClass parent_class; - - G_CONST_RETURN gchar * (*get_display_name) (GdkDisplay *display); - gint (*get_n_screens) (GdkDisplay *display); - GdkScreen * (*get_screen) (GdkDisplay *display, - gint screen_num); - GdkScreen * (*get_default_screen) (GdkDisplay *display); -}; +GType gdk_display_get_type (void) G_GNUC_CONST; +GdkDisplay *gdk_display_open (const gchar *display_name); -GType gdk_display_get_type (void); -GdkDisplay *gdk_open_display (const gchar *display_name); - -G_CONST_RETURN gchar * gdk_display_get_name (GdkDisplay *display); +const gchar * gdk_display_get_name (GdkDisplay *display); gint gdk_display_get_n_screens (GdkDisplay *display); GdkScreen * gdk_display_get_screen (GdkDisplay *display, - gint screen_num); + gint screen_num); GdkScreen * gdk_display_get_default_screen (GdkDisplay *display); + +#ifndef GDK_MULTIDEVICE_SAFE +GDK_DEPRECATED_IN_3_0_FOR(gdk_device_ungrab) void gdk_display_pointer_ungrab (GdkDisplay *display, - guint32 time); + guint32 time_); +GDK_DEPRECATED_IN_3_0_FOR(gdk_device_ungrab) void gdk_display_keyboard_ungrab (GdkDisplay *display, - guint32 time); + guint32 time_); +GDK_DEPRECATED_IN_3_0_FOR(gdk_display_device_is_grabbed) gboolean gdk_display_pointer_is_grabbed (GdkDisplay *display); +#endif /* GDK_MULTIDEVICE_SAFE */ + +gboolean gdk_display_device_is_grabbed (GdkDisplay *display, + GdkDevice *device); void gdk_display_beep (GdkDisplay *display); void gdk_display_sync (GdkDisplay *display); -void gdk_display_close (GdkDisplay *display); - -GList * gdk_display_list_devices (GdkDisplay *display); - -GdkEvent* gdk_display_get_event (GdkDisplay *display); -GdkEvent* gdk_display_peek_event (GdkDisplay *display); -void gdk_display_put_event (GdkDisplay *display, - GdkEvent *event); +void gdk_display_flush (GdkDisplay *display); -void gdk_display_add_client_message_filter (GdkDisplay *display, - GdkAtom message_type, - GdkFilterFunc func, - gpointer data); +void gdk_display_close (GdkDisplay *display); +gboolean gdk_display_is_closed (GdkDisplay *display); -void gdk_display_set_double_click_time (GdkDisplay *display, - guint msec); -void gdk_display_set_sm_client_id (GdkDisplay *display, - const gchar *sm_client_id); - -void gdk_set_default_display (GdkDisplay *display); -GdkDisplay *gdk_get_default_display (void); +GDK_DEPRECATED_IN_3_0_FOR(gdk_device_manager_list_devices) +GList * gdk_display_list_devices (GdkDisplay *display); -GdkDevice *gdk_display_get_core_pointer (GdkDisplay *display); +GdkEvent* gdk_display_get_event (GdkDisplay *display); +GdkEvent* gdk_display_peek_event (GdkDisplay *display); +void gdk_display_put_event (GdkDisplay *display, + const GdkEvent *event); +gboolean gdk_display_has_pending (GdkDisplay *display); + +void gdk_display_set_double_click_time (GdkDisplay *display, + guint msec); +void gdk_display_set_double_click_distance (GdkDisplay *display, + guint distance); + +GdkDisplay *gdk_display_get_default (void); + +#ifndef GDK_MULTIDEVICE_SAFE +GDK_DEPRECATED_IN_3_0_FOR(gdk_device_get_position) +void gdk_display_get_pointer (GdkDisplay *display, + GdkScreen **screen, + gint *x, + gint *y, + GdkModifierType *mask); +GDK_DEPRECATED_IN_3_0_FOR(gdk_device_get_window_at_position) +GdkWindow * gdk_display_get_window_at_pointer (GdkDisplay *display, + gint *win_x, + gint *win_y); +GDK_DEPRECATED_IN_3_0_FOR(gdk_device_warp) +void gdk_display_warp_pointer (GdkDisplay *display, + GdkScreen *screen, + gint x, + gint y); +#endif /* GDK_MULTIDEVICE_SAFE */ + +GdkDisplay *gdk_display_open_default_libgtk_only (void); + +gboolean gdk_display_supports_cursor_alpha (GdkDisplay *display); +gboolean gdk_display_supports_cursor_color (GdkDisplay *display); +guint gdk_display_get_default_cursor_size (GdkDisplay *display); +void gdk_display_get_maximal_cursor_size (GdkDisplay *display, + guint *width, + guint *height); + +GdkWindow *gdk_display_get_default_group (GdkDisplay *display); + +gboolean gdk_display_supports_selection_notification (GdkDisplay *display); +gboolean gdk_display_request_selection_notification (GdkDisplay *display, + GdkAtom selection); + +gboolean gdk_display_supports_clipboard_persistence (GdkDisplay *display); +void gdk_display_store_clipboard (GdkDisplay *display, + GdkWindow *clipboard_window, + guint32 time_, + const GdkAtom *targets, + gint n_targets); + +gboolean gdk_display_supports_shapes (GdkDisplay *display); +gboolean gdk_display_supports_input_shapes (GdkDisplay *display); +gboolean gdk_display_supports_composite (GdkDisplay *display); +void gdk_display_notify_startup_complete (GdkDisplay *display, + const gchar *startup_id); + +GdkDeviceManager * gdk_display_get_device_manager (GdkDisplay *display); + +GdkAppLaunchContext *gdk_display_get_app_launch_context (GdkDisplay *display); G_END_DECLS -#endif /* __GDK_DISPLAY_H__ */ +#endif /* __GDK_DISPLAY_H__ */