Jacek Caban : winex11: Move wintab entry points to dllmain.c.

Alexandre Julliard julliard at winehq.org
Wed May 4 16:14:45 CDT 2022


Module: wine
Branch: master
Commit: 27b151763dcd23c17f0f30958288f42dabeea912
URL:    https://source.winehq.org/git/wine.git/?a=commit;h=27b151763dcd23c17f0f30958288f42dabeea912

Author: Jacek Caban <jacek at codeweavers.com>
Date:   Mon May  2 20:12:01 2022 +0200

winex11: Move wintab entry points to dllmain.c.

Signed-off-by: Jacek Caban <jacek at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 dlls/winex11.drv/dllmain.c | 36 ++++++++++++++++++++++++++++++++++++
 dlls/winex11.drv/unixlib.h |  8 ++++++++
 dlls/winex11.drv/wintab.c  | 45 +++++++++++++++++++++++++--------------------
 dlls/winex11.drv/x11drv.h  |  4 ++++
 4 files changed, 73 insertions(+), 20 deletions(-)

diff --git a/dlls/winex11.drv/dllmain.c b/dlls/winex11.drv/dllmain.c
index f5e829d73af..84c20217c78 100644
--- a/dlls/winex11.drv/dllmain.c
+++ b/dlls/winex11.drv/dllmain.c
@@ -144,3 +144,39 @@ BOOL CDECL wine_create_desktop( UINT width, UINT height )
     struct create_desktop_params params = { .width = width, .height = height };
     return x11drv_create_desktop( &params );
 }
+
+/***********************************************************************
+ *           AttachEventQueueToTablet (winex11.@)
+ */
+int CDECL X11DRV_AttachEventQueueToTablet( HWND owner )
+{
+    return x11drv_tablet_attach_queue( owner );
+}
+
+/***********************************************************************
+ *           GetCurrentPacket (winex11.@)
+ */
+int CDECL X11DRV_GetCurrentPacket( void *packet )
+{
+    return x11drv_tablet_get_packet( packet );
+}
+
+/***********************************************************************
+ *           LoadTabletInfo (winex11.@)
+ */
+BOOL CDECL X11DRV_LoadTabletInfo( HWND hwnd )
+{
+    return x11drv_tablet_load_info( hwnd );
+}
+
+/***********************************************************************
+ *          WTInfoW (winex11.@)
+ */
+UINT CDECL X11DRV_WTInfoW( UINT category, UINT index, void *output )
+{
+    struct tablet_info_params params;
+    params.category = category;
+    params.index = index;
+    params.output = output;
+    return x11drv_tablet_info( &params );
+}
diff --git a/dlls/winex11.drv/unixlib.h b/dlls/winex11.drv/unixlib.h
index 43a00b619c1..231beb055dc 100644
--- a/dlls/winex11.drv/unixlib.h
+++ b/dlls/winex11.drv/unixlib.h
@@ -35,6 +35,14 @@ struct create_desktop_params
     UINT height;
 };
 
+/* x11drv_tablet_info params */
+struct tablet_info_params
+{
+    UINT category;
+    UINT index;
+    void *output;
+};
+
 /* DnD support */
 
 struct format_entry
diff --git a/dlls/winex11.drv/wintab.c b/dlls/winex11.drv/wintab.c
index aa0d7be2fd0..edd6fb8d271 100644
--- a/dlls/winex11.drv/wintab.c
+++ b/dlls/winex11.drv/wintab.c
@@ -481,9 +481,9 @@ static void disable_system_cursors(void)
 
 
 /***********************************************************************
- *             X11DRV_LoadTabletInfo (X11DRV.@)
+ *           x11drv_tablet_load_info
  */
-BOOL CDECL X11DRV_LoadTabletInfo(HWND hwnddefault)
+NTSTATUS x11drv_tablet_load_info( void *hwnd )
 {
     static const WCHAR SZ_CONTEXT_NAME[] = {'W','i','n','e',' ','T','a','b','l','e','t',' ','C','o','n','t','e','x','t',0};
     static const WCHAR SZ_DEVICE_NAME[] = {'W','i','n','e',' ','T','a','b','l','e','t',' ','D','e','v','i','c','e',0};
@@ -509,7 +509,7 @@ BOOL CDECL X11DRV_LoadTabletInfo(HWND hwnddefault)
         return FALSE;
     }
 
-    hwndTabletDefault = hwnddefault;
+    hwndTabletDefault = hwnd;
 
     /* Do base initialization */
     strcpyW(gSysContext.lcName, SZ_CONTEXT_NAME);
@@ -1001,9 +1001,9 @@ static BOOL proximity_event( HWND hwnd, XEvent *event )
 }
 
 /***********************************************************************
- *		X11DRV_AttachEventQueueToTablet (X11DRV.@)
+ *           x11drv_tablet_attach_queue
  */
