Mercurial > sdl-ios-xcode
annotate src/video/Xext/XME/xme.c @ 4393:9afe12fb4c41 SDL-1.2
Fixed bug #901
Tim Angus 2009-12-11 11:45:46 PST
Disable mouse event generation when state is not SDL_APPMOUSEFOCUS
If a Windows SDL application is minimised by using alt-tab, SDL_APPMOUSEFOCUS
is lost as part of the minimisation. Unfortunately, the directx driver doesn't
pay any attention to this state when generating mouse button events, so
clicking on the Desktop can cause mouse clicks in the SDL application, while
it's still minimised. The attached patch fixes this. It looks much more
complicated than it actually is due to indentation; here it is ignoring
whitespace:
tma@abraxas:~/sources/SDL-1.2-svn$ svn diff -x -b
Index: src/video/windx5/SDL_dx5events.c
===================================================================
--- src/video/windx5/SDL_dx5events.c (revision 5376)
+++ src/video/windx5/SDL_dx5events.c (working copy)
@@ -374,10 +374,9 @@
if ( !(SDL_GetAppState() & SDL_APPMOUSEFOCUS) ) {
mouse_lost = 1;
ClipCursor(NULL);
- }
-
+ } else {
/* If the mouse was lost, regain some sense of mouse state */
- if ( mouse_lost && (SDL_GetAppState() & SDL_APPMOUSEFOCUS) ) {
+ if ( mouse_lost ) {
POINT mouse_pos;
Uint8 old_state;
Uint8 new_state;
@@ -548,6 +547,7 @@
if ( xrel || yrel ) {
post_mouse_motion(1, xrel, yrel);
}
+ }
}
/* The main Win32 event handler */
author | Sam Lantinga <slouken@libsdl.org> |
---|---|
date | Mon, 14 Dec 2009 22:41:31 +0000 |
parents | 904defc0792e |
children |
rev | line source |
---|---|
1242
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
1 /* |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
2 * Copyright 1993-2001 by Xi Graphics, Inc. |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
3 * All Rights Reserved. |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
4 * |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
5 * Please see the LICENSE file accompanying this distribution for licensing |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
6 * information. |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
7 * |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
8 * Please send any bug fixes and modifications to src@xig.com. |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
9 * |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
10 * $XiGId: xme.c,v 1.2 2001/11/30 21:56:59 jon Exp $ |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
11 * |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
12 */ |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
13 |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
14 #define NEED_EVENTS |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
15 #define NEED_REPLIES |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
16 |
4144
904defc0792e
Fix X11 build issue with multiple includes of Xlibint.h ...
Ryan C. Gordon <icculus@icculus.org>
parents:
3885
diff
changeset
|
17 /* Apparently some X11 systems can't include this multiple times... */ |
904defc0792e
Fix X11 build issue with multiple includes of Xlibint.h ...
Ryan C. Gordon <icculus@icculus.org>
parents:
3885
diff
changeset
|
18 #ifndef SDL_INCLUDED_XLIBINT_H |
904defc0792e
Fix X11 build issue with multiple includes of Xlibint.h ...
Ryan C. Gordon <icculus@icculus.org>
parents:
3885
diff
changeset
|
19 #define SDL_INCLUDED_XLIBINT_H 1 |
1599
ecba4bbaf9c2
More dynamic X11 mangling...should fix NetBSD builds. And hopefully doesn't
Ryan C. Gordon <icculus@icculus.org>
parents:
1575
diff
changeset
|
20 #include <X11/Xlibint.h> |
4144
904defc0792e
Fix X11 build issue with multiple includes of Xlibint.h ...
Ryan C. Gordon <icculus@icculus.org>
parents:
3885
diff
changeset
|
21 #endif |
904defc0792e
Fix X11 build issue with multiple includes of Xlibint.h ...
Ryan C. Gordon <icculus@icculus.org>
parents:
3885
diff
changeset
|
22 |
1242
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
23 #include <X11/Xthreads.h> |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
24 #include <X11/Xmd.h> |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
25 #include <X11/Xproto.h> |
1599
ecba4bbaf9c2
More dynamic X11 mangling...should fix NetBSD builds. And hopefully doesn't
Ryan C. Gordon <icculus@icculus.org>
parents:
1575
diff
changeset
|
26 #include "../extensions/Xext.h" |
1361
19418e4422cb
New configure-based build system. Still work in progress, but much improved
Sam Lantinga <slouken@libsdl.org>
parents:
1242
diff
changeset
|
27 #include "../extensions/extutil.h" |
1242
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
28 |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
29 /*****************************************************************************/ |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
30 |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
31 |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
32 #define XIGMISC_PROTOCOL_NAME "XiG-SUNDRY-NONSTANDARD" |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
33 #define XIGMISC_MAJOR_VERSION 2 |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
34 #define XIGMISC_MINOR_VERSION 0 |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
35 |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
36 #define XiGMiscNumberEvents 0 |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
37 |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
38 #define X_XiGMiscQueryVersion 0 |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
39 #define X_XiGMiscQueryViews 1 |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
40 #define X_XiGMiscQueryResolutions 2 |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
41 #define X_XiGMiscChangeResolution 3 |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
42 #define X_XiGMiscFullScreen 4 |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
43 |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
44 #define sz_xXiGMiscQueryVersionReq 8 |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
45 #define sz_xXiGMiscQueryViewsReq 8 |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
46 #define sz_xXiGMiscQueryResolutionsReq 8 |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
47 #define sz_xXiGMiscChangeResolutionReq 16 |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
48 #define sz_xXiGMiscFullScreenReq 16 |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
49 |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
50 #define sz_xXiGMiscQueryVersionReply 32 |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
51 #define sz_xXiGMiscQueryViewsReply 32 |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
52 #define sz_xXiGMiscQueryResolutionsReply 32 |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
53 #define sz_xXiGMiscQueryFullScreenReply 32 |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
54 |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
55 /*******************************************************************/ |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
56 |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
57 typedef struct { |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
58 CARD8 reqType; /* always codes->major_opcode */ |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
59 CARD8 xigmiscReqType; /* always X_XiGMiscQueryVersion */ |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
60 CARD16 length; |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
61 CARD16 major; |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
62 CARD16 minor; |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
63 } xXiGMiscQueryVersionReq; |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
64 |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
65 typedef struct { |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
66 CARD8 reqType; /* always codes->major_opcode */ |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
67 CARD8 xigmiscReqType; /* always X_XiGMiscQueryViews */ |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
68 CARD16 length; |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
69 CARD8 screen; |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
70 CARD8 pad0; |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
71 CARD16 pad1; |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
72 } xXiGMiscQueryViewsReq; |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
73 |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
74 typedef struct { |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
75 CARD8 reqType; /* always codes->major_opcode */ |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
76 CARD8 xigmiscReqType; /* always X_XiGMiscQueryResolutions */ |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
77 CARD16 length; |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
78 CARD8 screen; |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
79 CARD8 view; |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
80 CARD16 pad0; |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
81 } xXiGMiscQueryResolutionsReq; |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
82 |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
83 typedef struct { |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
84 CARD8 reqType; /* always codes->major_opcode */ |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
85 CARD8 xigmiscReqType; /* always X_XiGMiscChangeResolution */ |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
86 CARD16 length; |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
87 CARD8 screen; |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
88 CARD8 view; |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
89 CARD16 pad0; |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
90 CARD16 width; |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
91 CARD16 height; |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
92 INT32 refresh; |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
93 } xXiGMiscChangeResolutionReq; |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
94 |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
95 typedef struct { |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
96 CARD8 reqType; /* always codes->major_opcode */ |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
97 CARD8 xigmiscReqType; /* always X_XiGMiscFullScreen */ |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
98 CARD16 length; |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
99 CARD8 screen; |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
100 CARD8 pad0; |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
101 CARD16 pad1; |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
102 CARD32 window; |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
103 CARD32 cmap; |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
104 } xXiGMiscFullScreenReq; |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
105 |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
106 /*******************************************************************/ |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
107 |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
108 typedef struct { |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
109 BYTE type; /* X_Reply */ |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
110 CARD8 pad0; |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
111 CARD16 sequenceNumber; |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
112 CARD32 length; |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
113 CARD16 major; |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
114 CARD16 minor; |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
115 CARD32 pad1; |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
116 CARD32 pad2; |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
117 CARD32 pad3; |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
118 CARD32 pad4; |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
119 CARD32 pad5; |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
120 } xXiGMiscQueryVersionReply; |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
121 |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
122 typedef struct { |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
123 BYTE type; /* X_Reply */ |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
124 CARD8 pad0; |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
125 CARD16 sequenceNumber; |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
126 CARD32 length; |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
127 CARD32 nviews; |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
128 CARD32 pad1; |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
129 CARD32 pad2; |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
130 CARD32 pad3; |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
131 CARD32 pad4; |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
132 CARD32 pad5; |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
133 } xXiGMiscQueryViewsReply; |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
134 |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
135 typedef struct { |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
136 BYTE type; /* X_Reply */ |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
137 CARD8 pad0; |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
138 CARD16 sequenceNumber; |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
139 CARD32 length; |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
140 CARD16 active; |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
141 CARD16 nresolutions; |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
142 CARD32 pad1; |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
143 CARD32 pad2; |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
144 CARD32 pad3; |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
145 CARD32 pad4; |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
146 CARD32 pad5; |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
147 } xXiGMiscQueryResolutionsReply; |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
148 |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
149 typedef struct { |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
150 BYTE type; /* X_Reply */ |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
151 BOOL success; |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
152 CARD16 sequenceNumber; |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
153 CARD32 length; |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
154 CARD32 pad1; |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
155 CARD32 pad2; |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
156 CARD32 pad3; |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
157 CARD32 pad4; |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
158 CARD32 pad5; |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
159 CARD32 pad6; |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
160 } xXiGMiscFullScreenReply; |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
161 |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
162 /*******************************************************************/ |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
163 |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
164 typedef struct { |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
165 INT16 x; |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
166 INT16 y; |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
167 CARD16 w; |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
168 CARD16 h; |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
169 } XiGMiscViewInfo; |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
170 |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
171 typedef struct { |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
172 CARD16 width; |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
173 CARD16 height; |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
174 INT32 refresh; |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
175 } XiGMiscResolutionInfo; |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
176 |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
177 /*****************************************************************************/ |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
178 |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
179 static XExtensionInfo *xigmisc_info = NULL; |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
180 static char *xigmisc_extension_name = XIGMISC_PROTOCOL_NAME; |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
181 |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
182 #define XiGMiscCheckExtension(dpy,i,val) \ |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
183 XextCheckExtension (dpy, i, xigmisc_extension_name, val) |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
184 #define XiGMiscSimpleCheckExtension(dpy,i) \ |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
185 XextSimpleCheckExtension (dpy, i, xigmisc_extension_name) |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
186 |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
187 #if defined(__STDC__) && !defined(UNIXCPP) |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
188 #define XiGMiscGetReq(name,req,info) GetReq (name, req); \ |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
189 req->reqType = info->codes->major_opcode; \ |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
190 req->xigmiscReqType = X_##name; |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
191 |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
192 #define XiGMiscGetReqExtra(name,n,req,info) GetReqExtra (name, n, req); \ |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
193 req->reqType = info->codes->major_opcode; \ |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
194 req->xigmicReqType = X_##name; |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
195 #else |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
196 #define XiGMiscGetReq(name,req,info) GetReq (name, req); \ |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
197 req->reqType = info->codes->major_opcode; \ |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
198 req->xigmiscReqType = X_/**/name; |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
199 #define XiGMiscGetReqExtra(name,n,req,info) GetReqExtra (name, n, req); \ |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
200 req->reqType = info->codes->major_opcode; \ |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
201 req->xigmiscReqType = X_/**/name; |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
202 #endif |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
203 |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
204 |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
205 |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
206 /* |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
207 * find_display - locate the display info block |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
208 */ |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
209 static int XiGMiscCloseDisplay(); |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
210 |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
211 static XExtensionHooks xigmisc_extension_hooks = { |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
212 NULL, /* create_gc */ |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
213 NULL, /* copy_gc */ |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
214 NULL, /* flush_gc */ |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
215 NULL, /* free_gc */ |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
216 NULL, /* create_font */ |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
217 NULL, /* free_font */ |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
218 XiGMiscCloseDisplay, /* close_display */ |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
219 NULL, /* wire_to_event */ |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
220 NULL, /* event_to_wire */ |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
221 NULL, /* error */ |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
222 NULL, /* error_string */ |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
223 }; |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
224 |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
225 |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
226 static XEXT_GENERATE_CLOSE_DISPLAY (XiGMiscCloseDisplay, xigmisc_info) |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
227 |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
228 static XEXT_GENERATE_FIND_DISPLAY (XiGMiscFindDisplay, xigmisc_info, |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
229 xigmisc_extension_name, |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
230 &xigmisc_extension_hooks, XiGMiscNumberEvents, NULL) |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
231 |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
232 |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
233 /*****************************************************************************/ |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
234 |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
235 Bool XiGMiscQueryVersion(Display *dpy, int *major, int *minor) |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
236 { |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
237 int opcode, event, error; |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
238 xXiGMiscQueryVersionReq *req; |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
239 xXiGMiscQueryVersionReply rep; |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
240 XExtDisplayInfo *info = XiGMiscFindDisplay(dpy); |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
241 |
1575
3ba88cb7eb1b
Updated dynamic X11 code. See details in Bugzilla #170.
Ryan C. Gordon <icculus@icculus.org>
parents:
1384
diff
changeset
|
242 if (!XQueryExtension(dpy, XIGMISC_PROTOCOL_NAME, &opcode, &event, &error)) |
1242
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
243 return xFalse; |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
244 |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
245 XiGMiscCheckExtension(dpy, info, xFalse); |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
246 |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
247 LockDisplay (dpy); |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
248 XiGMiscGetReq (XiGMiscQueryVersion, req, info); |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
249 |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
250 req->major = XIGMISC_MAJOR_VERSION; |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
251 req->minor = XIGMISC_MINOR_VERSION; |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
252 |
1575
3ba88cb7eb1b
Updated dynamic X11 code. See details in Bugzilla #170.
Ryan C. Gordon <icculus@icculus.org>
parents:
1384
diff
changeset
|
253 if (!_XReply (dpy, (xReply *)&rep, 0, xTrue)) { |
1242
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
254 UnlockDisplay(dpy); |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
255 SyncHandle(); |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
256 return xFalse; |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
257 } |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
258 |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
259 *major = rep.major; |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
260 *minor = rep.minor; |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
261 UnlockDisplay(dpy); |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
262 SyncHandle(); |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
263 |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
264 return xTrue; |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
265 } |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
266 |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
267 int XiGMiscQueryViews(Display *dpy, int screen, XiGMiscViewInfo **pviews) |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
268 { |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
269 int n, size; |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
270 XiGMiscViewInfo *views; |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
271 xXiGMiscQueryViewsReq *req; |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
272 xXiGMiscQueryViewsReply rep; |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
273 XExtDisplayInfo *info = XiGMiscFindDisplay(dpy); |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
274 XiGMiscCheckExtension(dpy, info, 0); |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
275 |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
276 LockDisplay (dpy); |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
277 XiGMiscGetReq (XiGMiscQueryViews, req, info); |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
278 req->screen = screen; |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
279 |
1575
3ba88cb7eb1b
Updated dynamic X11 code. See details in Bugzilla #170.
Ryan C. Gordon <icculus@icculus.org>
parents:
1384
diff
changeset
|
280 if (!_XReply (dpy, (xReply *)&rep, 0, xFalse)) { |
1242
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
281 UnlockDisplay(dpy); |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
282 SyncHandle(); |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
283 return 0; |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
284 } |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
285 |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
286 n = rep.nviews; |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
287 |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
288 if (n > 0) { |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
289 size = sizeof(XiGMiscViewInfo) * n; |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
290 views = (XiGMiscViewInfo*)Xmalloc(size); |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
291 if (!views) { |
1575
3ba88cb7eb1b
Updated dynamic X11 code. See details in Bugzilla #170.
Ryan C. Gordon <icculus@icculus.org>
parents:
1384
diff
changeset
|
292 _XEatData(dpy, (unsigned long)size); |
1242
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
293 UnlockDisplay(dpy); |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
294 SyncHandle(); |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
295 return 0; |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
296 } |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
297 |
1575
3ba88cb7eb1b
Updated dynamic X11 code. See details in Bugzilla #170.
Ryan C. Gordon <icculus@icculus.org>
parents:
1384
diff
changeset
|
298 _XReadPad(dpy, (void*)views, size); |
1242
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
299 |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
300 *pviews = views; |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
301 } |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
302 |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
303 UnlockDisplay(dpy); |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
304 SyncHandle(); |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
305 |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
306 return n; |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
307 } |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
308 |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
309 int XiGMiscQueryResolutions(Display *dpy, int screen, int view, int *pactive, XiGMiscResolutionInfo **presolutions) |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
310 { |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
311 int n, size; |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
312 XiGMiscResolutionInfo *resolutions; |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
313 xXiGMiscQueryResolutionsReq *req; |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
314 xXiGMiscQueryResolutionsReply rep; |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
315 XExtDisplayInfo *info = XiGMiscFindDisplay(dpy); |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
316 XiGMiscCheckExtension(dpy, info, 0); |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
317 |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
318 LockDisplay (dpy); |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
319 XiGMiscGetReq (XiGMiscQueryResolutions, req, info); |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
320 req->screen = screen; |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
321 req->view = view; |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
322 |
1575
3ba88cb7eb1b
Updated dynamic X11 code. See details in Bugzilla #170.
Ryan C. Gordon <icculus@icculus.org>
parents:
1384
diff
changeset
|
323 if (!_XReply (dpy, (xReply *)&rep, 0, xFalse)) { |
1242
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
324 UnlockDisplay(dpy); |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
325 SyncHandle(); |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
326 return 0; |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
327 } |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
328 |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
329 n = rep.nresolutions; |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
330 |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
331 if (n > 0) { |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
332 size = sizeof(XiGMiscResolutionInfo) * n; |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
333 resolutions = (XiGMiscResolutionInfo*)Xmalloc(size); |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
334 if (!resolutions) { |
1575
3ba88cb7eb1b
Updated dynamic X11 code. See details in Bugzilla #170.
Ryan C. Gordon <icculus@icculus.org>
parents:
1384
diff
changeset
|
335 _XEatData(dpy, (unsigned long)size); |
1242
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
336 UnlockDisplay(dpy); |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
337 SyncHandle(); |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
338 return 0; |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
339 } |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
340 |
1575
3ba88cb7eb1b
Updated dynamic X11 code. See details in Bugzilla #170.
Ryan C. Gordon <icculus@icculus.org>
parents:
1384
diff
changeset
|
341 _XReadPad(dpy, (void*)resolutions, size); |
1242
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
342 |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
343 *presolutions = resolutions; |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
344 *pactive = rep.active; |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
345 } |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
346 |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
347 UnlockDisplay(dpy); |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
348 SyncHandle(); |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
349 |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
350 return n; |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
351 } |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
352 |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
353 void XiGMiscChangeResolution(Display *dpy, int screen, int view, int width, int height, int refresh) |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
354 { |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
355 xXiGMiscChangeResolutionReq *req; |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
356 XExtDisplayInfo *info = XiGMiscFindDisplay(dpy); |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
357 |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
358 XiGMiscSimpleCheckExtension(dpy, info); |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
359 |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
360 LockDisplay (dpy); |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
361 XiGMiscGetReq (XiGMiscChangeResolution, req, info); |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
362 req->screen = screen; |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
363 req->view = view; |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
364 req->width = width; |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
365 req->height = height; |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
366 req->refresh = refresh; |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
367 |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
368 UnlockDisplay(dpy); |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
369 SyncHandle(); |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
370 } |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
371 |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
372 |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
373 Bool XiGMiscFullScreen(Display *dpy, int screen, XID window, XID cmap) |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
374 { |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
375 xXiGMiscFullScreenReq *req; |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
376 xXiGMiscFullScreenReply rep; |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
377 XExtDisplayInfo *info = XiGMiscFindDisplay(dpy); |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
378 |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
379 XiGMiscCheckExtension(dpy, info, xFalse); |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
380 |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
381 LockDisplay (dpy); |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
382 XiGMiscGetReq (XiGMiscFullScreen, req, info); |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
383 req->screen = screen; |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
384 req->pad0 = 0; |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
385 req->pad1 = 0; |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
386 req->window = window; |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
387 req->cmap = cmap; |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
388 |
1575
3ba88cb7eb1b
Updated dynamic X11 code. See details in Bugzilla #170.
Ryan C. Gordon <icculus@icculus.org>
parents:
1384
diff
changeset
|
389 if (!_XReply (dpy, (xReply *)&rep, 0, xTrue)) { |
1242
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
390 UnlockDisplay(dpy); |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
391 SyncHandle(); |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
392 return xFalse; |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
393 } |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
394 |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
395 UnlockDisplay(dpy); |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
396 SyncHandle(); |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
397 |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
398 return (rep.success ? xTrue : xFalse); |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
399 } |
caf0328c8058
Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
400 |
3885
a10bddfdc40f
Closing minor memory leak in XME code.
Ryan C. Gordon <icculus@icculus.org>
parents:
1599
diff
changeset
|
401 |
a10bddfdc40f
Closing minor memory leak in XME code.
Ryan C. Gordon <icculus@icculus.org>
parents:
1599
diff
changeset
|
402 /* SDL addition from Ryan: free memory used by xme. */ |
a10bddfdc40f
Closing minor memory leak in XME code.
Ryan C. Gordon <icculus@icculus.org>
parents:
1599
diff
changeset
|
403 void XiGMiscDestroy(void) |
a10bddfdc40f
Closing minor memory leak in XME code.
Ryan C. Gordon <icculus@icculus.org>
parents:
1599
diff
changeset
|
404 { |
a10bddfdc40f
Closing minor memory leak in XME code.
Ryan C. Gordon <icculus@icculus.org>
parents:
1599
diff
changeset
|
405 if (xigmisc_info) { |
a10bddfdc40f
Closing minor memory leak in XME code.
Ryan C. Gordon <icculus@icculus.org>
parents:
1599
diff
changeset
|
406 XextDestroyExtension(xigmisc_info); |
a10bddfdc40f
Closing minor memory leak in XME code.
Ryan C. Gordon <icculus@icculus.org>
parents:
1599
diff
changeset
|
407 xigmisc_info = NULL; |
a10bddfdc40f
Closing minor memory leak in XME code.
Ryan C. Gordon <icculus@icculus.org>
parents:
1599
diff
changeset
|
408 } |
a10bddfdc40f
Closing minor memory leak in XME code.
Ryan C. Gordon <icculus@icculus.org>
parents:
1599
diff
changeset
|
409 } |
a10bddfdc40f
Closing minor memory leak in XME code.
Ryan C. Gordon <icculus@icculus.org>
parents:
1599
diff
changeset
|
410 |