[gtk+] Win32: fold the gdkinput.c file in gdkdisplay-win32.c
- From: Paolo Borelli <pborelli src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk+] Win32: fold the gdkinput.c file in gdkdisplay-win32.c
- Date: Mon, 22 Feb 2016 20:45:27 +0000 (UTC)
commit 7047099fd82a428e913b7a8eae08132ee8db8ea0
Author: Paolo Borelli <pborelli gnome org>
Date: Mon Feb 22 21:01:24 2016 +0100
Win32: fold the gdkinput.c file in gdkdisplay-win32.c
This is similar to what is done in the X11 and wayland backends.
It also gets rid of the _gdk_input_devices global variable
gdk/Makefile.am | 1 -
gdk/win32/Makefile.am | 1 -
gdk/win32/gdkdisplay-win32.c | 36 ++++++++++++++++++++-
gdk/win32/gdkdisplay-win32.h | 2 +
gdk/win32/gdkevents-win32.c | 2 +-
gdk/win32/gdkglobals-win32.c | 2 +
gdk/win32/gdkinput.c | 74 ------------------------------------------
gdk/win32/gdkprivate-win32.h | 3 +-
8 files changed, 42 insertions(+), 79 deletions(-)
---
diff --git a/gdk/Makefile.am b/gdk/Makefile.am
index 84942ce..7d5feec 100644
--- a/gdk/Makefile.am
+++ b/gdk/Makefile.am
@@ -312,7 +312,6 @@ w32_introspection_files = \
win32/gdkevents-win32.c \
win32/gdkgeometry-win32.c \
win32/gdkglobals-win32.c \
- win32/gdkinput.c \
win32/gdkkeys-win32.c \
win32/gdkmain-win32.c \
win32/gdkproperty-win32.c \
diff --git a/gdk/win32/Makefile.am b/gdk/win32/Makefile.am
index e5fea77..7ad92ff 100644
--- a/gdk/win32/Makefile.am
+++ b/gdk/win32/Makefile.am
@@ -45,7 +45,6 @@ libgdk_win32_la_SOURCES = \
gdkglcontext-win32.c \
gdkglcontext-win32.h \
gdkglobals-win32.c \
- gdkinput.c \
gdkkeys-win32.c \
gdkmain-win32.c \
gdkprivate-win32.h \
diff --git a/gdk/win32/gdkdisplay-win32.c b/gdk/win32/gdkdisplay-win32.c
index 413a88e..1ef8c9e 100644
--- a/gdk/win32/gdkdisplay-win32.c
+++ b/gdk/win32/gdkdisplay-win32.c
@@ -20,6 +20,7 @@
#include "gdk.h"
#include "gdkprivate-win32.h"
#include "gdkdisplay-win32.h"
+#include "gdkdevicemanager-win32.h"
#include "gdkglcontext-win32.h"
#include "gdkwin32display.h"
#include "gdkwin32screen.h"
@@ -28,6 +29,37 @@
static int debug_indent = 0;
+static GList *
+gdk_win32_display_list_devices (GdkDisplay *display)
+{
+ g_return_val_if_fail (display == gdk_display_get_default (), NULL);
+
+ return GDK_WIN32_DISPLAY (display)->input_devices;
+}
+
+static void
+_gdk_input_init (GdkDisplay *display)
+{
+ GdkDeviceManagerWin32 *device_manager;
+ GList *devices;
+
+ _gdk_input_ignore_core = FALSE;
+
+ device_manager = g_object_new (GDK_TYPE_DEVICE_MANAGER_WIN32,
+ "display", display,
+ NULL);
+ display->device_manager = GDK_DEVICE_MANAGER (device_manager);
+
+ display->core_pointer = device_manager->core_pointer;
+
+ devices = g_list_append (NULL, display->core_pointer);
+ devices = g_list_concat (devices, g_list_copy (device_manager->wintab_devices));
+
+ GDK_WIN32_DISPLAY (display)->input_devices = devices;
+
+ _gdk_input_wintab_init_check (GDK_DEVICE_MANAGER (device_manager));
+}
+
/**
* gdk_win32_display_set_cursor_theme:
* @display: (type GdkWin32Display): a #GdkDisplay
@@ -624,6 +656,8 @@ gdk_win32_display_finalize (GObject *object)
{
GdkWin32Display *display_win32 = GDK_WIN32_DISPLAY (object);
+ g_list_free (display_win32->input_devices);
+
_gdk_win32_display_finalize_cursors (display_win32);
_gdk_win32_dnd_exit ();
@@ -691,7 +725,7 @@ gdk_win32_display_class_init (GdkWin32DisplayClass *klass)
display_class->supports_input_shapes = gdk_win32_display_supports_input_shapes;
display_class->supports_composite = gdk_win32_display_supports_composite;
- display_class->list_devices = _gdk_win32_display_list_devices;
+ display_class->list_devices = gdk_win32_display_list_devices;
//? display_class->get_app_launch_context = _gdk_win32_display_get_app_launch_context;
display_class->get_cursor_for_type = _gdk_win32_display_get_cursor_for_type;
display_class->get_cursor_for_name = _gdk_win32_display_get_cursor_for_name;
diff --git a/gdk/win32/gdkdisplay-win32.h b/gdk/win32/gdkdisplay-win32.h
index cbd4b5d..8f3b48e 100644
--- a/gdk/win32/gdkdisplay-win32.h
+++ b/gdk/win32/gdkdisplay-win32.h
@@ -28,6 +28,8 @@ struct _GdkWin32Display
GdkScreen *screen;
+ GList *input_devices;
+
Win32CursorTheme *cursor_theme;
gchar *cursor_theme_name;
int cursor_theme_size;
diff --git a/gdk/win32/gdkevents-win32.c b/gdk/win32/gdkevents-win32.c
index 7f0a138..591219d 100644
--- a/gdk/win32/gdkevents-win32.c
+++ b/gdk/win32/gdkevents-win32.c
@@ -3376,7 +3376,7 @@ gdk_event_translate (MSG *msg,
GET_Y_LPARAM (msg->lParam), ret_valp);
break;
- /* Handle WINTAB events here, as we know that gdkinput.c will
+ /* Handle WINTAB events here, as we know that the device manager will
* use the fixed WT_DEFBASE as lcMsgBase, and we thus can use the
* constants as case labels.
*/
diff --git a/gdk/win32/gdkglobals-win32.c b/gdk/win32/gdkglobals-win32.c
index 39b23e2..2398ca1 100644
--- a/gdk/win32/gdkglobals-win32.c
+++ b/gdk/win32/gdkglobals-win32.c
@@ -35,6 +35,8 @@ HDC _gdk_display_hdc;
HINSTANCE _gdk_dll_hinstance;
HINSTANCE _gdk_app_hmodule;
+gboolean _gdk_input_ignore_core;
+
HKL _gdk_input_locale;
gboolean _gdk_input_locale_is_ime;
UINT _gdk_input_codepage;
diff --git a/gdk/win32/gdkprivate-win32.h b/gdk/win32/gdkprivate-win32.h
index e577093..292ea5f 100644
--- a/gdk/win32/gdkprivate-win32.h
+++ b/gdk/win32/gdkprivate-win32.h
@@ -268,6 +268,8 @@ extern HDC _gdk_display_hdc;
extern HINSTANCE _gdk_dll_hinstance;
extern HINSTANCE _gdk_app_hmodule;
+extern gboolean _gdk_input_ignore_core;
+
/* These are thread specific, but GDK/win32 works OK only when invoked
* from a single thread anyway.
*/
@@ -539,7 +541,6 @@ void _gdk_monitor_init(GdkWin32Screen *screen);
void _gdk_visual_init (GdkScreen *screen);
void _gdk_dnd_init (void);
void _gdk_events_init (void);
-void _gdk_input_init (GdkDisplay *display);
void _gdk_input_wintab_init_check (GdkDeviceManager *device_manager);
#endif /* __GDK_PRIVATE_WIN32_H__ */
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]