Rename GdkDevice[Manager]Core to GdkX11Device[Manager]Core
This is mainly to avoid clash with the classes of the same name in the quartz backend.
This commit is contained in:
		| @ -23,10 +23,8 @@ libgdk_x11_la_SOURCES = 	\ | ||||
| 	gdkasync.c		\ | ||||
| 	gdkasync.h		\ | ||||
| 	gdkcursor-x11.c		\ | ||||
| 	gdkdevice-core.h	\ | ||||
| 	gdkdevice-core.c	\ | ||||
| 	gdkdevicemanager-core.h	\ | ||||
| 	gdkdevicemanager-core.c	\ | ||||
| 	gdkdevice-core-x11.c	\ | ||||
| 	gdkdevicemanager-core-x11.c \ | ||||
| 	gdkdevicemanager-x11.c	\ | ||||
| 	gdkdisplaymanager-x11.c	\ | ||||
| 	gdkdisplay-x11.c	\ | ||||
| @ -77,6 +75,8 @@ libgdkinclude_HEADERS = 	\ | ||||
|  | ||||
| libgdkx11include_HEADERS = 	\ | ||||
| 	gdkx11cursor.h		\ | ||||
| 	gdkx11device-core.h	\ | ||||
| 	gdkx11devicemanager-core.h \ | ||||
| 	gdkx11display.h		\ | ||||
| 	gdkx11displaymanager.h	\ | ||||
| 	gdkx11keys.h		\ | ||||
|  | ||||
| @ -19,78 +19,77 @@ | ||||
| 
 | ||||
| #include "config.h" | ||||
| 
 | ||||
| #include "gdkdevice-core.h" | ||||
| #include "gdkx11device-core.h" | ||||
| 
 | ||||
| #include "gdkinternals.h" | ||||
| #include "gdkwindow.h" | ||||
| #include "gdkprivate-x11.h" | ||||
| #include "gdkasync.h" | ||||
| 
 | ||||
| static gboolean gdk_device_core_get_history (GdkDevice      *device, | ||||
|                                              GdkWindow      *window, | ||||
|                                              guint32         start, | ||||
|                                              guint32         stop, | ||||
|                                              GdkTimeCoord ***events, | ||||
|                                              gint           *n_events); | ||||
| static void gdk_device_core_get_state (GdkDevice       *device, | ||||
|                                        GdkWindow       *window, | ||||
|                                        gdouble         *axes, | ||||
|                                        GdkModifierType *mask); | ||||
| static void gdk_device_core_set_window_cursor (GdkDevice *device, | ||||
|                                                GdkWindow *window, | ||||
|                                                GdkCursor *cursor); | ||||
| static void gdk_device_core_warp (GdkDevice *device, | ||||
|                                   GdkScreen *screen, | ||||
|                                   gint       x, | ||||
|                                   gint       y); | ||||
| static gboolean gdk_device_core_query_state (GdkDevice        *device, | ||||
|                                              GdkWindow        *window, | ||||
|                                              GdkWindow       **root_window, | ||||
|                                              GdkWindow       **child_window, | ||||
|                                              gint             *root_x, | ||||
|                                              gint             *root_y, | ||||
|                                              gint             *win_x, | ||||
|                                              gint             *win_y, | ||||
|                                              GdkModifierType  *mask); | ||||
| static GdkGrabStatus gdk_device_core_grab   (GdkDevice     *device, | ||||
|                                              GdkWindow     *window, | ||||
|                                              gboolean       owner_events, | ||||
|                                              GdkEventMask   event_mask, | ||||
|                                              GdkWindow     *confine_to, | ||||
|                                              GdkCursor     *cursor, | ||||
|                                              guint32        time_); | ||||
| static void          gdk_device_core_ungrab (GdkDevice     *device, | ||||
|                                              guint32        time_); | ||||
| static GdkWindow * gdk_device_core_window_at_position (GdkDevice       *device, | ||||
|                                                        gint            *win_x, | ||||
|                                                        gint            *win_y, | ||||
|                                                        GdkModifierType *mask, | ||||
|                                                        gboolean         get_toplevel); | ||||
| static void      gdk_device_core_select_window_events (GdkDevice       *device, | ||||
|                                                        GdkWindow       *window, | ||||
|                                                        GdkEventMask     event_mask); | ||||
| static gboolean gdk_x11_device_core_get_history (GdkDevice       *device, | ||||
|                                                  GdkWindow       *window, | ||||
|                                                  guint32          start, | ||||
|                                                  guint32          stop, | ||||
|                                                  GdkTimeCoord  ***events, | ||||
|                                                  gint            *n_events); | ||||
| static void     gdk_x11_device_core_get_state   (GdkDevice       *device, | ||||
|                                                  GdkWindow       *window, | ||||
|                                                  gdouble         *axes, | ||||
|                                                  GdkModifierType *mask); | ||||
| static void     gdk_x11_device_core_set_window_cursor (GdkDevice *device, | ||||
|                                                        GdkWindow *window, | ||||
|                                                        GdkCursor *cursor); | ||||
| static void     gdk_x11_device_core_warp (GdkDevice *device, | ||||
|                                           GdkScreen *screen, | ||||
|                                           gint       x, | ||||
|                                           gint       y); | ||||
| static gboolean gdk_x11_device_core_query_state (GdkDevice        *device, | ||||
|                                                  GdkWindow        *window, | ||||
|                                                  GdkWindow       **root_window, | ||||
|                                                  GdkWindow       **child_window, | ||||
|                                                  gint             *root_x, | ||||
|                                                  gint             *root_y, | ||||
|                                                  gint             *win_x, | ||||
|                                                  gint             *win_y, | ||||
|                                                  GdkModifierType  *mask); | ||||
| static GdkGrabStatus gdk_x11_device_core_grab   (GdkDevice     *device, | ||||
|                                                  GdkWindow     *window, | ||||
|                                                  gboolean       owner_events, | ||||
|                                                  GdkEventMask   event_mask, | ||||
|                                                  GdkWindow     *confine_to, | ||||
|                                                  GdkCursor     *cursor, | ||||
|                                                  guint32        time_); | ||||
| static void          gdk_x11_device_core_ungrab (GdkDevice     *device, | ||||
|                                                  guint32        time_); | ||||
| static GdkWindow * gdk_x11_device_core_window_at_position (GdkDevice       *device, | ||||
|                                                            gint            *win_x, | ||||
|                                                            gint            *win_y, | ||||
|                                                            GdkModifierType *mask, | ||||
|                                                            gboolean         get_toplevel); | ||||
| static void      gdk_x11_device_core_select_window_events (GdkDevice       *device, | ||||
|                                                            GdkWindow       *window, | ||||
|                                                            GdkEventMask     event_mask); | ||||
| 
 | ||||
| 
 | ||||
| G_DEFINE_TYPE (GdkDeviceCore, gdk_device_core, GDK_TYPE_DEVICE) | ||||
| G_DEFINE_TYPE (GdkX11DeviceCore, gdk_x11_device_core, GDK_TYPE_DEVICE) | ||||
| 
 | ||||
| static void | ||||
| gdk_device_core_class_init (GdkDeviceCoreClass *klass) | ||||
| gdk_x11_device_core_class_init (GdkX11DeviceCoreClass *klass) | ||||
| { | ||||
|   GdkDeviceClass *device_class = GDK_DEVICE_CLASS (klass); | ||||
| 
 | ||||
|   device_class->get_history = gdk_device_core_get_history; | ||||
|   device_class->get_state = gdk_device_core_get_state; | ||||
|   device_class->set_window_cursor = gdk_device_core_set_window_cursor; | ||||
|   device_class->warp = gdk_device_core_warp; | ||||
|   device_class->query_state = gdk_device_core_query_state; | ||||
|   device_class->grab = gdk_device_core_grab; | ||||
|   device_class->ungrab = gdk_device_core_ungrab; | ||||
|   device_class->window_at_position = gdk_device_core_window_at_position; | ||||
|   device_class->select_window_events = gdk_device_core_select_window_events; | ||||
|   device_class->get_history = gdk_x11_device_core_get_history; | ||||
|   device_class->get_state = gdk_x11_device_core_get_state; | ||||
|   device_class->set_window_cursor = gdk_x11_device_core_set_window_cursor; | ||||
|   device_class->warp = gdk_x11_device_core_warp; | ||||
|   device_class->query_state = gdk_x11_device_core_query_state; | ||||
|   device_class->grab = gdk_x11_device_core_grab; | ||||
|   device_class->ungrab = gdk_x11_device_core_ungrab; | ||||
|   device_class->window_at_position = gdk_x11_device_core_window_at_position; | ||||
|   device_class->select_window_events = gdk_x11_device_core_select_window_events; | ||||
| } | ||||
| 
 | ||||