-int CDECL X11DRV_AttachEventQueueToTablet(HWND hOwner)
+NTSTATUS x11drv_tablet_attach_queue( void *owner )
 {
     struct x11drv_thread_data *data = x11drv_init_thread_data();
     int             num_devices;
@@ -1013,11 +1013,11 @@ int CDECL X11DRV_AttachEventQueueToTablet(HWND hOwner)
     XDeviceInfo     *target = NULL;
     XDevice         *the_device;
     XEventClass     event_list[7];
-    Window          win = X11DRV_get_whole_window( hOwner );
+    Window          win = X11DRV_get_whole_window( owner );
 
     if (!win || !xinput_handle) return 0;
 
-    TRACE("Creating context for window %p (%lx)  %i cursors\n", hOwner, win, gNumCursors);
+    TRACE("Creating context for window %p (%lx)  %i cursors\n", owner, win, gNumCursors);
 
     devices = pXListInputDevices(data->display, &num_devices);
 
@@ -1093,11 +1093,11 @@ int CDECL X11DRV_AttachEventQueueToTablet(HWND hOwner)
 }
 
 /***********************************************************************
- *		X11DRV_GetCurrentPacket (X11DRV.@)
+ *           x11drv_tablet_get_packet
  */
-int CDECL X11DRV_GetCurrentPacket(LPWTPACKET packet)
+NTSTATUS x11drv_tablet_get_packet( void *packet )
 {
-    *packet = gMsgPacket;
+    *(WTPACKET *)packet = gMsgPacket;
     return 1;
 }
 
@@ -1114,10 +1114,15 @@ static inline int CopyTabletData(LPVOID target, LPCVOID src, INT size)
 }
 
 /***********************************************************************
- *		X11DRV_WTInfoW (X11DRV.@)
+ *           x11drv_tablet_info
  */
-UINT CDECL X11DRV_WTInfoW(UINT wCategory, UINT nIndex, LPVOID lpOutput)
+NTSTATUS x11drv_tablet_info( void *arg )
 {
+    struct tablet_info_params *params = arg;
+    UINT wCategory = params->category;
+    UINT nIndex = params->index;
+    void *lpOutput = params->output;
+
     /*
      * It is valid to call WTInfoA with lpOutput == NULL, as per standard.
      * lpOutput == NULL signifies the user only wishes
@@ -1546,33 +1551,33 @@ UINT CDECL X11DRV_WTInfoW(UINT wCategory, UINT nIndex, LPVOID lpOutput)
 #else /* SONAME_LIBXI */
 
 /***********************************************************************
- *		AttachEventQueueToTablet (X11DRV.@)
+ *           x11drv_tablet_attach_queue
  */
-int CDECL X11DRV_AttachEventQueueToTablet(HWND hOwner)
+NTSTATUS x11drv_tablet_attach_queue( void *owner )
 {
     return 0;
 }
 
 /***********************************************************************
- *		GetCurrentPacket (X11DRV.@)
+ *           x11drv_tablet_get_packet
  */
-int CDECL X11DRV_GetCurrentPacket(LPWTPACKET packet)
+NTSTATUS x11drv_tablet_get_packet( void *arg )
 {
     return 0;
 }
 
 /***********************************************************************
- *		LoadTabletInfo (X11DRV.@)
+ *           x11drv_tablet_load_info
  */
-BOOL CDECL X11DRV_LoadTabletInfo(HWND hwnddefault)
+NTSTATUS x11drv_tablet_load_info( void *arg )
 {
     return FALSE;
 }
 
 /***********************************************************************
- *		WTInfoW (X11DRV.@)
+ *           x11drv_tablet_info
  */
-UINT CDECL X11DRV_WTInfoW(UINT wCategory, UINT nIndex, LPVOID lpOutput)
+NTSTATUS x11drv_tablet_info( void *arg )
 {
     return 0;
 }
diff --git a/dlls/winex11.drv/x11drv.h b/dlls/winex11.drv/x11drv.h
index bda4322d26b..5f49f609e1e 100644
--- a/dlls/winex11.drv/x11drv.h
+++ b/dlls/winex11.drv/x11drv.h
@@ -846,6 +846,10 @@ static inline BOOL is_window_rect_mapped( const RECT *rect )
 extern NTSTATUS x11drv_init( void *arg ) DECLSPEC_HIDDEN;
 extern NTSTATUS x11drv_clipboard_message( void *arg ) DECLSPEC_HIDDEN;
 extern NTSTATUS x11drv_create_desktop( void *arg ) DECLSPEC_HIDDEN;
+extern NTSTATUS x11drv_tablet_attach_queue( void *arg ) DECLSPEC_HIDDEN;
+extern NTSTATUS x11drv_tablet_get_packet( void *arg ) DECLSPEC_HIDDEN;
+extern NTSTATUS x11drv_tablet_load_info( void *arg ) DECLSPEC_HIDDEN;
+extern NTSTATUS x11drv_tablet_info( void *arg ) DECLSPEC_HIDDEN;
 
 extern NTSTATUS WINAPI x11drv_post_drop( void *data, ULONG size ) DECLSPEC_HIDDEN;
 




More information about the wine-cvs mailing list