Mercurial > sdl-ios-xcode
annotate docs/html/sdlsyswmevent.html @ 983:7f08bd66f1ca
Date: Fri, 19 Nov 2004 06:23:53 -0800 (PST)
From: Eric Wing
Subject: OS X Mouse inversion problem fix (again)
Here's yet another patch for the OS X mouse inversion
problem. This should fix the problem once and for all.
I know I've said this before, but *This time for
sure!* :)
If you recall, my last patch broke the non-OpenGL
windowed code and caused the inversion to occur there
instead. Max submitted a patch that partially reverted
the changes back which included the os version hack
which is currently the most recent CVS.
Aaron Sullivan identified and reported to the mailing
list the other day, that the last partial regression
of the code broke OS X 10.2. Looking over the results,
I'm thinking that I was slightly more successful than
I thought at unifying the code. I think I was trying
to unify the code base for OpenGL and non-OpenGL
windowed modes for all versions of the OS. It looks
like I failed at at unifying the OpenGL and non-OpenGL
code, but I did succeed at unifying the OS versions.
Thus, we no longer need the hack for the OS version
checks. The partial regression still included an OS
check which is what broke things for < 10.3.
Attached is the patch for SDL_QuartzWM.m. It basically
is a half-line change that removes one of the two
checks that decides if the mouse coordinates need to
be inverted, i.e:
if (system_version >= 0x1030 &&
(SDL_VideoSurface->flags & SDL_OPENGL) )
becomes this:
if(SDL_VideoSurface->flags & SDL_OPENGL)
With Aaron's outstanding help, we have collectively
tested:
windowed OpenGL
windowed non-OpenGL
fullscreen OpenGL
fullscreen non-OpenGL
under OS X 10.2 (Jaguar), 10.3 (Panther), and 10.4
(Tiger).
We don't have access to 10.0 or 10.1, but since the
original problem didn't materialize until 10.3, I'm
hopeful that testing 10.2 is sufficient. And now that
the code is uniform, I'm also hoping we'll be safe
moving forward to deal with future revisions of the OS
with this issue.
author | Sam Lantinga <slouken@libsdl.org> |
---|---|
date | Sun, 21 Nov 2004 00:57:47 +0000 |
parents | 355632dca928 |
children |
rev | line source |
---|---|
0 | 1 <HTML |
2 ><HEAD | |
3 ><TITLE | |
4 >SDL_SysWMEvent</TITLE | |
5 ><META | |
6 NAME="GENERATOR" | |
803
355632dca928
Updated SDL HTML documentation
Sam Lantinga <slouken@libsdl.org>
parents:
181
diff
changeset
|
7 CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+ |
0 | 8 "><LINK |
9 REL="HOME" | |
10 TITLE="SDL Library Documentation" | |
11 HREF="index.html"><LINK | |
12 REL="UP" | |
13 TITLE="SDL Event Structures." | |
14 HREF="eventstructures.html"><LINK | |
15 REL="PREVIOUS" | |
181
e5bc29de3f0a
Updated from the SDL Documentation Project
Sam Lantinga <slouken@libsdl.org>
parents:
55
diff
changeset
|
16 TITLE="SDL_ExposeEvent" |
e5bc29de3f0a
Updated from the SDL Documentation Project
Sam Lantinga <slouken@libsdl.org>
parents:
55
diff
changeset
|
17 HREF="sdlexposeevent.html"><LINK |
0 | 18 REL="NEXT" |
19 TITLE="SDL_UserEvent" | |
20 HREF="sdluserevent.html"></HEAD | |
21 ><BODY | |
22 CLASS="REFENTRY" | |
23 BGCOLOR="#FFF8DC" | |
24 TEXT="#000000" | |
25 LINK="#0000ee" | |
26 VLINK="#551a8b" | |
27 ALINK="#ff0000" | |
28 ><DIV | |
29 CLASS="NAVHEADER" | |
30 ><TABLE | |
803
355632dca928
Updated SDL HTML documentation
Sam Lantinga <slouken@libsdl.org>
parents:
181
diff
changeset
|
31 SUMMARY="Header navigation table" |
0 | 32 WIDTH="100%" |
33 BORDER="0" | |
34 CELLPADDING="0" | |
35 CELLSPACING="0" | |
36 ><TR | |
37 ><TH | |
38 COLSPAN="3" | |
39 ALIGN="center" | |
40 >SDL Library Documentation</TH | |
41 ></TR | |
42 ><TR | |
43 ><TD | |
44 WIDTH="10%" | |
45 ALIGN="left" | |
46 VALIGN="bottom" | |
47 ><A | |
181
e5bc29de3f0a
Updated from the SDL Documentation Project
Sam Lantinga <slouken@libsdl.org>
parents:
55
diff
changeset
|
48 HREF="sdlexposeevent.html" |
803
355632dca928
Updated SDL HTML documentation
Sam Lantinga <slouken@libsdl.org>
parents:
181
diff
changeset
|
49 ACCESSKEY="P" |
0 | 50 >Prev</A |
51 ></TD | |
52 ><TD | |
53 WIDTH="80%" | |
54 ALIGN="center" | |
55 VALIGN="bottom" | |
56 ></TD | |
57 ><TD | |
58 WIDTH="10%" | |
59 ALIGN="right" | |
60 VALIGN="bottom" | |
61 ><A | |
62 HREF="sdluserevent.html" | |
803
355632dca928
Updated SDL HTML documentation
Sam Lantinga <slouken@libsdl.org>
parents:
181
diff
changeset
|
63 ACCESSKEY="N" |
0 | 64 >Next</A |
65 ></TD | |
66 ></TR | |
67 ></TABLE | |
68 ><HR | |
69 ALIGN="LEFT" | |
70 WIDTH="100%"></DIV | |
71 ><H1 | |
72 ><A | |
73 NAME="SDLSYSWMEVENT" | |
803
355632dca928
Updated SDL HTML documentation
Sam Lantinga <slouken@libsdl.org>
parents:
181
diff
changeset
|
74 ></A |
355632dca928
Updated SDL HTML documentation
Sam Lantinga <slouken@libsdl.org>
parents:
181
diff
changeset
|
75 >SDL_SysWMEvent</H1 |
0 | 76 ><DIV |
77 CLASS="REFNAMEDIV" | |
78 ><A | |
803
355632dca928
Updated SDL HTML documentation
Sam Lantinga <slouken@libsdl.org>
parents:
181
diff
changeset
|
79 NAME="AEN4538" |
0 | 80 ></A |
81 ><H2 | |
82 >Name</H2 | |
83 >SDL_SysWMEvent -- Platform-dependent window manager event.</DIV | |
84 ><DIV | |
85 CLASS="REFSECT1" | |
86 ><A | |
803
355632dca928
Updated SDL HTML documentation
Sam Lantinga <slouken@libsdl.org>
parents:
181
diff
changeset
|
87 NAME="AEN4541" |
0 | 88 ></A |
89 ><H2 | |
90 >Description</H2 | |
91 ><P | |
92 >The system window manager event contains a pointer to system-specific | |
93 information about unknown window manager events. If you enable this event | |
94 using | |
95 <A | |
96 HREF="sdleventstate.html" | |
97 ><TT | |
98 CLASS="FUNCTION" | |
99 >SDL_EventState()</TT | |
100 ></A | |
101 >, | |
102 it will be generated whenever unhandled events are received from the window | |
103 manager. This can be used, for example, to implement cut-and-paste in your | |
104 application. | |
105 | |
106 <PRE | |
107 CLASS="PROGRAMLISTING" | |
108 >typedef struct { | |
803
355632dca928
Updated SDL HTML documentation
Sam Lantinga <slouken@libsdl.org>
parents:
181
diff
changeset
|
109 Uint8 type; /* Always SDL_SYSWMEVENT */ |
355632dca928
Updated SDL HTML documentation
Sam Lantinga <slouken@libsdl.org>
parents:
181
diff
changeset
|
110 SDL_SysWMmsg *msg; |
0 | 111 } SDL_SysWMEvent;</PRE |
112 > | |
113 | |
114 If you want to obtain system-specific information about the window manager, | |
115 you can fill the version member of a <SPAN | |
116 CLASS="STRUCTNAME" | |
117 >SDL_SysWMinfo</SPAN | |
118 > | |
119 structure (details can be found in <TT | |
120 CLASS="FILENAME" | |
121 >SDL_syswm.h</TT | |
122 >, which must be included) using the <TT | |
123 CLASS="FUNCTION" | |
124 >SDL_VERSION()</TT | |
125 > macro found in | |
126 <TT | |
127 CLASS="FILENAME" | |
128 >SDL_version.h</TT | |
129 >, and pass it to the | |
130 function: | |
131 <DIV | |
132 CLASS="FUNCSYNOPSIS" | |
133 ><A | |
803
355632dca928
Updated SDL HTML documentation
Sam Lantinga <slouken@libsdl.org>
parents:
181
diff
changeset
|
134 NAME="AEN4551" |
0 | 135 ></A |
136 ><P | |
137 ></P | |
138 ><P | |
139 ><CODE | |
140 ><CODE | |
141 CLASS="FUNCDEF" | |
142 >int <B | |
143 CLASS="FSFUNC" | |
144 >SDL_GetWMInfo</B | |
145 ></CODE | |
146 >(SDL_SysWMinfo *info);</CODE | |
147 ></P | |
148 ><P | |
149 ></P | |
150 ></DIV | |
151 ></P | |
152 ></DIV | |
153 ><DIV | |
154 CLASS="REFSECT1" | |
155 ><A | |
803
355632dca928
Updated SDL HTML documentation
Sam Lantinga <slouken@libsdl.org>
parents:
181
diff
changeset
|
156 NAME="AEN4556" |
0 | 157 ></A |
158 ><H2 | |
159 >See Also</H2 | |
160 ><P | |
161 ><A | |
162 HREF="sdleventstate.html" | |
163 ><TT | |
164 CLASS="FUNCTION" | |
165 >SDL_EventState</TT | |
166 ></A | |
167 ></P | |
168 ></DIV | |
169 ><DIV | |
170 CLASS="NAVFOOTER" | |
171 ><HR | |
172 ALIGN="LEFT" | |
173 WIDTH="100%"><TABLE | |
803
355632dca928
Updated SDL HTML documentation
Sam Lantinga <slouken@libsdl.org>
parents:
181
diff
changeset
|
174 SUMMARY="Footer navigation table" |
0 | 175 WIDTH="100%" |
176 BORDER="0" | |
177 CELLPADDING="0" | |
178 CELLSPACING="0" | |
179 ><TR | |
180 ><TD | |
181 WIDTH="33%" | |
182 ALIGN="left" | |
183 VALIGN="top" | |
184 ><A | |
181
e5bc29de3f0a
Updated from the SDL Documentation Project
Sam Lantinga <slouken@libsdl.org>
parents:
55
diff
changeset
|
185 HREF="sdlexposeevent.html" |
803
355632dca928
Updated SDL HTML documentation
Sam Lantinga <slouken@libsdl.org>
parents:
181
diff
changeset
|
186 ACCESSKEY="P" |
0 | 187 >Prev</A |
188 ></TD | |
189 ><TD | |
190 WIDTH="34%" | |
191 ALIGN="center" | |
192 VALIGN="top" | |
193 ><A | |
194 HREF="index.html" | |
803
355632dca928
Updated SDL HTML documentation
Sam Lantinga <slouken@libsdl.org>
parents:
181
diff
changeset
|
195 ACCESSKEY="H" |
0 | 196 >Home</A |
197 ></TD | |
198 ><TD | |
199 WIDTH="33%" | |
200 ALIGN="right" | |
201 VALIGN="top" | |
202 ><A | |
203 HREF="sdluserevent.html" | |
803
355632dca928
Updated SDL HTML documentation
Sam Lantinga <slouken@libsdl.org>
parents:
181
diff
changeset
|
204 ACCESSKEY="N" |
0 | 205 >Next</A |
206 ></TD | |
207 ></TR | |
208 ><TR | |
209 ><TD | |
210 WIDTH="33%" | |
211 ALIGN="left" | |
212 VALIGN="top" | |
181
e5bc29de3f0a
Updated from the SDL Documentation Project
Sam Lantinga <slouken@libsdl.org>
parents:
55
diff
changeset
|
213 >SDL_ExposeEvent</TD |
0 | 214 ><TD |
215 WIDTH="34%" | |
216 ALIGN="center" | |
217 VALIGN="top" | |
218 ><A | |
219 HREF="eventstructures.html" | |
803
355632dca928
Updated SDL HTML documentation
Sam Lantinga <slouken@libsdl.org>
parents:
181
diff
changeset
|
220 ACCESSKEY="U" |
0 | 221 >Up</A |
222 ></TD | |
223 ><TD | |
224 WIDTH="33%" | |
225 ALIGN="right" | |
226 VALIGN="top" | |
227 >SDL_UserEvent</TD | |
228 ></TR | |
229 ></TABLE | |
230 ></DIV | |
231 ></BODY | |
232 ></HTML | |
233 > |