| static void | ||||
| gdk_device_core_init (GdkDeviceCore *device_core) | ||||
| gdk_x11_device_core_init (GdkX11DeviceCore *device_core) | ||||
| { | ||||
|   GdkDevice *device; | ||||
| 
 | ||||
| @ -117,12 +116,12 @@ impl_coord_in_window (GdkWindow *window, | ||||
| } | ||||
| 
 | ||||
| static gboolean | ||||
| gdk_device_core_get_history (GdkDevice      *device, | ||||
|                              GdkWindow      *window, | ||||
|                              guint32         start, | ||||
|                              guint32         stop, | ||||
|                              GdkTimeCoord ***events, | ||||
|                              gint           *n_events) | ||||
| gdk_x11_device_core_get_history (GdkDevice      *device, | ||||
|                                  GdkWindow      *window, | ||||
|                                  guint32         start, | ||||
|                                  guint32         stop, | ||||
|                                  GdkTimeCoord ***events, | ||||
|                                  gint           *n_events) | ||||
| { | ||||
|   XTimeCoord *xcoords; | ||||
|   GdkTimeCoord **coords; | ||||
| @ -179,10 +178,10 @@ gdk_device_core_get_history (GdkDevice      *device, | ||||
| } | ||||
| 
 | ||||
| static void | ||||
| gdk_device_core_get_state (GdkDevice       *device, | ||||
|                            GdkWindow       *window, | ||||
|                            gdouble         *axes, | ||||
|                            GdkModifierType *mask) | ||||
| gdk_x11_device_core_get_state (GdkDevice       *device, | ||||
|                                GdkWindow       *window, | ||||
|                                gdouble         *axes, | ||||
|                                GdkModifierType *mask) | ||||
| { | ||||
|   gint x_int, y_int; | ||||
| 
 | ||||
| @ -196,9 +195,9 @@ gdk_device_core_get_state (GdkDevice       *device, | ||||
| } | ||||
| 
 | ||||
| static void | ||||
| gdk_device_core_set_window_cursor (GdkDevice *device, | ||||
|                                    GdkWindow *window, | ||||
|                                    GdkCursor *cursor) | ||||
| gdk_x11_device_core_set_window_cursor (GdkDevice *device, | ||||
|                                        GdkWindow *window, | ||||
|                                        GdkCursor *cursor) | ||||
| { | ||||
|   Cursor xcursor; | ||||
| 
 | ||||
| @ -213,10 +212,10 @@ gdk_device_core_set_window_cursor (GdkDevice *device, | ||||
| } | ||||
| 
 | ||||
| static void | ||||
| gdk_device_core_warp (GdkDevice *device, | ||||
|                       GdkScreen *screen, | ||||
|                       gint       x, | ||||
|                       gint       y) | ||||
| gdk_x11_device_core_warp (GdkDevice *device, | ||||
|                           GdkScreen *screen, | ||||
|                           gint       x, | ||||
|                           gint       y) | ||||
| { | ||||
|   Display *xdisplay; | ||||
|   Window dest; | ||||
| @ -228,15 +227,15 @@ gdk_device_core_warp (GdkDevice *device, | ||||
| } | ||||
| 
 | ||||
| static gboolean | ||||
| gdk_device_core_query_state (GdkDevice        *device, | ||||
|                              GdkWindow        *window, | ||||
|                              GdkWindow       **root_window, | ||||
|                              GdkWindow       **child_window, | ||||
|                              gint             *root_x, | ||||
|                              gint             *root_y, | ||||
|                              gint             *win_x, | ||||
|                              gint             *win_y, | ||||
|                              GdkModifierType  *mask) | ||||
| gdk_x11_device_core_query_state (GdkDevice        *device, | ||||
|                                  GdkWindow        *window, | ||||
|                                  GdkWindow       **root_window, | ||||
|                                  GdkWindow       **child_window, | ||||
|                                  gint             *root_x, | ||||
|                                  gint             *root_y, | ||||
|                                  gint             *win_x, | ||||
|                                  gint             *win_y, | ||||
|                                  GdkModifierType  *mask) | ||||
| { | ||||
|   GdkDisplay *display; | ||||
|   GdkScreen *default_screen; | ||||
| @ -253,10 +252,8 @@ gdk_device_core_query_state (GdkDevice        *device, | ||||
|                           GDK_WINDOW_XID (window), | ||||
|                           &xroot_window, | ||||
|                           &xchild_window, | ||||
|                           &xroot_x, | ||||
|                           &xroot_y, | ||||
|                           &xwin_x, | ||||
|                           &xwin_y, | ||||
|                           &xroot_x, &xroot_y, | ||||
|                           &xwin_x, &xwin_y, | ||||
|                           &xmask)) | ||||
|         return FALSE; | ||||
|     } | ||||
| @ -276,10 +273,8 @@ gdk_device_core_query_state (GdkDevice        *device, | ||||
|       XQueryPointer (xdisplay, w, | ||||
|                      &xroot_window, | ||||
|                      &xchild_window, | ||||
|                      &xroot_x, | ||||
|                      &xroot_y, | ||||
|                      &xwin_x, | ||||
|                      &xwin_y, | ||||
|                      &xroot_x, &xroot_y, | ||||
|                      &xwin_x, &xwin_y, | ||||
|                      &xmask); | ||||
|       XDestroyWindow (xdisplay, w); | ||||
|     } | ||||
| @ -309,13 +304,13 @@ gdk_device_core_query_state (GdkDevice        *device, | ||||
| } | ||||
| 
 | ||||
| static GdkGrabStatus | ||||
| gdk_device_core_grab (GdkDevice    *device, | ||||
|                       GdkWindow    *window, | ||||
|                       gboolean      owner_events, | ||||
|                       GdkEventMask  event_mask, | ||||
|                       GdkWindow    *confine_to, | ||||
|                       GdkCursor    *cursor, | ||||
|                       guint32       time_) | ||||
| gdk_x11_device_core_grab (GdkDevice    *device, | ||||
|                           GdkWindow    *window, | ||||
|                           gboolean      owner_events, | ||||
|                           GdkEventMask  event_mask, | ||||
|                           GdkWindow    *confine_to, | ||||
|                           GdkCursor    *cursor, | ||||
|                           guint32       time_) | ||||
| { | ||||
|   GdkDisplay *display; | ||||
|   Window xwindow, xconfine_to; | ||||
| @ -391,8 +386,8 @@ gdk_device_core_grab (GdkDevice    *device, | ||||
| } | ||||
| 
 | ||||
| static void | ||||
| gdk_device_core_ungrab (GdkDevice *device, | ||||
|                         guint32    time_) | ||||
| gdk_x11_device_core_ungrab (GdkDevice *device, | ||||
|                             guint32    time_) | ||||
| { | ||||
|   GdkDisplay *display; | ||||
|   gulong serial; | ||||
| @ -409,11 +404,11 @@ gdk_device_core_ungrab (GdkDevice *device, | ||||
| } | ||||
| 
 | ||||
| static GdkWindow * | ||||
| gdk_device_core_window_at_position (GdkDevice       *device, | ||||
|                                     gint            *win_x, | ||||
|                                     gint            *win_y, | ||||
|                                     GdkModifierType *mask, | ||||
|                                     gboolean         get_toplevel) | ||||
| gdk_x11_device_core_window_at_position (GdkDevice       *device, | ||||
|                                         gint            *win_x, | ||||
|                                         gint            *win_y, | ||||
|                                         GdkModifierType *mask, | ||||
|                                         gboolean         get_toplevel) | ||||
| { | ||||
|   GdkDisplay *display; | ||||
|   GdkScreen *screen; | ||||
| @ -473,7 +468,10 @@ gdk_device_core_window_at_position (GdkDevice       *device, | ||||
|               xwindow = GDK_WINDOW_XID (window); | ||||
|               gdk_x11_display_error_trap_push (display); | ||||
|               XQueryPointer (xdisplay, xwindow, | ||||
|                              &root, &child, &rootx, &rooty, &winx, &winy, &xmask); | ||||
|                              &root, &child, | ||||
|                              &rootx, &rooty, | ||||
|                              &winx, &winy, | ||||
|                              &xmask); | ||||
|               if (gdk_x11_display_error_trap_pop (display)) | ||||
|                 continue; | ||||
|               if (child != None) | ||||
| @ -494,7 +492,9 @@ gdk_device_core_window_at_position (GdkDevice       *device, | ||||
|                   XMapWindow (xdisplay, w); | ||||
|                   XQueryPointer (xdisplay, xwindow, | ||||
|                                  &root, &child, | ||||
|                                  &rootx, &rooty, &winx, &winy, &xmask); | ||||
|                                  &rootx, &rooty, | ||||
|                                  &winx, &winy, | ||||
|                                  &xmask); | ||||
|                   XDestroyWindow (xdisplay, w); | ||||
|                   if (child == w) | ||||
|                     { | ||||
| @ -550,9 +550,9 @@ gdk_device_core_window_at_position (GdkDevice       *device, | ||||
| } | ||||
| 
 | ||||
| static void | ||||
| gdk_device_core_select_window_events (GdkDevice    *device, | ||||
|                                       GdkWindow    *window, | ||||
|                                       GdkEventMask  event_mask) | ||||
| gdk_x11_device_core_select_window_events (GdkDevice    *device, | ||||
|                                          GdkWindow    *window, | ||||
|                                          GdkEventMask  event_mask) | ||||
| { | ||||
|   GdkEventMask filter_mask, window_mask; | ||||
|   guint xmask = 0; | ||||
| @ -1,52 +0,0 @@ | ||||
| /* GDK - The GIMP Drawing Kit | ||||
|  * Copyright (C) 2009 Carlos Garnacho <carlosg@gnome.org> | ||||
|  * | ||||
|  * This library is free software; you can redistribute it and/or | ||||
|  * modify it under the terms of the GNU Lesser General Public | ||||
|  * License as published by the Free Software Foundation; either | ||||
|  * version 2 of the License, or (at your option) any later version. | ||||
|  * | ||||
|  * This library is distributed in the hope that it will be useful, | ||||
|  * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||
|  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU | ||||
|  * Lesser General Public License for more details. | ||||
|  * | ||||
|  * You should have received a copy of the GNU Lesser 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. | ||||
|  */ | ||||
|  | ||||
| #ifndef __GDK_DEVICE_CORE_H__ | ||||
| #define __GDK_DEVICE_CORE_H__ | ||||
|  | ||||
| #include "gdkdeviceprivate.h" | ||||
|  | ||||
| G_BEGIN_DECLS | ||||
|  | ||||
| #define GDK_TYPE_DEVICE_CORE         (gdk_device_core_get_type ()) | ||||
| #define GDK_DEVICE_CORE(o)           (G_TYPE_CHECK_INSTANCE_CAST ((o), GDK_TYPE_DEVICE_CORE, GdkDeviceCore)) | ||||
| #define GDK_DEVICE_CORE_CLASS(c)     (G_TYPE_CHECK_CLASS_CAST ((c), GDK_TYPE_DEVICE_CORE, GdkDeviceCoreClass)) | ||||
| #define GDK_IS_DEVICE_CORE(o)        (G_TYPE_CHECK_INSTANCE_TYPE ((o), GDK_TYPE_DEVICE_CORE)) | ||||
| #define GDK_IS_DEVICE_CORE_CLASS(c)  (G_TYPE_CHECK_CLASS_TYPE ((c), GDK_TYPE_DEVICE_CORE)) | ||||
| #define GDK_DEVICE_CORE_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), GDK_TYPE_DEVICE_CORE, GdkDeviceCoreClass)) | ||||
|  | ||||
| typedef struct _GdkDeviceCore GdkDeviceCore; | ||||
| typedef struct _GdkDeviceCoreClass GdkDeviceCoreClass; | ||||
|  | ||||
| struct _GdkDeviceCore | ||||
| { | ||||
|   GdkDevice parent_instance; | ||||
| }; | ||||
|  | ||||
| struct _GdkDeviceCoreClass | ||||
| { | ||||
|   GdkDeviceClass parent_class; | ||||
| }; | ||||
|  | ||||
| G_GNUC_INTERNAL | ||||
| GType gdk_device_core_get_type (void) G_GNUC_CONST; | ||||
|  | ||||
| G_END_DECLS | ||||
|  | ||||
| #endif /* __GDK_DEVICE_CORE_H__ */ | ||||
| @ -19,13 +19,13 @@ | ||||
| 
 | ||||
| #include "config.h" | ||||
| 
 | ||||
| #include "gdkdevicemanager-core.h" | ||||
| #include "gdkx11devicemanager-core.h" | ||||
| #include "gdkx11device-core.h" | ||||
| 
 | ||||
| #include "gdkkeysyms.h" | ||||
| #include "gdkdevicemanagerprivate.h" | ||||
| #include "gdkdisplayprivate.h" | ||||
| #include "gdkeventtranslator.h" | ||||
| #include "gdkdevice-core.h" | ||||
| #include "gdkprivate-x11.h" | ||||
| 
 | ||||
| #ifdef HAVE_XKB | ||||
| @ -36,48 +36,48 @@ | ||||
| #define HAS_FOCUS(toplevel)                           \ | ||||
|   ((toplevel)->has_focus || (toplevel)->has_pointer_focus) | ||||
| 
 | ||||
| static void    gdk_device_manager_core_finalize    (GObject *object); | ||||
| static void    gdk_device_manager_core_constructed (GObject *object); | ||||
| static void    gdk_x11_device_manager_core_finalize    (GObject *object); | ||||
| static void    gdk_x11_device_manager_core_constructed (GObject *object); | ||||
| 
 | ||||
| static GList * gdk_device_manager_core_list_devices (GdkDeviceManager *device_manager, | ||||
|                                                      GdkDeviceType     type); | ||||
| static GdkDevice * gdk_device_manager_core_get_client_pointer (GdkDeviceManager *device_manager); | ||||
| static GList * gdk_x11_device_manager_core_list_devices (GdkDeviceManager *device_manager, | ||||
|                                                          GdkDeviceType     type); | ||||
| static GdkDevice * gdk_x11_device_manager_core_get_client_pointer (GdkDeviceManager *device_manager); | ||||
| 
 | ||||
| static void     gdk_device_manager_event_translator_init (GdkEventTranslatorIface *iface); | ||||
| static void     gdk_x11_device_manager_event_translator_init (GdkEventTranslatorIface *iface); | ||||
| 
 | ||||
| static gboolean gdk_device_manager_core_translate_event  (GdkEventTranslator *translator, | ||||
|                                                           GdkDisplay         *display, | ||||
|                                                           GdkEvent           *event, | ||||
|                                                           XEvent             *xevent); | ||||
| static gboolean gdk_x11_device_manager_core_translate_event  (GdkEventTranslator *translator, | ||||
|                                                               GdkDisplay         *display, | ||||
|                                                               GdkEvent           *event, | ||||
|                                                               XEvent             *xevent); | ||||
| 
 | ||||
| 
 | ||||
| G_DEFINE_TYPE_WITH_CODE (GdkDeviceManagerCore, gdk_device_manager_core, GDK_TYPE_DEVICE_MANAGER, | ||||
| G_DEFINE_TYPE_WITH_CODE (GdkX11DeviceManagerCore, gdk_x11_device_manager_core, GDK_TYPE_DEVICE_MANAGER, | ||||
|                          G_IMPLEMENT_INTERFACE (GDK_TYPE_EVENT_TRANSLATOR, | ||||
|                                                 gdk_device_manager_event_translator_init)) | ||||
|                                                 gdk_x11_device_manager_event_translator_init)) | ||||
| 
 | ||||
| static void | ||||
| gdk_device_manager_core_class_init (GdkDeviceManagerCoreClass *klass) | ||||
| gdk_x11_device_manager_core_class_init (GdkX11DeviceManagerCoreClass *klass) | ||||
| { | ||||
|   GdkDeviceManagerClass *device_manager_class = GDK_DEVICE_MANAGER_CLASS (klass); | ||||
|   GObjectClass *object_class = G_OBJECT_CLASS (klass); | ||||
| 
 | ||||
|   object_class->finalize = gdk_device_manager_core_finalize; | ||||
|   object_class->constructed = gdk_device_manager_core_constructed; | ||||
|   device_manager_class->list_devices = gdk_device_manager_core_list_devices; | ||||
|   device_manager_class->get_client_pointer = gdk_device_manager_core_get_client_pointer; | ||||
|   object_class->finalize = gdk_x11_device_manager_core_finalize; | ||||
|   object_class->constructed = gdk_x11_device_manager_core_constructed; | ||||
|   device_manager_class->list_devices = gdk_x11_device_manager_core_list_devices; | ||||
|   device_manager_class->get_client_pointer = gdk_x11_device_manager_core_get_client_pointer; | ||||
| } | ||||
| 
 | ||||
| static void | ||||
| gdk_device_manager_event_translator_init (GdkEventTranslatorIface *iface) | ||||
| gdk_x11_device_manager_event_translator_init (GdkEventTranslatorIface *iface) | ||||
| { | ||||
|   iface->translate_event = gdk_device_manager_core_translate_event; | ||||
|   iface->translate_event = gdk_x11_device_manager_core_translate_event; | ||||
| } | ||||
| 
 | ||||
| static GdkDevice * | ||||
| create_core_pointer (GdkDeviceManager *device_manager, | ||||
|                      GdkDisplay       *display) | ||||
| { | ||||
|   return g_object_new (GDK_TYPE_DEVICE_CORE, | ||||
|   return g_object_new (GDK_TYPE_X11_DEVICE_CORE, | ||||
|                        "name", "Core Pointer", | ||||
|                        "type", GDK_DEVICE_TYPE_MASTER, | ||||
|                        "input-source", GDK_SOURCE_MOUSE, | ||||
| @ -92,7 +92,7 @@ static GdkDevice * | ||||
| create_core_keyboard (GdkDeviceManager *device_manager, | ||||
|                       GdkDisplay       *display) | ||||
| { | ||||
|   return g_object_new (GDK_TYPE_DEVICE_CORE, | ||||
|   return g_object_new (GDK_TYPE_X11_DEVICE_CORE, | ||||
|                        "name", "Core Keyboard", | ||||
|                        "type", GDK_DEVICE_TYPE_MASTER, | ||||
|                        "input-source", GDK_SOURCE_KEYBOARD, | ||||
| @ -104,30 +104,30 @@ create_core_keyboard (GdkDeviceManager *device_manager, | ||||
| } | ||||
| 
 | ||||
| static void | ||||
| gdk_device_manager_core_init (GdkDeviceManagerCore *device_manager) | ||||
| gdk_x11_device_manager_core_init (GdkX11DeviceManagerCore *device_manager) | ||||
| { | ||||
| } | ||||
| 
 | ||||
| static void | ||||
| gdk_device_manager_core_finalize (GObject *object) | ||||
| gdk_x11_device_manager_core_finalize (GObject *object) | ||||
| { | ||||
|   GdkDeviceManagerCore *device_manager_core; | ||||
|   GdkX11DeviceManagerCore *device_manager_core; | ||||
| 
 | ||||
|   device_manager_core = GDK_DEVICE_MANAGER_CORE (object); | ||||
|   device_manager_core = GDK_X11_DEVICE_MANAGER_CORE (object); | ||||
| 
 | ||||
|   g_object_unref (device_manager_core->core_pointer); | ||||
|   g_object_unref (device_manager_core->core_keyboard); | ||||
| 
 | ||||
|   G_OBJECT_CLASS (gdk_device_manager_core_parent_class)->finalize (object); | ||||
|   G_OBJECT_CLASS (gdk_x11_device_manager_core_parent_class)->finalize (object); | ||||
| } | ||||
| 
 | ||||
| static void | ||||
| gdk_device_manager_core_constructed (GObject *object) | ||||
| gdk_x11_device_manager_core_constructed (GObject *object) | ||||
| { | ||||
|   GdkDeviceManagerCore *device_manager; | ||||
|   GdkX11DeviceManagerCore *device_manager; | ||||
|   GdkDisplay *display; | ||||
| 
 | ||||
|   device_manager = GDK_DEVICE_MANAGER_CORE (object); | ||||
|   device_manager = GDK_X11_DEVICE_MANAGER_CORE (object); | ||||
|   display = gdk_device_manager_get_display (GDK_DEVICE_MANAGER (object)); | ||||
|   device_manager->core_pointer = create_core_pointer (GDK_DEVICE_MANAGER (device_manager), display); | ||||
|   device_manager->core_keyboard = create_core_keyboard (GDK_DEVICE_MANAGER (device_manager), display); | ||||
| @ -137,10 +137,10 @@ gdk_device_manager_core_constructed (GObject *object) | ||||
| } | ||||
| 
 | ||||
| static void | ||||
| translate_key_event (GdkDisplay           *display, | ||||
|                      GdkDeviceManagerCore *device_manager, | ||||
| 		     GdkEvent             *event, | ||||
| 		     XEvent               *xevent) | ||||
| translate_key_event (GdkDisplay              *display, | ||||
|                      GdkX11DeviceManagerCore *device_manager, | ||||
|                      GdkEvent                *event, | ||||
|                      XEvent                  *xevent) | ||||
| { | ||||
|   GdkKeymap *keymap = gdk_keymap_get_for_display (display); | ||||
|   GdkModifierType consumed, state; | ||||
| @ -158,10 +158,10 @@ translate_key_event (GdkDisplay           *display, | ||||
|   event->key.keyval = GDK_KEY_VoidSymbol; | ||||
| 
 | ||||
|   gdk_keymap_translate_keyboard_state (keymap, | ||||
| 				       event->key.hardware_keycode, | ||||
| 				       event->key.state, | ||||
| 				       event->key.group, | ||||
| 				       &event->key.keyval, | ||||
|                                        event->key.hardware_keycode, | ||||
|                                        event->key.state, | ||||
|                                        event->key.group, | ||||
|                                        &event->key.keyval, | ||||
|                                        NULL, NULL, &consumed); | ||||
| 
 | ||||
|   state = event->key.state & ~consumed; | ||||
| @ -186,28 +186,28 @@ translate_key_event (GdkDisplay           *display, | ||||
|       /* Apply the control key - Taken from Xlib
 | ||||
|        */ | ||||
|       if (event->key.state & GDK_CONTROL_MASK) | ||||
| 	{ | ||||
| 	  if ((c >= '@' && c < '\177') || c == ' ') c &= 0x1F; | ||||
| 	  else if (c == '2') | ||||
| 	    { | ||||
| 	      event->key.string = g_memdup ("\0\0", 2); | ||||
| 	      event->key.length = 1; | ||||
| 	      buf[0] = '\0'; | ||||
| 	      goto out; | ||||
| 	    } | ||||
| 	  else if (c >= '3' && c <= '7') c -= ('3' - '\033'); | ||||
| 	  else if (c == '8') c = '\177'; | ||||
| 	  else if (c == '/') c = '_' & 0x1F; | ||||
| 	} | ||||
|         { | ||||
|           if ((c >= '@' && c < '\177') || c == ' ') c &= 0x1F; | ||||
|           else if (c == '2') | ||||
|             { | ||||
|               event->key.string = g_memdup ("\0\0", 2); | ||||
|               event->key.length = 1; | ||||
|               buf[0] = '\0'; | ||||
|               goto out; | ||||
|             } | ||||
|           else if (c >= '3' && c <= '7') c -= ('3' - '\033'); | ||||
|           else if (c == '8') c = '\177'; | ||||
|           else if (c == '/') c = '_' & 0x1F; | ||||
|         } | ||||
| 
 | ||||
|       len = g_unichar_to_utf8 (c, buf); | ||||
|       buf[len] = '\0'; | ||||
| 
 | ||||
|       event->key.string = g_locale_from_utf8 (buf, len, | ||||
| 					      NULL, &bytes_written, | ||||
| 					      NULL); | ||||
|                                               NULL, &bytes_written, | ||||
|                                               NULL); | ||||
|       if (event->key.string) | ||||
| 	event->key.length = bytes_written; | ||||
|         event->key.length = bytes_written; | ||||
|     } | ||||
|   else if (event->key.keyval == GDK_KEY_Escape) | ||||
|     { | ||||
| @ -215,7 +215,7 @@ translate_key_event (GdkDisplay           *display, | ||||
|       event->key.string = g_strdup ("\033"); | ||||
|     } | ||||
|   else if (event->key.keyval == GDK_KEY_Return || | ||||
| 	  event->key.keyval == GDK_KEY_KP_Enter) | ||||
|           event->key.keyval == GDK_KEY_KP_Enter) | ||||
|     { | ||||
|       event->key.length = 1; | ||||
|       event->key.string = g_strdup ("\r"); | ||||
| @ -231,15 +231,15 @@ translate_key_event (GdkDisplay           *display, | ||||
| #ifdef G_ENABLE_DEBUG | ||||
|   if (_gdk_debug_flags & GDK_DEBUG_EVENTS) | ||||
|     { | ||||
|       g_message ("%s:\t\twindow: %ld	 key: %12s  %d", | ||||
| 		 event->type == GDK_KEY_PRESS ? "key press  " : "key release", | ||||
| 		 xevent->xkey.window, | ||||
| 		 event->key.keyval ? gdk_keyval_name (event->key.keyval) : "(none)", | ||||
| 		 event->key.keyval); | ||||
|       g_message ("%s:\t\twindow: %ld     key: %12s  %d", | ||||
|                  event->type == GDK_KEY_PRESS ? "key press  " : "key release", | ||||
|                  xevent->xkey.window, | ||||
|                  event->key.keyval ? gdk_keyval_name (event->key.keyval) : "(none)", | ||||
|                  event->key.keyval); | ||||
| 
 | ||||
|       if (event->key.length > 0) | ||||
| 	g_message ("\t\tlength: %4d string: \"%s\"", | ||||
| 		   event->key.length, buf); | ||||
|         g_message ("\t\tlength: %4d string: \"%s\"", | ||||
|                    event->key.length, buf); | ||||
|     } | ||||
| #endif /* G_ENABLE_DEBUG */ | ||||
|   return; | ||||
| @ -267,7 +267,7 @@ static const char notify_details[][23] = { | ||||
| 
 | ||||
| static void | ||||
| set_user_time (GdkWindow *window, | ||||
| 	       GdkEvent  *event) | ||||
|                GdkEvent  *event) | ||||
| { | ||||
|   g_return_if_fail (event != NULL); | ||||
| 
 | ||||
| @ -283,9 +283,9 @@ set_user_time (GdkWindow *window, | ||||
| } | ||||
| 
 | ||||
| static void | ||||
| generate_focus_event (GdkDeviceManagerCore *device_manager, | ||||
|                       GdkWindow            *window, | ||||
| 		      gboolean              in) | ||||
| generate_focus_event (GdkX11DeviceManagerCore *device_manager, | ||||
|                       GdkWindow               *window, | ||||
|                       gboolean                 in) | ||||
| { | ||||
|   GdkEvent *event; | ||||
| 
 | ||||
| @ -301,8 +301,8 @@ generate_focus_event (GdkDeviceManagerCore *device_manager, | ||||
| 
 | ||||
| static gboolean | ||||
| set_screen_from_root (GdkDisplay *display, | ||||
| 		      GdkEvent   *event, | ||||
| 		      Window      xrootwin) | ||||
|                       GdkEvent   *event, | ||||
|                       Window      xrootwin) | ||||
| { | ||||
|   GdkScreen *screen; | ||||
| 
 | ||||
| @ -364,7 +364,7 @@ is_parent_of (GdkWindow *parent, | ||||
|   while (w != NULL) | ||||
|     { | ||||
|       if (w == parent) | ||||
| 	return TRUE; | ||||
|         return TRUE; | ||||
| 
 | ||||
|       w = gdk_window_get_parent (w); | ||||
|     } | ||||
| @ -392,7 +392,7 @@ get_event_window (GdkEventTranslator *translator, | ||||
| 
 | ||||
|       serial = _gdk_display_get_next_serial (display); | ||||
|       info = _gdk_display_has_device_grab (display, | ||||
|                                            GDK_DEVICE_MANAGER_CORE (device_manager)->core_keyboard, | ||||
|                                            GDK_X11_DEVICE_MANAGER_CORE (device_manager)->core_keyboard, | ||||
|                                            serial); | ||||
|       if (info && | ||||
|           (!is_parent_of (info->window, window) || | ||||
| @ -407,19 +407,19 @@ get_event_window (GdkEventTranslator *translator, | ||||
| } | ||||
| 
 | ||||
| static gboolean | ||||
| gdk_device_manager_core_translate_event (GdkEventTranslator *translator, | ||||
|                                          GdkDisplay         *display, | ||||
|                                          GdkEvent           *event, | ||||
|                                          XEvent             *xevent) | ||||
| gdk_x11_device_manager_core_translate_event (GdkEventTranslator *translator, | ||||
|                                              GdkDisplay         *display, | ||||
|                                              GdkEvent           *event, | ||||
|                                              XEvent             *xevent) | ||||
| { | ||||
|   GdkDeviceManagerCore *device_manager; | ||||
|   GdkX11DeviceManagerCore *device_manager; | ||||
|   GdkWindow *window; | ||||
|   GdkWindowImplX11 *window_impl = NULL; | ||||
|   gboolean return_val; | ||||
|   GdkToplevelX11 *toplevel = NULL; | ||||
|   GdkX11Display *display_x11 = GDK_X11_DISPLAY (display); | ||||
| 
 | ||||
|   device_manager = GDK_DEVICE_MANAGER_CORE (translator); | ||||
|   device_manager = GDK_X11_DEVICE_MANAGER_CORE (translator); | ||||
|   return_val = FALSE; | ||||
| 
 | ||||
|   window = get_event_window (translator, xevent); | ||||
| @ -440,10 +440,10 @@ gdk_device_manager_core_translate_event (GdkEventTranslator *translator, | ||||
|   if (window && GDK_WINDOW_DESTROYED (window)) | ||||
|     { | ||||
|       if (xevent->type != DestroyNotify) | ||||
| 	{ | ||||
| 	  return_val = FALSE; | ||||
| 	  goto done; | ||||
| 	} | ||||
|         { | ||||
|           return_val = FALSE; | ||||
|           goto done; | ||||
|         } | ||||
|     } | ||||
| 
 | ||||
|   if (window && | ||||
| @ -491,45 +491,45 @@ gdk_device_manager_core_translate_event (GdkEventTranslator *translator, | ||||
|        */ | ||||
| 
 | ||||
|       if (!display_x11->have_xkb_autorepeat && XPending (xevent->xkey.display)) | ||||
| 	{ | ||||
| 	  XEvent next_event; | ||||
|         { | ||||
|           XEvent next_event; | ||||
| 
 | ||||
| 	  XPeekEvent (xevent->xkey.display, &next_event); | ||||
|           XPeekEvent (xevent->xkey.display, &next_event); | ||||
| 
 | ||||
| 	  if (next_event.type == KeyPress && | ||||
| 	      next_event.xkey.keycode == xevent->xkey.keycode && | ||||
| 	      next_event.xkey.time == xevent->xkey.time) | ||||
| 	    { | ||||
| 	      return_val = FALSE; | ||||
| 	      break; | ||||
| 	    } | ||||
| 	} | ||||
|           if (next_event.type == KeyPress && | ||||
|               next_event.xkey.keycode == xevent->xkey.keycode && | ||||
|               next_event.xkey.time == xevent->xkey.time) | ||||
|             { | ||||
|               return_val = FALSE; | ||||
|               break; | ||||
|             } | ||||
|         } | ||||
| 
 | ||||
|       translate_key_event (display, device_manager, event, xevent); | ||||
|       break; | ||||
| 
 | ||||
|     case ButtonPress: | ||||
|       GDK_NOTE (EVENTS, | ||||
| 		g_message ("button press:\t\twindow: %ld  x,y: %d %d  button: %d", | ||||
| 			   xevent->xbutton.window, | ||||
| 			   xevent->xbutton.x, xevent->xbutton.y, | ||||
| 			   xevent->xbutton.button)); | ||||
|                 g_message ("button press:\t\twindow: %ld  x,y: %d %d  button: %d", | ||||
|                            xevent->xbutton.window, | ||||
|                            xevent->xbutton.x, xevent->xbutton.y, | ||||
|                            xevent->xbutton.button)); | ||||
| 
 | ||||
|       if (window == NULL) | ||||
| 	{ | ||||
| 	  return_val = FALSE; | ||||
| 	  break; | ||||
| 	} | ||||
|         { | ||||
|           return_val = FALSE; | ||||
|           break; | ||||
|         } | ||||
| 
 | ||||
|       /* If we get a ButtonPress event where the button is 4 or 5,
 | ||||
| 	 it's a Scroll event */ | ||||
|          it's a Scroll event */ | ||||
|       switch (xevent->xbutton.button) | ||||
|         { | ||||
|         case 4: /* up */ | ||||
|         case 5: /* down */ | ||||
|         case 6: /* left */ | ||||
|         case 7: /* right */ | ||||
| 	  event->scroll.type = GDK_SCROLL; | ||||
|           event->scroll.type = GDK_SCROLL; | ||||
| 
 | ||||
|           if (xevent->xbutton.button == 4) | ||||
|             event->scroll.direction = GDK_SCROLL_UP; | ||||
| @ -540,41 +540,41 @@ gdk_device_manager_core_translate_event (GdkEventTranslator *translator, | ||||
|           else | ||||
|             event->scroll.direction = GDK_SCROLL_RIGHT; | ||||
| 
 | ||||
| 	  event->scroll.window = window; | ||||
| 	  event->scroll.time = xevent->xbutton.time; | ||||
| 	  event->scroll.x = (gdouble) xevent->xbutton.x; | ||||
| 	  event->scroll.y = (gdouble) xevent->xbutton.y; | ||||
| 	  event->scroll.x_root = (gdouble) xevent->xbutton.x_root; | ||||
| 	  event->scroll.y_root = (gdouble) xevent->xbutton.y_root; | ||||
| 	  event->scroll.state = (GdkModifierType) xevent->xbutton.state; | ||||
| 	  event->scroll.device = device_manager->core_pointer; | ||||
|           event->scroll.window = window; | ||||
|           event->scroll.time = xevent->xbutton.time; | ||||
|           event->scroll.x = (gdouble) xevent->xbutton.x; | ||||
|           event->scroll.y = (gdouble) xevent->xbutton.y; | ||||
|           event->scroll.x_root = (gdouble) xevent->xbutton.x_root; | ||||
|           event->scroll.y_root = (gdouble) xevent->xbutton.y_root; | ||||
|           event->scroll.state = (GdkModifierType) xevent->xbutton.state; | ||||
|           event->scroll.device = device_manager->core_pointer; | ||||
| 
 | ||||
| 	  if (!set_screen_from_root (display, event, xevent->xbutton.root)) | ||||
| 	    { | ||||
| 	      return_val = FALSE; | ||||
| 	      break; | ||||
| 	    } | ||||
|           if (!set_screen_from_root (display, event, xevent->xbutton.root)) | ||||
|             { | ||||
|               return_val = FALSE; | ||||
|               break; | ||||
|             } | ||||
| 
 | ||||
|           break; | ||||
| 
 | ||||
|         default: | ||||
| 	  event->button.type = GDK_BUTTON_PRESS; | ||||
| 	  event->button.window = window; | ||||
| 	  event->button.time = xevent->xbutton.time; | ||||
| 	  event->button.x = (gdouble) xevent->xbutton.x; | ||||
| 	  event->button.y = (gdouble) xevent->xbutton.y; | ||||
| 	  event->button.x_root = (gdouble) xevent->xbutton.x_root; | ||||
| 	  event->button.y_root = (gdouble) xevent->xbutton.y_root; | ||||
| 	  event->button.axes = NULL; | ||||
| 	  event->button.state = (GdkModifierType) xevent->xbutton.state; | ||||
| 	  event->button.button = xevent->xbutton.button; | ||||
| 	  event->button.device = device_manager->core_pointer; | ||||
|           event->button.type = GDK_BUTTON_PRESS; | ||||
|           event->button.window = window; | ||||
|           event->button.time = xevent->xbutton.time; | ||||
|           event->button.x = (gdouble) xevent->xbutton.x; | ||||
|           event->button.y = (gdouble) xevent->xbutton.y; | ||||
|           event->button.x_root = (gdouble) xevent->xbutton.x_root; | ||||
|           event->button.y_root = (gdouble) xevent->xbutton.y_root; | ||||
|           event->button.axes = NULL; | ||||
|           event->button.state = (GdkModifierType) xevent->xbutton.state; | ||||
|           event->button.button = xevent->xbutton.button; | ||||
|           event->button.device = device_manager->core_pointer; | ||||
| 
 | ||||
| 	  if (!set_screen_from_root (display, event, xevent->xbutton.root)) | ||||
|           if (!set_screen_from_root (display, event, xevent->xbutton.root)) | ||||
|             return_val = FALSE; | ||||
| 
 | ||||
|           break; | ||||
| 	} | ||||
|         } | ||||
| 
 | ||||
|       set_user_time (window, event); | ||||
| 
 | ||||
| @ -582,24 +582,24 @@ gdk_device_manager_core_translate_event (GdkEventTranslator *translator, | ||||
| 
 | ||||
|     case ButtonRelease: | ||||
|       GDK_NOTE (EVENTS, | ||||
| 		g_message ("button release:\twindow: %ld  x,y: %d %d  button: %d", | ||||
| 			   xevent->xbutton.window, | ||||
| 			   xevent->xbutton.x, xevent->xbutton.y, | ||||
| 			   xevent->xbutton.button)); | ||||
|                 g_message ("button release:\twindow: %ld  x,y: %d %d  button: %d", | ||||
|                            xevent->xbutton.window, | ||||
|                            xevent->xbutton.x, xevent->xbutton.y, | ||||
|                            xevent->xbutton.button)); | ||||
| 
 | ||||
|       if (window == NULL) | ||||
| 	{ | ||||
| 	  return_val = FALSE; | ||||
| 	  break; | ||||
| 	} | ||||
|         { | ||||
|           return_val = FALSE; | ||||
|           break; | ||||
|         } | ||||
| 
 | ||||
|       /* We treat button presses as scroll wheel events, so ignore the release */ | ||||
|       if (xevent->xbutton.button == 4 || xevent->xbutton.button == 5 || | ||||
|           xevent->xbutton.button == 6 || xevent->xbutton.button == 7) | ||||
| 	{ | ||||
| 	  return_val = FALSE; | ||||
| 	  break; | ||||
| 	} | ||||
|         { | ||||
|           return_val = FALSE; | ||||
|           break; | ||||
|         } | ||||
| 
 | ||||
|       event->button.type = GDK_BUTTON_RELEASE; | ||||
|       event->button.window = window; | ||||
| @ -620,16 +620,16 @@ gdk_device_manager_core_translate_event (GdkEventTranslator *translator, | ||||
| 
 | ||||
|     case MotionNotify: | ||||
|       GDK_NOTE (EVENTS, | ||||
| 		g_message ("motion notify:\t\twindow: %ld  x,y: %d %d  hint: %s", | ||||
| 			   xevent->xmotion.window, | ||||
| 			   xevent->xmotion.x, xevent->xmotion.y, | ||||
| 			   (xevent->xmotion.is_hint) ? "true" : "false")); | ||||
|                 g_message ("motion notify:\t\twindow: %ld  x,y: %d %d  hint: %s", | ||||
|                            xevent->xmotion.window, | ||||
|                            xevent->xmotion.x, xevent->xmotion.y, | ||||
|                            (xevent->xmotion.is_hint) ? "true" : "false")); | ||||
| 
 | ||||
|       if (window == NULL) | ||||
| 	{ | ||||
| 	  return_val = FALSE; | ||||
| 	  break; | ||||
| 	} | ||||
|         { | ||||
|           return_val = FALSE; | ||||
|           break; | ||||
|         } | ||||
| 
 | ||||
|       event->motion.type = GDK_MOTION_NOTIFY; | ||||
|       event->motion.window = window; | ||||
| @ -644,19 +644,19 @@ gdk_device_manager_core_translate_event (GdkEventTranslator *translator, | ||||
|       event->motion.device = device_manager->core_pointer; | ||||
| 
 | ||||
|       if (!set_screen_from_root (display, event, xevent->xbutton.root)) | ||||
| 	{ | ||||
| 	  return_val = FALSE; | ||||
| 	  break; | ||||
| 	} | ||||
|         { | ||||
|           return_val = FALSE; | ||||
|           break; | ||||
|         } | ||||
| 
 | ||||
|       break; | ||||
| 
 | ||||
|     case EnterNotify: | ||||
|       GDK_NOTE (EVENTS, | ||||
| 		g_message ("enter notify:\t\twindow: %ld  detail: %d subwin: %ld", | ||||
| 			   xevent->xcrossing.window, | ||||
| 			   xevent->xcrossing.detail, | ||||
| 			   xevent->xcrossing.subwindow)); | ||||
|                 g_message ("enter notify:\t\twindow: %ld  detail: %d subwin: %ld", | ||||
|                            xevent->xcrossing.window, | ||||
|                            xevent->xcrossing.detail, | ||||
|                            xevent->xcrossing.subwindow)); | ||||
| 
 | ||||
|       if (window == NULL) | ||||
|         { | ||||
| @ -665,10 +665,10 @@ gdk_device_manager_core_translate_event (GdkEventTranslator *translator, | ||||
|         } | ||||
| 
 | ||||
|       if (!set_screen_from_root (display, event, xevent->xbutton.root)) | ||||
| 	{ | ||||
| 	  return_val = FALSE; | ||||
| 	  break; | ||||
| 	} | ||||
|         { | ||||
|           return_val = FALSE; | ||||
|           break; | ||||
|         } | ||||
| 
 | ||||
|       event->crossing.type = GDK_ENTER_NOTIFY; | ||||
|       event->crossing.window = window; | ||||
| @ -678,9 +678,9 @@ gdk_device_manager_core_translate_event (GdkEventTranslator *translator, | ||||
|        *  lookup the corresponding GdkWindow. | ||||
|        */ | ||||
|       if (xevent->xcrossing.subwindow != None) | ||||
| 	event->crossing.subwindow = gdk_x11_window_lookup_for_display (display, xevent->xcrossing.subwindow); | ||||
|         event->crossing.subwindow = gdk_x11_window_lookup_for_display (display, xevent->xcrossing.subwindow); | ||||
|       else | ||||
| 	event->crossing.subwindow = NULL; | ||||
|         event->crossing.subwindow = NULL; | ||||
| 
 | ||||
|       event->crossing.time = xevent->xcrossing.time; | ||||
|       event->crossing.x = (gdouble) xevent->xcrossing.x; | ||||
| @ -698,9 +698,9 @@ gdk_device_manager_core_translate_event (GdkEventTranslator *translator, | ||||
| 
 | ||||
|     case LeaveNotify: | ||||
|       GDK_NOTE (EVENTS, | ||||
| 		g_message ("leave notify:\t\twindow: %ld  detail: %d subwin: %ld", | ||||
| 			   xevent->xcrossing.window, | ||||
| 			   xevent->xcrossing.detail, xevent->xcrossing.subwindow)); | ||||
|                 g_message ("leave notify:\t\twindow: %ld  detail: %d subwin: %ld", | ||||
|                            xevent->xcrossing.window, | ||||
|                            xevent->xcrossing.detail, xevent->xcrossing.subwindow)); | ||||
| 
 | ||||
|       if (window == NULL) | ||||
|         { | ||||
| @ -709,10 +709,10 @@ gdk_device_manager_core_translate_event (GdkEventTranslator *translator, | ||||
|         } | ||||
| 
 | ||||
|       if (!set_screen_from_root (display, event, xevent->xbutton.root)) | ||||
| 	{ | ||||
| 	  return_val = FALSE; | ||||
| 	  break; | ||||
| 	} | ||||
|         { | ||||
|           return_val = FALSE; | ||||
|           break; | ||||
|         } | ||||
| 
 | ||||
|       event->crossing.type = GDK_LEAVE_NOTIFY; | ||||
|       event->crossing.window = window; | ||||
| @ -722,9 +722,9 @@ gdk_device_manager_core_translate_event (GdkEventTranslator *translator, | ||||
|        *  lookup the corresponding GdkWindow. | ||||
|        */ | ||||
|       if (xevent->xcrossing.subwindow != None) | ||||
| 	event->crossing.subwindow = gdk_x11_window_lookup_for_display (display, xevent->xcrossing.subwindow); | ||||
|         event->crossing.subwindow = gdk_x11_window_lookup_for_display (display, xevent->xcrossing.subwindow); | ||||
|       else | ||||
| 	event->crossing.subwindow = NULL; | ||||
|         event->crossing.subwindow = NULL; | ||||
| 
 | ||||
|       event->crossing.time = xevent->xcrossing.time; | ||||
|       event->crossing.x = (gdouble) xevent->xcrossing.x; | ||||
| @ -745,113 +745,113 @@ gdk_device_manager_core_translate_event (GdkEventTranslator *translator, | ||||
|        */ | ||||
|     case FocusIn: | ||||
|       GDK_NOTE (EVENTS, | ||||
| 		g_message ("focus in:\t\twindow: %ld, detail: %s, mode: %s", | ||||
| 			   xevent->xfocus.window, | ||||
| 			   notify_details[xevent->xfocus.detail], | ||||
| 			   notify_modes[xevent->xfocus.mode])); | ||||
|                 g_message ("focus in:\t\twindow: %ld, detail: %s, mode: %s", | ||||
|                            xevent->xfocus.window, | ||||
|                            notify_details[xevent->xfocus.detail], | ||||
|                            notify_modes[xevent->xfocus.mode])); | ||||
| 
 | ||||
|       if (toplevel) | ||||
| 	{ | ||||
| 	  gboolean had_focus = HAS_FOCUS (toplevel); | ||||
|         { | ||||
|           gboolean had_focus = HAS_FOCUS (toplevel); | ||||
| 
 | ||||
| 	  switch (xevent->xfocus.detail) | ||||
| 	    { | ||||
| 	    case NotifyAncestor: | ||||
| 	    case NotifyVirtual: | ||||
| 	      /* When the focus moves from an ancestor of the window to
 | ||||
| 	       * the window or a descendent of the window, *and* the | ||||
| 	       * pointer is inside the window, then we were previously | ||||
| 	       * receiving keystroke events in the has_pointer_focus | ||||
| 	       * case and are now receiving them in the | ||||
| 	       * has_focus_window case. | ||||
| 	       */ | ||||
| 	      if (toplevel->has_pointer && | ||||
| 		  xevent->xfocus.mode != NotifyGrab && | ||||
| 		  xevent->xfocus.mode != NotifyUngrab) | ||||
| 		toplevel->has_pointer_focus = FALSE; | ||||
|           switch (xevent->xfocus.detail) | ||||
|             { | ||||
|             case NotifyAncestor: | ||||
|             case NotifyVirtual: | ||||
|               /* When the focus moves from an ancestor of the window to
 | ||||
|                * the window or a descendent of the window, *and* the | ||||
|                * pointer is inside the window, then we were previously | ||||
|                * receiving keystroke events in the has_pointer_focus | ||||
|                * case and are now receiving them in the | ||||
|                * has_focus_window case. | ||||
|                */ | ||||
|               if (toplevel->has_pointer && | ||||
|                   xevent->xfocus.mode != NotifyGrab && | ||||
|                   xevent->xfocus.mode != NotifyUngrab) | ||||
|                 toplevel->has_pointer_focus = FALSE; | ||||
| 
 | ||||
| 	      /* fall through */ | ||||
| 	    case NotifyNonlinear: | ||||
| 	    case NotifyNonlinearVirtual: | ||||
| 	      if (xevent->xfocus.mode != NotifyGrab && | ||||
| 		  xevent->xfocus.mode != NotifyUngrab) | ||||
| 		toplevel->has_focus_window = TRUE; | ||||
| 	      /* We pretend that the focus moves to the grab
 | ||||
| 	       * window, so we pay attention to NotifyGrab | ||||
| 	       * NotifyUngrab, and ignore NotifyWhileGrabbed | ||||
| 	       */ | ||||
| 	      if (xevent->xfocus.mode != NotifyWhileGrabbed) | ||||
| 		toplevel->has_focus = TRUE; | ||||
| 	      break; | ||||
| 	    case NotifyPointer: | ||||
| 	      /* The X server sends NotifyPointer/NotifyGrab,
 | ||||
| 	       * but the pointer focus is ignored while a | ||||
| 	       * grab is in effect | ||||
| 	       */ | ||||
| 	      if (xevent->xfocus.mode != NotifyGrab && | ||||
| 		  xevent->xfocus.mode != NotifyUngrab) | ||||
| 		toplevel->has_pointer_focus = TRUE; | ||||
| 	      break; | ||||
| 	    case NotifyInferior: | ||||
| 	    case NotifyPointerRoot: | ||||
| 	    case NotifyDetailNone: | ||||
| 	      break; | ||||
| 	    } | ||||
|               /* fall through */ | ||||
|             case NotifyNonlinear: | ||||
|             case NotifyNonlinearVirtual: | ||||
|               if (xevent->xfocus.mode != NotifyGrab && | ||||
|                   xevent->xfocus.mode != NotifyUngrab) | ||||
|                 toplevel->has_focus_window = TRUE; | ||||
|               /* We pretend that the focus moves to the grab
 | ||||
|                * window, so we pay attention to NotifyGrab | ||||
|                * NotifyUngrab, and ignore NotifyWhileGrabbed | ||||
|                */ | ||||
|               if (xevent->xfocus.mode != NotifyWhileGrabbed) | ||||
|                 toplevel->has_focus = TRUE; | ||||
|               break; | ||||
|             case NotifyPointer: | ||||
|               /* The X server sends NotifyPointer/NotifyGrab,
 | ||||
|                * but the pointer focus is ignored while a | ||||
|                * grab is in effect | ||||
|                */ | ||||
|               if (xevent->xfocus.mode != NotifyGrab && | ||||
|                   xevent->xfocus.mode != NotifyUngrab) | ||||
|                 toplevel->has_pointer_focus = TRUE; | ||||
|               break; | ||||
|             case NotifyInferior: | ||||
|             case NotifyPointerRoot: | ||||
|             case NotifyDetailNone: | ||||
|               break; | ||||
|             } | ||||
| 
 | ||||
| 	  if (HAS_FOCUS (toplevel) != had_focus) | ||||
| 	    generate_focus_event (device_manager, window, TRUE); | ||||
| 	} | ||||
|           if (HAS_FOCUS (toplevel) != had_focus) | ||||
|             generate_focus_event (device_manager, window, TRUE); | ||||
|         } | ||||
|       break; | ||||
|     case FocusOut: | ||||
|       GDK_NOTE (EVENTS, | ||||
| 		g_message ("focus out:\t\twindow: %ld, detail: %s, mode: %s", | ||||
| 			   xevent->xfocus.window, | ||||
| 			   notify_details[xevent->xfocus.detail], | ||||
| 			   notify_modes[xevent->xfocus.mode])); | ||||
|                 g_message ("focus out:\t\twindow: %ld, detail: %s, mode: %s", | ||||
|                            xevent->xfocus.window, | ||||
|                            notify_details[xevent->xfocus.detail], | ||||
|                            notify_modes[xevent->xfocus.mode])); | ||||
| 
 | ||||
|       if (toplevel) | ||||
| 	{ | ||||
| 	  gboolean had_focus = HAS_FOCUS (toplevel); | ||||
|         { | ||||
|           gboolean had_focus = HAS_FOCUS (toplevel); | ||||
| 
 | ||||
| 	  switch (xevent->xfocus.detail) | ||||
| 	    { | ||||
| 	    case NotifyAncestor: | ||||
| 	    case NotifyVirtual: | ||||
| 	      /* When the focus moves from the window or a descendent
 | ||||
| 	       * of the window to an ancestor of the window, *and* the | ||||
| 	       * pointer is inside the window, then we were previously | ||||
| 	       * receiving keystroke events in the has_focus_window | ||||
| 	       * case and are now receiving them in the | ||||
| 	       * has_pointer_focus case. | ||||
| 	       */ | ||||
| 	      if (toplevel->has_pointer && | ||||
| 		  xevent->xfocus.mode != NotifyGrab && | ||||
| 		  xevent->xfocus.mode != NotifyUngrab) | ||||
| 		toplevel->has_pointer_focus = TRUE; | ||||
|           switch (xevent->xfocus.detail) | ||||
|             { | ||||
|             case NotifyAncestor: | ||||
|             case NotifyVirtual: | ||||
|               /* When the focus moves from the window or a descendent
 | ||||
|                * of the window to an ancestor of the window, *and* the | ||||
|                * pointer is inside the window, then we were previously | ||||
|                * receiving keystroke events in the has_focus_window | ||||
|                * case and are now receiving them in the | ||||
|                * has_pointer_focus case. | ||||
|                */ | ||||
|               if (toplevel->has_pointer && | ||||
|                   xevent->xfocus.mode != NotifyGrab && | ||||
|                   xevent->xfocus.mode != NotifyUngrab) | ||||
|                 toplevel->has_pointer_focus = TRUE; | ||||
| 
 | ||||
| 	      /* fall through */ | ||||
| 	    case NotifyNonlinear: | ||||
| 	    case NotifyNonlinearVirtual: | ||||
| 	      if (xevent->xfocus.mode != NotifyGrab && | ||||
| 		  xevent->xfocus.mode != NotifyUngrab) | ||||
| 		toplevel->has_focus_window = FALSE; | ||||
| 	      if (xevent->xfocus.mode != NotifyWhileGrabbed) | ||||
| 		toplevel->has_focus = FALSE; | ||||
| 	      break; | ||||
| 	    case NotifyPointer: | ||||
| 	      if (xevent->xfocus.mode != NotifyGrab && | ||||
| 		  xevent->xfocus.mode != NotifyUngrab) | ||||
| 		toplevel->has_pointer_focus = FALSE; | ||||
| 	    break; | ||||
| 	    case NotifyInferior: | ||||
| 	    case NotifyPointerRoot: | ||||
| 	    case NotifyDetailNone: | ||||
| 	      break; | ||||
| 	    } | ||||
|               /* fall through */ | ||||
|             case NotifyNonlinear: | ||||
|             case NotifyNonlinearVirtual: | ||||
|               if (xevent->xfocus.mode != NotifyGrab && | ||||
|                   xevent->xfocus.mode != NotifyUngrab) | ||||
|                 toplevel->has_focus_window = FALSE; | ||||
|               if (xevent->xfocus.mode != NotifyWhileGrabbed) | ||||
|                 toplevel->has_focus = FALSE; | ||||
|               break; | ||||
|             case NotifyPointer: | ||||
|               if (xevent->xfocus.mode != NotifyGrab && | ||||
|                   xevent->xfocus.mode != NotifyUngrab) | ||||
|                 toplevel->has_pointer_focus = FALSE; | ||||
|             break; | ||||
|             case NotifyInferior: | ||||
|             case NotifyPointerRoot: | ||||
|             case NotifyDetailNone: | ||||
|               break; | ||||
|             } | ||||
| 
 | ||||
| 	  if (HAS_FOCUS (toplevel) != had_focus) | ||||
| 	    generate_focus_event (device_manager, window, FALSE); | ||||
| 	} | ||||
|           if (HAS_FOCUS (toplevel) != had_focus) | ||||
|             generate_focus_event (device_manager, window, FALSE); | ||||
|         } | ||||
|       break; | ||||
| 
 | ||||
|     default: | ||||
| @ -862,12 +862,12 @@ gdk_device_manager_core_translate_event (GdkEventTranslator *translator, | ||||
|   if (return_val) | ||||
|     { | ||||
|       if (event->any.window) | ||||
| 	g_object_ref (event->any.window); | ||||
|         g_object_ref (event->any.window); | ||||
| 
 | ||||
|       if (((event->any.type == GDK_ENTER_NOTIFY) || | ||||
| 	   (event->any.type == GDK_LEAVE_NOTIFY)) && | ||||
| 	  (event->crossing.subwindow != NULL)) | ||||
| 	g_object_ref (event->crossing.subwindow); | ||||
|            (event->any.type == GDK_LEAVE_NOTIFY)) && | ||||
|           (event->crossing.subwindow != NULL)) | ||||
|         g_object_ref (event->crossing.subwindow); | ||||
|     } | ||||
|   else | ||||
|     { | ||||
| @ -883,15 +883,15 @@ gdk_device_manager_core_translate_event (GdkEventTranslator *translator, | ||||
| } | ||||
| 
 | ||||
| static GList * | ||||
| gdk_device_manager_core_list_devices (GdkDeviceManager *device_manager, | ||||
|                                       GdkDeviceType     type) | ||||
| gdk_x11_device_manager_core_list_devices (GdkDeviceManager *device_manager, | ||||
|                                           GdkDeviceType     type) | ||||
| { | ||||
|   GdkDeviceManagerCore *device_manager_core; | ||||
|   GdkX11DeviceManagerCore *device_manager_core; | ||||
|   GList *devices = NULL; | ||||
| 
 | ||||
|   if (type == GDK_DEVICE_TYPE_MASTER) | ||||
|     { | ||||
|       device_manager_core = (GdkDeviceManagerCore *) device_manager; | ||||
|       device_manager_core = (GdkX11DeviceManagerCore *) device_manager; | ||||
|       devices = g_list_prepend (devices, device_manager_core->core_keyboard); | ||||
|       devices = g_list_prepend (devices, device_manager_core->core_pointer); | ||||
|     } | ||||
| @ -900,10 +900,10 @@ gdk_device_manager_core_list_devices (GdkDeviceManager *device_manager, | ||||
| } | ||||
| 
 | ||||
| static GdkDevice * | ||||
| gdk_device_manager_core_get_client_pointer (GdkDeviceManager *device_manager) | ||||
| gdk_x11_device_manager_core_get_client_pointer (GdkDeviceManager *device_manager) | ||||
| { | ||||
|   GdkDeviceManagerCore *device_manager_core; | ||||
|   GdkX11DeviceManagerCore *device_manager_core; | ||||
| 
 | ||||
|   device_manager_core = (GdkDeviceManagerCore *) device_manager; | ||||
|   device_manager_core = (GdkX11DeviceManagerCore *) device_manager; | ||||
|   return device_manager_core->core_pointer; | ||||
| } | ||||
| @ -1,54 +0,0 @@ | ||||
| /* GDK - The GIMP Drawing Kit | ||||
|  * Copyright (C) 2009 Carlos Garnacho <carlosg@gnome.org> | ||||
|  * | ||||
|  * This library is free software; you can redistribute it and/or | ||||
|  * modify it under the terms of the GNU Lesser General Public | ||||
|  * License as published by the Free Software Foundation; either | ||||
|  * version 2 of the License, or (at your option) any later version. | ||||
|  * | ||||
|  * This library is distributed in the hope that it will be useful, | ||||
|  * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||
|  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU | ||||
|  * Lesser General Public License for more details. | ||||
|  * | ||||
|  * You should have received a copy of the GNU Lesser 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. | ||||
|  */ | ||||
|  | ||||
| #ifndef __GDK_DEVICE_MANAGER_CORE_H__ | ||||
| #define __GDK_DEVICE_MANAGER_CORE_H__ | ||||
|  | ||||
| #include "gdkdevicemanagerprivate.h" | ||||
|  | ||||
| G_BEGIN_DECLS | ||||
|  | ||||
| #define GDK_TYPE_DEVICE_MANAGER_CORE         (gdk_device_manager_core_get_type ()) | ||||
| #define GDK_DEVICE_MANAGER_CORE(o)           (G_TYPE_CHECK_INSTANCE_CAST ((o), GDK_TYPE_DEVICE_MANAGER_CORE, GdkDeviceManagerCore)) | ||||
| #define GDK_DEVICE_MANAGER_CORE_CLASS(c)     (G_TYPE_CHECK_CLASS_CAST ((c), GDK_TYPE_DEVICE_MANAGER_CORE, GdkDeviceManagerCoreClass)) | ||||
| #define GDK_IS_DEVICE_MANAGER_CORE(o)        (G_TYPE_CHECK_INSTANCE_TYPE ((o), GDK_TYPE_DEVICE_MANAGER_CORE)) | ||||
| #define GDK_IS_DEVICE_MANAGER_CORE_CLASS(c)  (G_TYPE_CHECK_CLASS_TYPE ((c), GDK_TYPE_DEVICE_MANAGER_CORE)) | ||||
| #define GDK_DEVICE_MANAGER_CORE_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), GDK_TYPE_DEVICE_MANAGER_CORE, GdkDeviceManagerCoreClass)) | ||||
|  | ||||
| typedef struct _GdkDeviceManagerCore GdkDeviceManagerCore; | ||||
| typedef struct _GdkDeviceManagerCoreClass GdkDeviceManagerCoreClass; | ||||
|  | ||||
| struct _GdkDeviceManagerCore | ||||
| { | ||||
|   GdkDeviceManager parent_object; | ||||
|   GdkDevice *core_pointer; | ||||
|   GdkDevice *core_keyboard; | ||||
| }; | ||||
|  | ||||
| struct _GdkDeviceManagerCoreClass | ||||
| { | ||||
|   GdkDeviceManagerClass parent_class; | ||||
| }; | ||||
|  | ||||
| GType gdk_device_manager_core_get_type (void) G_GNUC_CONST; | ||||
|  | ||||
|  | ||||
| G_END_DECLS | ||||
|  | ||||
| #endif /* __GDK_DEVICE_MANAGER_CORE_H__ */ | ||||
| @ -19,7 +19,7 @@ | ||||
|  | ||||
| #include "config.h" | ||||
|  | ||||
| #include "gdkdevicemanager-core.h" | ||||
| #include "gdkx11devicemanager-core.h" | ||||
| #ifdef XINPUT_XFREE | ||||
| #include "gdkdevicemanager-xi.h" | ||||
| #ifdef XINPUT_2 | ||||
| @ -79,7 +79,7 @@ _gdk_x11_device_manager_new (GdkDisplay *display) | ||||
|  | ||||
|   GDK_NOTE (INPUT, g_print ("Creating core device manager\n")); | ||||
|  | ||||
|   return g_object_new (GDK_TYPE_DEVICE_MANAGER_CORE, | ||||
|   return g_object_new (GDK_TYPE_X11_DEVICE_MANAGER_CORE, | ||||
|                        "display", display, | ||||
|                        NULL); | ||||
| } | ||||
|  | ||||
| @ -57,7 +57,7 @@ static GList *  gdk_device_manager_xi_list_devices     (GdkDeviceManager  *devic | ||||
|                                                         GdkDeviceType      type); | ||||
|  | ||||
|  | ||||
| G_DEFINE_TYPE_WITH_CODE (GdkDeviceManagerXI, gdk_device_manager_xi, GDK_TYPE_DEVICE_MANAGER_CORE, | ||||
| G_DEFINE_TYPE_WITH_CODE (GdkDeviceManagerXI, gdk_device_manager_xi, GDK_TYPE_X11_DEVICE_MANAGER_CORE, | ||||
|                          G_IMPLEMENT_INTERFACE (GDK_TYPE_EVENT_TRANSLATOR, | ||||
|                                                 gdk_device_manager_xi_event_translator_init)) | ||||
|  | ||||
|  | ||||
| @ -20,7 +20,7 @@ | ||||
| #ifndef __GDK_DEVICE_MANAGER_XI_H__ | ||||
| #define __GDK_DEVICE_MANAGER_XI_H__ | ||||
|  | ||||
| #include "gdkdevicemanager-core.h" | ||||
| #include "gdkx11devicemanager-core.h" | ||||
|  | ||||
| G_BEGIN_DECLS | ||||
|  | ||||
| @ -37,7 +37,7 @@ typedef struct _GdkDeviceManagerXIClass GdkDeviceManagerXIClass; | ||||
|  | ||||
| struct _GdkDeviceManagerXI | ||||
| { | ||||
|   GdkDeviceManagerCore parent_object; | ||||
|   GdkX11DeviceManagerCore parent_object; | ||||
|   GdkDevice *core_pointer; | ||||
|   GdkDevice *core_keyboard; | ||||
|  | ||||
| @ -47,7 +47,7 @@ struct _GdkDeviceManagerXI | ||||
|  | ||||
| struct _GdkDeviceManagerXIClass | ||||
| { | ||||
|   GdkDeviceManagerCoreClass parent_class; | ||||
|   GdkX11DeviceManagerCoreClass parent_class; | ||||
| }; | ||||
|  | ||||
| GType gdk_device_manager_xi_get_type (void) G_GNUC_CONST; | ||||
|  | ||||
| @ -56,6 +56,8 @@ | ||||
| #define __GDKX_H_INSIDE__ | ||||
|  | ||||
| #include <gdk/x11/gdkx11cursor.h> | ||||
| #include <gdk/x11/gdkx11device-core.h> | ||||
| #include <gdk/x11/gdkx11devicemanager-core.h> | ||||
| #include <gdk/x11/gdkx11display.h> | ||||
| #include <gdk/x11/gdkx11displaymanager.h> | ||||
| #include <gdk/x11/gdkx11keys.h> | ||||
|  | ||||
							
								
								
									
										51
									
								
								gdk/x11/gdkx11device-core.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										51
									
								
								gdk/x11/gdkx11device-core.h
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,51 @@ | ||||
| /* GDK - The GIMP Drawing Kit | ||||
|  * Copyright (C) 2009 Carlos Garnacho <carlosg@gnome.org> | ||||
|  * | ||||
|  * This library is free software; you can redistribute it and/or | ||||
|  * modify it under the terms of the GNU Lesser General Public | ||||
|  * License as published by the Free Software Foundation; either | ||||
|  * version 2 of the License, or (at your option) any later version. | ||||
|  * | ||||
|  * This library is distributed in the hope that it will be useful, | ||||
|  * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||
|  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU | ||||
|  * Lesser General Public License for more details. | ||||
|  * | ||||
|  * You should have received a copy of the GNU Lesser 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. | ||||
|  */ | ||||
|  | ||||
| #ifndef __GDK_X11_DEVICE_CORE_H__ | ||||
| #define __GDK_X11_DEVICE_CORE_H__ | ||||
|  | ||||
| #include "gdkdeviceprivate.h" | ||||
|  | ||||
| G_BEGIN_DECLS | ||||
|  | ||||
| #define GDK_TYPE_X11_DEVICE_CORE         (gdk_x11_device_core_get_type ()) | ||||
| #define GDK_X11_DEVICE_CORE(o)           (G_TYPE_CHECK_INSTANCE_CAST ((o), GDK_TYPE_X11_DEVICE_CORE, GdkX11DeviceCore)) | ||||
| #define GDK_X11_DEVICE_CORE_CLASS(c)     (G_TYPE_CHECK_CLASS_CAST ((c), GDK_TYPE_X11_DEVICE_CORE, GdkX11DeviceCoreClass)) | ||||
| #define GDK_IS_X11_DEVICE_CORE(o)        (G_TYPE_CHECK_INSTANCE_TYPE ((o), GDK_TYPE_X11_DEVICE_CORE)) | ||||
| #define GDK_IS_X11_DEVICE_CORE_CLASS(c)  (G_TYPE_CHECK_CLASS_TYPE ((c), GDK_TYPE_X11_DEVICE_CORE)) | ||||
| #define GDK_X11_DEVICE_CORE_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), GDK_TYPE_X11_DEVICE_CORE, GdkX11DeviceCoreClass)) | ||||
|  | ||||
| typedef struct _GdkX11DeviceCore GdkX11DeviceCore; | ||||
| typedef struct _GdkX11DeviceCoreClass GdkX11DeviceCoreClass; | ||||
|  | ||||
| struct _GdkX11DeviceCore | ||||
| { | ||||
|   GdkDevice parent_instance; | ||||
| }; | ||||
|  | ||||
| struct _GdkX11DeviceCoreClass | ||||
| { | ||||
|   GdkDeviceClass parent_class; | ||||
| }; | ||||
|  | ||||
| GType gdk_x11_device_core_get_type (void) G_GNUC_CONST; | ||||
|  | ||||
| G_END_DECLS | ||||
|  | ||||
| #endif /* __GDK_X11_DEVICE_CORE_H__ */ | ||||
							
								
								
									
										54
									
								
								gdk/x11/gdkx11devicemanager-core.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										54
									
								
								gdk/x11/gdkx11devicemanager-core.h
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,54 @@ | ||||
| /* GDK - The GIMP Drawing Kit | ||||
|  * Copyright (C) 2009 Carlos Garnacho <carlosg@gnome.org> | ||||
|  * | ||||
|  * This library is free software; you can redistribute it and/or | ||||
|  * modify it under the terms of the GNU Lesser General Public | ||||
|  * License as published by the Free Software Foundation; either | ||||
|  * version 2 of the License, or (at your option) any later version. | ||||
|  * | ||||
|  * This library is distributed in the hope that it will be useful, | ||||
|  * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||
|  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU | ||||
|  * Lesser General Public License for more details. | ||||
|  * | ||||
|  * You should have received a copy of the GNU Lesser 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. | ||||
|  */ | ||||
|  | ||||
| #ifndef __GDK_X11_DEVICE_MANAGER_CORE_H__ | ||||
| #define __GDK_X11_DEVICE_MANAGER_CORE_H__ | ||||
|  | ||||
| #include "gdkdevicemanagerprivate.h" | ||||
|  | ||||
| G_BEGIN_DECLS | ||||
|  | ||||
| #define GDK_TYPE_X11_DEVICE_MANAGER_CORE         (gdk_x11_device_manager_core_get_type ()) | ||||
| #define GDK_X11_DEVICE_MANAGER_CORE(o)           (G_TYPE_CHECK_INSTANCE_CAST ((o), GDK_TYPE_X11_DEVICE_MANAGER_CORE, GdkX11DeviceManagerCore)) | ||||
| #define GDK_X11_DEVICE_MANAGER_CORE_CLASS(c)     (G_TYPE_CHECK_CLASS_CAST ((c), GDK_TYPE_X11_DEVICE_MANAGER_CORE, GdkX11DeviceManagerCoreClass)) | ||||
| #define GDK_IS_X11_DEVICE_MANAGER_CORE(o)        (G_TYPE_CHECK_INSTANCE_TYPE ((o), GDK_TYPE_X11_DEVICE_MANAGER_CORE)) | ||||
| #define GDK_IS_X11_DEVICE_MANAGER_CORE_CLASS(c)  (G_TYPE_CHECK_CLASS_TYPE ((c), GDK_TYPE_X11_DEVICE_MANAGER_CORE)) | ||||
| #define GDK_X11_DEVICE_MANAGER_CORE_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), GDK_TYPE_X11_DEVICE_MANAGER_CORE, GdkX11DeviceManagerCoreClass)) | ||||
|  | ||||
| typedef struct _GdkX11DeviceManagerCore GdkX11DeviceManagerCore; | ||||
| typedef struct _GdkX11DeviceManagerCoreClass GdkX11DeviceManagerCoreClass; | ||||
|  | ||||
| struct _GdkX11DeviceManagerCore | ||||
| { | ||||
|   GdkDeviceManager parent_object; | ||||
|   GdkDevice *core_pointer; | ||||
|   GdkDevice *core_keyboard; | ||||
| }; | ||||
|  | ||||
| struct _GdkX11DeviceManagerCoreClass | ||||
| { | ||||
|   GdkDeviceManagerClass parent_class; | ||||
| }; | ||||
|  | ||||
| GType gdk_x11_device_manager_core_get_type (void) G_GNUC_CONST; | ||||
|  | ||||
|  | ||||
| G_END_DECLS | ||||
|  | ||||
| #endif /* __GDK_X11_DEVICE_MANAGER_CORE_H__ */ | ||||
		Reference in New Issue
	
	Block a user
	 Matthias Clasen
					Matthias Clasen