annotate src/video/Xext/XME/xme.c @ 4249:429c8dd3175d SDL-1.2

Fixed bug #713 Don't clamp the mouse coordinates to the video surface size, instead clamp them to the last known window size. This allows users to get the correct mouse coordinates even if they don't call SDL_SetVideoMode() in response to an SDL_VIDEORESIZE event (used as a hack to retain the OpenGL context on Windows and Linux after a window resize)
author Sam Lantinga <slouken@libsdl.org>
date Sun, 27 Sep 2009 05:18:43 +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