Mercurial > sdl-ios-xcode
annotate src/video/win32/SDL_win32video.h @ 4919:716b2cbf4c9e
First pass at Windows multi-touch gesture support
author | Sam Lantinga <slouken@libsdl.org> |
---|---|
date | Tue, 30 Nov 2010 17:58:51 -0800 |
parents | 37576cdf6751 |
children | 40ef2ad3757c |
rev | line source |
---|---|
4759
863ba7d1f029
Large commit with initial reading string support, TSF UILess code, etc.
dewyatt
parents:
4755
diff
changeset
|
1 /* |
863ba7d1f029
Large commit with initial reading string support, TSF UILess code, etc.
dewyatt
parents:
4755
diff
changeset
|
2 SDL - Simple DirectMedia Layer |
863ba7d1f029
Large commit with initial reading string support, TSF UILess code, etc.
dewyatt
parents:
4755
diff
changeset
|
3 Copyright (C) 1997-2010 Sam Lantinga |
863ba7d1f029
Large commit with initial reading string support, TSF UILess code, etc.
dewyatt
parents:
4755
diff
changeset
|
4 |
863ba7d1f029
Large commit with initial reading string support, TSF UILess code, etc.
dewyatt
parents:
4755
diff
changeset
|
5 This library is free software; you can redistribute it and/or |
863ba7d1f029
Large commit with initial reading string support, TSF UILess code, etc.
dewyatt
parents:
4755
diff
changeset
|
6 modify it under the terms of the GNU Lesser General Public |
863ba7d1f029
Large commit with initial reading string support, TSF UILess code, etc.
dewyatt
parents:
4755
diff
changeset
|
7 License as published by the Free Software Foundation; either |
863ba7d1f029
Large commit with initial reading string support, TSF UILess code, etc.
dewyatt
parents:
4755
diff
changeset
|
8 version 2.1 of the License, or (at your option) any later version. |
863ba7d1f029
Large commit with initial reading string support, TSF UILess code, etc.
dewyatt
parents:
4755
diff
changeset
|
9 |
863ba7d1f029
Large commit with initial reading string support, TSF UILess code, etc.
dewyatt
parents:
4755
diff
changeset
|
10 This library is distributed in the hope that it will be useful, |
863ba7d1f029
Large commit with initial reading string support, TSF UILess code, etc.
dewyatt
parents:
4755
diff
changeset
|
11 but WITHOUT ANY WARRANTY; without even the implied warranty of |
863ba7d1f029
Large commit with initial reading string support, TSF UILess code, etc.
dewyatt
parents:
4755
diff
changeset
|
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
863ba7d1f029
Large commit with initial reading string support, TSF UILess code, etc.
dewyatt
parents:
4755
diff
changeset
|
13 Lesser General Public License for more details. |
863ba7d1f029
Large commit with initial reading string support, TSF UILess code, etc.
dewyatt
parents:
4755
diff
changeset
|
14 |
863ba7d1f029
Large commit with initial reading string support, TSF UILess code, etc.
dewyatt
parents:
4755
diff
changeset
|
15 You should have received a copy of the GNU Lesser General Public |
863ba7d1f029
Large commit with initial reading string support, TSF UILess code, etc.
dewyatt
parents:
4755
diff
changeset
|
16 License along with this library; if not, write to the Free Software |
863ba7d1f029
Large commit with initial reading string support, TSF UILess code, etc.
dewyatt
parents:
4755
diff
changeset
|
17 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA |
863ba7d1f029
Large commit with initial reading string support, TSF UILess code, etc.
dewyatt
parents:
4755
diff
changeset
|
18 |
863ba7d1f029
Large commit with initial reading string support, TSF UILess code, etc.
dewyatt
parents:
4755
diff
changeset
|
19 Sam Lantinga |
863ba7d1f029
Large commit with initial reading string support, TSF UILess code, etc.
dewyatt
parents:
4755
diff
changeset
|
20 slouken@libsdl.org |
863ba7d1f029
Large commit with initial reading string support, TSF UILess code, etc.
dewyatt
parents:
4755
diff
changeset
|
21 */ |
863ba7d1f029
Large commit with initial reading string support, TSF UILess code, etc.
dewyatt
parents:
4755
diff
changeset
|
22 #include "SDL_config.h" |
863ba7d1f029
Large commit with initial reading string support, TSF UILess code, etc.
dewyatt
parents:
4755
diff
changeset
|
23 |
863ba7d1f029
Large commit with initial reading string support, TSF UILess code, etc.
dewyatt
parents:
4755
diff
changeset
|
24 #ifndef _SDL_win32video_h |
863ba7d1f029
Large commit with initial reading string support, TSF UILess code, etc.
dewyatt
parents:
4755
diff
changeset
|
25 #define _SDL_win32video_h |
863ba7d1f029
Large commit with initial reading string support, TSF UILess code, etc.
dewyatt
parents:
4755
diff
changeset
|
26 |
863ba7d1f029
Large commit with initial reading string support, TSF UILess code, etc.
dewyatt
parents:
4755
diff
changeset
|
27 #include "../SDL_sysvideo.h" |
863ba7d1f029
Large commit with initial reading string support, TSF UILess code, etc.
dewyatt
parents:
4755
diff
changeset
|
28 |
863ba7d1f029
Large commit with initial reading string support, TSF UILess code, etc.
dewyatt
parents:
4755
diff
changeset
|
29 #define WIN32_LEAN_AND_MEAN |
863ba7d1f029
Large commit with initial reading string support, TSF UILess code, etc.
dewyatt
parents:
4755
diff
changeset
|
30 #define STRICT |
4569 | 31 #ifndef UNICODE |
4759
863ba7d1f029
Large commit with initial reading string support, TSF UILess code, etc.
dewyatt
parents:
4755
diff
changeset
|
32 #define UNICODE |
4569 | 33 #endif |
4759
863ba7d1f029
Large commit with initial reading string support, TSF UILess code, etc.
dewyatt
parents:
4755
diff
changeset
|
34 #undef WINVER |
4868
d6adaafcfb10
Fixed compiling with Visual Studio 2008
Sam Lantinga <slouken@libsdl.org>
parents:
4763
diff
changeset
|
35 #define WINVER 0x500 /* Need 0x410 for AlphaBlend() and 0x500 for EnumDisplayDevices() */ |
4650 | 36 |
4759
863ba7d1f029
Large commit with initial reading string support, TSF UILess code, etc.
dewyatt
parents:
4755
diff
changeset
|
37 #include <windows.h> |
863ba7d1f029
Large commit with initial reading string support, TSF UILess code, etc.
dewyatt
parents:
4755
diff
changeset
|
38 |
4893
b2e434e0553b
Fixed all MinGW problems (except libraries not added to build yet).
Daniel Wyatt <Daniel.Wyatt@gmail.com>
parents:
4892
diff
changeset
|
39 #ifndef __GNUC__ |
4759
863ba7d1f029
Large commit with initial reading string support, TSF UILess code, etc.
dewyatt
parents:
4755
diff
changeset
|
40 #include <msctf.h> |
4893
b2e434e0553b
Fixed all MinGW problems (except libraries not added to build yet).
Daniel Wyatt <Daniel.Wyatt@gmail.com>
parents:
4892
diff
changeset
|
41 #else |
b2e434e0553b
Fixed all MinGW problems (except libraries not added to build yet).
Daniel Wyatt <Daniel.Wyatt@gmail.com>
parents:
4892
diff
changeset
|
42 #include "SDL_msctf.h" |
b2e434e0553b
Fixed all MinGW problems (except libraries not added to build yet).
Daniel Wyatt <Daniel.Wyatt@gmail.com>
parents:
4892
diff
changeset
|
43 #endif |
b2e434e0553b
Fixed all MinGW problems (except libraries not added to build yet).
Daniel Wyatt <Daniel.Wyatt@gmail.com>
parents:
4892
diff
changeset
|
44 |
4892
9e1f6d3fb870
Added imm.h include, will be needed on MinGW.
Daniel Wyatt <Daniel.Wyatt@gmail.com>
parents:
4868
diff
changeset
|
45 #include <imm.h> |
4759
863ba7d1f029
Large commit with initial reading string support, TSF UILess code, etc.
dewyatt
parents:
4755
diff
changeset
|
46 |
4912
37576cdf6751
Add variables needed for win32 candidate list support.
Daniel Wyatt <Daniel.Wyatt@gmail.com>
parents:
4893
diff
changeset
|
47 #define MAX_CANDLIST 10 |
37576cdf6751
Add variables needed for win32 candidate list support.
Daniel Wyatt <Daniel.Wyatt@gmail.com>
parents:
4893
diff
changeset
|
48 #define MAX_CANDLENGTH 256 |
37576cdf6751
Add variables needed for win32 candidate list support.
Daniel Wyatt <Daniel.Wyatt@gmail.com>
parents:
4893
diff
changeset
|
49 |
4759
863ba7d1f029
Large commit with initial reading string support, TSF UILess code, etc.
dewyatt
parents:
4755
diff
changeset
|
50 #if SDL_VIDEO_RENDER_D3D |
863ba7d1f029
Large commit with initial reading string support, TSF UILess code, etc.
dewyatt
parents:
4755
diff
changeset
|
51 //#include <d3d9.h> |
863ba7d1f029
Large commit with initial reading string support, TSF UILess code, etc.
dewyatt
parents:
4755
diff
changeset
|
52 #define D3D_DEBUG_INFO |
863ba7d1f029
Large commit with initial reading string support, TSF UILess code, etc.
dewyatt
parents:
4755
diff
changeset
|
53 #include "d3d9.h" |
863ba7d1f029
Large commit with initial reading string support, TSF UILess code, etc.
dewyatt
parents:
4755
diff
changeset
|
54 #endif |
863ba7d1f029
Large commit with initial reading string support, TSF UILess code, etc.
dewyatt
parents:
4755
diff
changeset
|
55 |
863ba7d1f029
Large commit with initial reading string support, TSF UILess code, etc.
dewyatt
parents:
4755
diff
changeset
|
56 #if SDL_VIDEO_RENDER_DDRAW |
863ba7d1f029
Large commit with initial reading string support, TSF UILess code, etc.
dewyatt
parents:
4755
diff
changeset
|
57 /* WIN32_LEAN_AND_MEAN was defined, so we have to include this by hand */ |
863ba7d1f029
Large commit with initial reading string support, TSF UILess code, etc.
dewyatt
parents:
4755
diff
changeset
|
58 #include <objbase.h> |
863ba7d1f029
Large commit with initial reading string support, TSF UILess code, etc.
dewyatt
parents:
4755
diff
changeset
|
59 #include "ddraw.h" |
863ba7d1f029
Large commit with initial reading string support, TSF UILess code, etc.
dewyatt
parents:
4755
diff
changeset
|
60 #endif |
863ba7d1f029
Large commit with initial reading string support, TSF UILess code, etc.
dewyatt
parents:
4755
diff
changeset
|
61 |
863ba7d1f029
Large commit with initial reading string support, TSF UILess code, etc.
dewyatt
parents:
4755
diff
changeset
|
62 #include "SDL_win32clipboard.h" |
863ba7d1f029
Large commit with initial reading string support, TSF UILess code, etc.
dewyatt
parents:
4755
diff
changeset
|
63 #include "SDL_win32events.h" |
863ba7d1f029
Large commit with initial reading string support, TSF UILess code, etc.
dewyatt
parents:
4755
diff
changeset
|
64 #include "SDL_win32gamma.h" |
863ba7d1f029
Large commit with initial reading string support, TSF UILess code, etc.
dewyatt
parents:
4755
diff
changeset
|
65 #include "SDL_win32keyboard.h" |
863ba7d1f029
Large commit with initial reading string support, TSF UILess code, etc.
dewyatt
parents:
4755
diff
changeset
|
66 #include "SDL_win32modes.h" |
863ba7d1f029
Large commit with initial reading string support, TSF UILess code, etc.
dewyatt
parents:
4755
diff
changeset
|
67 #include "SDL_win32mouse.h" |
863ba7d1f029
Large commit with initial reading string support, TSF UILess code, etc.
dewyatt
parents:
4755
diff
changeset
|
68 #include "SDL_win32opengl.h" |
863ba7d1f029
Large commit with initial reading string support, TSF UILess code, etc.
dewyatt
parents:
4755
diff
changeset
|
69 #include "SDL_win32window.h" |
863ba7d1f029
Large commit with initial reading string support, TSF UILess code, etc.
dewyatt
parents:
4755
diff
changeset
|
70 #include "SDL_events.h" |
863ba7d1f029
Large commit with initial reading string support, TSF UILess code, etc.
dewyatt
parents:
4755
diff
changeset
|
71 |
863ba7d1f029
Large commit with initial reading string support, TSF UILess code, etc.
dewyatt
parents:
4755
diff
changeset
|
72 #ifdef UNICODE |
863ba7d1f029
Large commit with initial reading string support, TSF UILess code, etc.
dewyatt
parents:
4755
diff
changeset
|
73 #define WIN_StringToUTF8(S) SDL_iconv_string("UTF-8", "UCS-2", (char *)S, (SDL_wcslen(S)+1)*sizeof(WCHAR)) |
863ba7d1f029
Large commit with initial reading string support, TSF UILess code, etc.
dewyatt
parents:
4755
diff
changeset
|
74 #define WIN_UTF8ToString(S) (WCHAR *)SDL_iconv_string("UCS-2", "UTF-8", (char *)S, SDL_strlen(S)+1) |
863ba7d1f029
Large commit with initial reading string support, TSF UILess code, etc.
dewyatt
parents:
4755
diff
changeset
|
75 #else |
863ba7d1f029
Large commit with initial reading string support, TSF UILess code, etc.
dewyatt
parents:
4755
diff
changeset
|
76 #define WIN_StringToUTF8(S) SDL_iconv_string("UTF-8", "ASCII", (char *)S, (SDL_strlen(S)+1)) |
863ba7d1f029
Large commit with initial reading string support, TSF UILess code, etc.
dewyatt
parents:
4755
diff
changeset
|
77 #define WIN_UTF8ToString(S) SDL_iconv_string("ASCII", "UTF-8", (char *)S, SDL_strlen(S)+1) |
863ba7d1f029
Large commit with initial reading string support, TSF UILess code, etc.
dewyatt
parents:
4755
diff
changeset
|
78 #endif |
863ba7d1f029
Large commit with initial reading string support, TSF UILess code, etc.
dewyatt
parents:
4755
diff
changeset
|
79 extern void WIN_SetError(const char *prefix); |
863ba7d1f029
Large commit with initial reading string support, TSF UILess code, etc.
dewyatt
parents:
4755
diff
changeset
|
80 |
4569 | 81 enum { RENDER_NONE, RENDER_D3D, RENDER_DDRAW, RENDER_GDI, RENDER_GAPI, RENDER_RAW }; |
82 | |
4919
716b2cbf4c9e
First pass at Windows multi-touch gesture support
Sam Lantinga <slouken@libsdl.org>
parents:
4912
diff
changeset
|
83 #if WINVER < 0x0601 |
716b2cbf4c9e
First pass at Windows multi-touch gesture support
Sam Lantinga <slouken@libsdl.org>
parents:
4912
diff
changeset
|
84 /* Touch input definitions */ |
716b2cbf4c9e
First pass at Windows multi-touch gesture support
Sam Lantinga <slouken@libsdl.org>
parents:
4912
diff
changeset
|
85 #define TWF_FINETOUCH 1 |
716b2cbf4c9e
First pass at Windows multi-touch gesture support
Sam Lantinga <slouken@libsdl.org>
parents:
4912
diff
changeset
|
86 #define TWF_WANTPALM 2 |
716b2cbf4c9e
First pass at Windows multi-touch gesture support
Sam Lantinga <slouken@libsdl.org>
parents:
4912
diff
changeset
|
87 |
716b2cbf4c9e
First pass at Windows multi-touch gesture support
Sam Lantinga <slouken@libsdl.org>
parents:
4912
diff
changeset
|
88 #define TOUCHEVENTF_MOVE 0x0001 |
716b2cbf4c9e
First pass at Windows multi-touch gesture support
Sam Lantinga <slouken@libsdl.org>
parents:
4912
diff
changeset
|
89 #define TOUCHEVENTF_DOWN 0x0002 |
716b2cbf4c9e
First pass at Windows multi-touch gesture support
Sam Lantinga <slouken@libsdl.org>
parents:
4912
diff
changeset
|
90 #define TOUCHEVENTF_UP 0x0004 |
716b2cbf4c9e
First pass at Windows multi-touch gesture support
Sam Lantinga <slouken@libsdl.org>
parents:
4912
diff
changeset
|
91 |
716b2cbf4c9e
First pass at Windows multi-touch gesture support
Sam Lantinga <slouken@libsdl.org>
parents:
4912
diff
changeset
|
92 DECLARE_HANDLE(HTOUCHINPUT); |
716b2cbf4c9e
First pass at Windows multi-touch gesture support
Sam Lantinga <slouken@libsdl.org>
parents:
4912
diff
changeset
|
93 |
716b2cbf4c9e
First pass at Windows multi-touch gesture support
Sam Lantinga <slouken@libsdl.org>
parents:
4912
diff
changeset
|
94 typedef struct _TOUCHINPUT { |
716b2cbf4c9e
First pass at Windows multi-touch gesture support
Sam Lantinga <slouken@libsdl.org>
parents:
4912
diff
changeset
|
95 LONG x; |
716b2cbf4c9e
First pass at Windows multi-touch gesture support
Sam Lantinga <slouken@libsdl.org>
parents:
4912
diff
changeset
|
96 LONG y; |
716b2cbf4c9e
First pass at Windows multi-touch gesture support
Sam Lantinga <slouken@libsdl.org>
parents:
4912
diff
changeset
|
97 HANDLE hSource; |
716b2cbf4c9e
First pass at Windows multi-touch gesture support
Sam Lantinga <slouken@libsdl.org>
parents:
4912
diff
changeset
|
98 DWORD dwID; |
716b2cbf4c9e
First pass at Windows multi-touch gesture support
Sam Lantinga <slouken@libsdl.org>
parents:
4912
diff
changeset
|
99 DWORD dwFlags; |
716b2cbf4c9e
First pass at Windows multi-touch gesture support
Sam Lantinga <slouken@libsdl.org>
parents:
4912
diff
changeset
|
100 DWORD dwMask; |
716b2cbf4c9e
First pass at Windows multi-touch gesture support
Sam Lantinga <slouken@libsdl.org>
parents:
4912
diff
changeset
|
101 DWORD dwTime; |
716b2cbf4c9e
First pass at Windows multi-touch gesture support
Sam Lantinga <slouken@libsdl.org>
parents:
4912
diff
changeset
|
102 ULONG_PTR dwExtraInfo; |
716b2cbf4c9e
First pass at Windows multi-touch gesture support
Sam Lantinga <slouken@libsdl.org>
parents:
4912
diff
changeset
|
103 DWORD cxContact; |
716b2cbf4c9e
First pass at Windows multi-touch gesture support
Sam Lantinga <slouken@libsdl.org>
parents:
4912
diff
changeset
|
104 DWORD cyContact; |
716b2cbf4c9e
First pass at Windows multi-touch gesture support
Sam Lantinga <slouken@libsdl.org>
parents:
4912
diff
changeset
|
105 } TOUCHINPUT, *PTOUCHINPUT; |
716b2cbf4c9e
First pass at Windows multi-touch gesture support
Sam Lantinga <slouken@libsdl.org>
parents:
4912
diff
changeset
|
106 |
716b2cbf4c9e
First pass at Windows multi-touch gesture support
Sam Lantinga <slouken@libsdl.org>
parents:
4912
diff
changeset
|
107 #endif /* WINVER < 0x0601 */ |
716b2cbf4c9e
First pass at Windows multi-touch gesture support
Sam Lantinga <slouken@libsdl.org>
parents:
4912
diff
changeset
|
108 |
4569 | 109 typedef BOOL (*PFNSHFullScreen)(HWND, DWORD); |
110 typedef void (*PFCoordTransform)(SDL_Window*, POINT*); | |
111 | |
4759
863ba7d1f029
Large commit with initial reading string support, TSF UILess code, etc.
dewyatt
parents:
4755
diff
changeset
|
112 typedef struct |
863ba7d1f029
Large commit with initial reading string support, TSF UILess code, etc.
dewyatt
parents:
4755
diff
changeset
|
113 { |
863ba7d1f029
Large commit with initial reading string support, TSF UILess code, etc.
dewyatt
parents:
4755
diff
changeset
|
114 void **lpVtbl; |
863ba7d1f029
Large commit with initial reading string support, TSF UILess code, etc.
dewyatt
parents:
4755
diff
changeset
|
115 int refcount; |
863ba7d1f029
Large commit with initial reading string support, TSF UILess code, etc.
dewyatt
parents:
4755
diff
changeset
|
116 void *data; |
863ba7d1f029
Large commit with initial reading string support, TSF UILess code, etc.
dewyatt
parents:
4755
diff
changeset
|
117 } TSFSink; |
863ba7d1f029
Large commit with initial reading string support, TSF UILess code, etc.
dewyatt
parents:
4755
diff
changeset
|
118 |
4892
9e1f6d3fb870
Added imm.h include, will be needed on MinGW.
Daniel Wyatt <Daniel.Wyatt@gmail.com>
parents:
4868
diff
changeset
|
119 /* Definition from Win98DDK version of IMM.H */ |
4759
863ba7d1f029
Large commit with initial reading string support, TSF UILess code, etc.
dewyatt
parents:
4755
diff
changeset
|
120 typedef struct tagINPUTCONTEXT2 { |
4912
37576cdf6751
Add variables needed for win32 candidate list support.
Daniel Wyatt <Daniel.Wyatt@gmail.com>
parents:
4893
diff
changeset
|
121 HWND hWnd; |
37576cdf6751
Add variables needed for win32 candidate list support.
Daniel Wyatt <Daniel.Wyatt@gmail.com>
parents:
4893
diff
changeset
|
122 BOOL fOpen; |
37576cdf6751
Add variables needed for win32 candidate list support.
Daniel Wyatt <Daniel.Wyatt@gmail.com>
parents:
4893
diff
changeset
|
123 POINT ptStatusWndPos; |
37576cdf6751
Add variables needed for win32 candidate list support.
Daniel Wyatt <Daniel.Wyatt@gmail.com>
parents:
4893
diff
changeset
|
124 POINT ptSoftKbdPos; |
37576cdf6751
Add variables needed for win32 candidate list support.
Daniel Wyatt <Daniel.Wyatt@gmail.com>
parents:
4893
diff
changeset
|
125 DWORD fdwConversion; |
37576cdf6751
Add variables needed for win32 candidate list support.
Daniel Wyatt <Daniel.Wyatt@gmail.com>
parents:
4893
diff
changeset
|
126 DWORD fdwSentence; |
37576cdf6751
Add variables needed for win32 candidate list support.
Daniel Wyatt <Daniel.Wyatt@gmail.com>
parents:
4893
diff
changeset
|
127 union { |
37576cdf6751
Add variables needed for win32 candidate list support.
Daniel Wyatt <Daniel.Wyatt@gmail.com>
parents:
4893
diff
changeset
|
128 LOGFONTA A; |
37576cdf6751
Add variables needed for win32 candidate list support.
Daniel Wyatt <Daniel.Wyatt@gmail.com>
parents:
4893
diff
changeset
|
129 LOGFONTW W; |
4892
9e1f6d3fb870
Added imm.h include, will be needed on MinGW.
Daniel Wyatt <Daniel.Wyatt@gmail.com>
parents:
4868
diff
changeset
|
130 } lfFont; |
4912
37576cdf6751
Add variables needed for win32 candidate list support.
Daniel Wyatt <Daniel.Wyatt@gmail.com>
parents:
4893
diff
changeset
|
131 COMPOSITIONFORM cfCompForm; |
37576cdf6751
Add variables needed for win32 candidate list support.
Daniel Wyatt <Daniel.Wyatt@gmail.com>
parents:
4893
diff
changeset
|
132 CANDIDATEFORM cfCandForm[4]; |
37576cdf6751
Add variables needed for win32 candidate list support.
Daniel Wyatt <Daniel.Wyatt@gmail.com>
parents:
4893
diff
changeset
|
133 HIMCC hCompStr; |
37576cdf6751
Add variables needed for win32 candidate list support.
Daniel Wyatt <Daniel.Wyatt@gmail.com>
parents:
4893
diff
changeset
|
134 HIMCC hCandInfo; |
37576cdf6751
Add variables needed for win32 candidate list support.
Daniel Wyatt <Daniel.Wyatt@gmail.com>
parents:
4893
diff
changeset
|
135 HIMCC hGuideLine; |
37576cdf6751
Add variables needed for win32 candidate list support.
Daniel Wyatt <Daniel.Wyatt@gmail.com>
parents:
4893
diff
changeset
|
136 HIMCC hPrivate; |
37576cdf6751
Add variables needed for win32 candidate list support.
Daniel Wyatt <Daniel.Wyatt@gmail.com>
parents:
4893
diff
changeset
|
137 DWORD dwNumMsgBuf; |
37576cdf6751
Add variables needed for win32 candidate list support.
Daniel Wyatt <Daniel.Wyatt@gmail.com>
parents:
4893
diff
changeset
|
138 HIMCC hMsgBuf; |
37576cdf6751
Add variables needed for win32 candidate list support.
Daniel Wyatt <Daniel.Wyatt@gmail.com>
parents:
4893
diff
changeset
|
139 DWORD fdwInit; |
37576cdf6751
Add variables needed for win32 candidate list support.
Daniel Wyatt <Daniel.Wyatt@gmail.com>
parents:
4893
diff
changeset
|
140 DWORD dwReserve[3]; |
4892
9e1f6d3fb870
Added imm.h include, will be needed on MinGW.
Daniel Wyatt <Daniel.Wyatt@gmail.com>
parents:
4868
diff
changeset
|
141 } INPUTCONTEXT2, *PINPUTCONTEXT2, NEAR *NPINPUTCONTEXT2, FAR *LPINPUTCONTEXT2; |
4759
863ba7d1f029
Large commit with initial reading string support, TSF UILess code, etc.
dewyatt
parents:
4755
diff
changeset
|
142 |
863ba7d1f029
Large commit with initial reading string support, TSF UILess code, etc.
dewyatt
parents:
4755
diff
changeset
|
143 /* Private display data */ |
863ba7d1f029
Large commit with initial reading string support, TSF UILess code, etc.
dewyatt
parents:
4755
diff
changeset
|
144 |
863ba7d1f029
Large commit with initial reading string support, TSF UILess code, etc.
dewyatt
parents:
4755
diff
changeset
|
145 typedef struct SDL_VideoData |
863ba7d1f029
Large commit with initial reading string support, TSF UILess code, etc.
dewyatt
parents:
4755
diff
changeset
|
146 { |
4569 | 147 int render; |
148 | |
4759
863ba7d1f029
Large commit with initial reading string support, TSF UILess code, etc.
dewyatt
parents:
4755
diff
changeset
|
149 #if SDL_VIDEO_RENDER_D3D |
863ba7d1f029
Large commit with initial reading string support, TSF UILess code, etc.
dewyatt
parents:
4755
diff
changeset
|
150 HANDLE d3dDLL; |
863ba7d1f029
Large commit with initial reading string support, TSF UILess code, etc.
dewyatt
parents:
4755
diff
changeset
|
151 IDirect3D9 *d3d; |
863ba7d1f029
Large commit with initial reading string support, TSF UILess code, etc.
dewyatt
parents:
4755
diff
changeset
|
152 #endif |
863ba7d1f029
Large commit with initial reading string support, TSF UILess code, etc.
dewyatt
parents:
4755
diff
changeset
|
153 #if SDL_VIDEO_RENDER_DDRAW |
863ba7d1f029
Large commit with initial reading string support, TSF UILess code, etc.
dewyatt
parents:
4755
diff
changeset
|
154 HANDLE ddrawDLL; |
863ba7d1f029
Large commit with initial reading string support, TSF UILess code, etc.
dewyatt
parents:
4755
diff
changeset
|
155 IDirectDraw *ddraw; |
863ba7d1f029
Large commit with initial reading string support, TSF UILess code, etc.
dewyatt
parents:
4755
diff
changeset
|
156 #endif |
4569 | 157 #ifdef _WIN32_WCE |
158 HMODULE hAygShell; | |
159 PFNSHFullScreen SHFullScreen; | |
160 PFCoordTransform CoordTransform; | |
161 #endif | |
4759
863ba7d1f029
Large commit with initial reading string support, TSF UILess code, etc.
dewyatt
parents:
4755
diff
changeset
|
162 |
863ba7d1f029
Large commit with initial reading string support, TSF UILess code, etc.
dewyatt
parents:
4755
diff
changeset
|
163 const SDL_scancode *key_layout; |
4919
716b2cbf4c9e
First pass at Windows multi-touch gesture support
Sam Lantinga <slouken@libsdl.org>
parents:
4912
diff
changeset
|
164 DWORD clipboard_count; |
716b2cbf4c9e
First pass at Windows multi-touch gesture support
Sam Lantinga <slouken@libsdl.org>
parents:
4912
diff
changeset
|
165 |
716b2cbf4c9e
First pass at Windows multi-touch gesture support
Sam Lantinga <slouken@libsdl.org>
parents:
4912
diff
changeset
|
166 /* Touch input functions */ |
716b2cbf4c9e
First pass at Windows multi-touch gesture support
Sam Lantinga <slouken@libsdl.org>
parents:
4912
diff
changeset
|
167 HANDLE userDLL; |
716b2cbf4c9e
First pass at Windows multi-touch gesture support
Sam Lantinga <slouken@libsdl.org>
parents:
4912
diff
changeset
|
168 BOOL (WINAPI *CloseTouchInputHandle)( HTOUCHINPUT ); |
716b2cbf4c9e
First pass at Windows multi-touch gesture support
Sam Lantinga <slouken@libsdl.org>
parents:
4912
diff
changeset
|
169 BOOL (WINAPI *GetTouchInputInfo)( HTOUCHINPUT, UINT, PTOUCHINPUT, int ); |
716b2cbf4c9e
First pass at Windows multi-touch gesture support
Sam Lantinga <slouken@libsdl.org>
parents:
4912
diff
changeset
|
170 BOOL (WINAPI *RegisterTouchWindow)( HWND, ULONG ); |
4759
863ba7d1f029
Large commit with initial reading string support, TSF UILess code, etc.
dewyatt
parents:
4755
diff
changeset
|
171 |
863ba7d1f029
Large commit with initial reading string support, TSF UILess code, etc.
dewyatt
parents:
4755
diff
changeset
|
172 SDL_bool ime_com_initialized; |
863ba7d1f029
Large commit with initial reading string support, TSF UILess code, etc.
dewyatt
parents:
4755
diff
changeset
|
173 struct ITfThreadMgr *ime_threadmgr; |
863ba7d1f029
Large commit with initial reading string support, TSF UILess code, etc.
dewyatt
parents:
4755
diff
changeset
|
174 SDL_bool ime_initialized; |
863ba7d1f029
Large commit with initial reading string support, TSF UILess code, etc.
dewyatt
parents:
4755
diff
changeset
|
175 SDL_bool ime_enabled; |
863ba7d1f029
Large commit with initial reading string support, TSF UILess code, etc.
dewyatt
parents:
4755
diff
changeset
|
176 SDL_bool ime_available; |
863ba7d1f029
Large commit with initial reading string support, TSF UILess code, etc.
dewyatt
parents:
4755
diff
changeset
|
177 HWND ime_hwnd_main; |
863ba7d1f029
Large commit with initial reading string support, TSF UILess code, etc.
dewyatt
parents:
4755
diff
changeset
|
178 HWND ime_hwnd_current; |
863ba7d1f029
Large commit with initial reading string support, TSF UILess code, etc.
dewyatt
parents:
4755
diff
changeset
|
179 HIMC ime_himc; |
863ba7d1f029
Large commit with initial reading string support, TSF UILess code, etc.
dewyatt
parents:
4755
diff
changeset
|
180 |
863ba7d1f029
Large commit with initial reading string support, TSF UILess code, etc.
dewyatt
parents:
4755
diff
changeset
|
181 WCHAR ime_composition[SDL_TEXTEDITINGEVENT_TEXT_SIZE]; |
863ba7d1f029
Large commit with initial reading string support, TSF UILess code, etc.
dewyatt
parents:
4755
diff
changeset
|
182 WCHAR ime_readingstring[16]; |
863ba7d1f029
Large commit with initial reading string support, TSF UILess code, etc.
dewyatt
parents:
4755
diff
changeset
|
183 int ime_cursor; |
863ba7d1f029
Large commit with initial reading string support, TSF UILess code, etc.
dewyatt
parents:
4755
diff
changeset
|
184 |
4912
37576cdf6751
Add variables needed for win32 candidate list support.
Daniel Wyatt <Daniel.Wyatt@gmail.com>
parents:
4893
diff
changeset
|
185 SDL_bool ime_candlist; |
37576cdf6751
Add variables needed for win32 candidate list support.
Daniel Wyatt <Daniel.Wyatt@gmail.com>
parents:
4893
diff
changeset
|
186 WCHAR ime_candidates[MAX_CANDLIST][MAX_CANDLENGTH]; |
37576cdf6751
Add variables needed for win32 candidate list support.
Daniel Wyatt <Daniel.Wyatt@gmail.com>
parents:
4893
diff
changeset
|
187 DWORD ime_candcount; |
37576cdf6751
Add variables needed for win32 candidate list support.
Daniel Wyatt <Daniel.Wyatt@gmail.com>
parents:
4893
diff
changeset
|
188 DWORD ime_candref; |
37576cdf6751
Add variables needed for win32 candidate list support.
Daniel Wyatt <Daniel.Wyatt@gmail.com>
parents:
4893
diff
changeset
|
189 DWORD ime_candsel; |
37576cdf6751
Add variables needed for win32 candidate list support.
Daniel Wyatt <Daniel.Wyatt@gmail.com>
parents:
4893
diff
changeset
|
190 UINT ime_candpgsize; |
37576cdf6751
Add variables needed for win32 candidate list support.
Daniel Wyatt <Daniel.Wyatt@gmail.com>
parents:
4893
diff
changeset
|
191 int ime_candlistindexbase; |
37576cdf6751
Add variables needed for win32 candidate list support.
Daniel Wyatt <Daniel.Wyatt@gmail.com>
parents:
4893
diff
changeset
|
192 SDL_bool ime_candvertical; |
37576cdf6751
Add variables needed for win32 candidate list support.
Daniel Wyatt <Daniel.Wyatt@gmail.com>
parents:
4893
diff
changeset
|
193 |
37576cdf6751
Add variables needed for win32 candidate list support.
Daniel Wyatt <Daniel.Wyatt@gmail.com>
parents:
4893
diff
changeset
|
194 SDL_Texture *ime_candtex; |
37576cdf6751
Add variables needed for win32 candidate list support.
Daniel Wyatt <Daniel.Wyatt@gmail.com>
parents:
4893
diff
changeset
|
195 SDL_bool ime_dirty; |
37576cdf6751
Add variables needed for win32 candidate list support.
Daniel Wyatt <Daniel.Wyatt@gmail.com>
parents:
4893
diff
changeset
|
196 SDL_Rect ime_rect; |
37576cdf6751
Add variables needed for win32 candidate list support.
Daniel Wyatt <Daniel.Wyatt@gmail.com>
parents:
4893
diff
changeset
|
197 SDL_Rect ime_candlistrect; |
37576cdf6751
Add variables needed for win32 candidate list support.
Daniel Wyatt <Daniel.Wyatt@gmail.com>
parents:
4893
diff
changeset
|
198 int ime_winwidth; |
37576cdf6751
Add variables needed for win32 candidate list support.
Daniel Wyatt <Daniel.Wyatt@gmail.com>
parents:
4893
diff
changeset
|
199 int ime_winheight; |
37576cdf6751
Add variables needed for win32 candidate list support.
Daniel Wyatt <Daniel.Wyatt@gmail.com>
parents:
4893
diff
changeset
|
200 |
4759
863ba7d1f029
Large commit with initial reading string support, TSF UILess code, etc.
dewyatt
parents:
4755
diff
changeset
|
201 HKL ime_hkl; |
863ba7d1f029
Large commit with initial reading string support, TSF UILess code, etc.
dewyatt
parents:
4755
diff
changeset
|
202 HMODULE ime_himm32; |
863ba7d1f029
Large commit with initial reading string support, TSF UILess code, etc.
dewyatt
parents:
4755
diff
changeset
|
203 UINT (WINAPI *GetReadingString)(HIMC himc, UINT uReadingBufLen, LPWSTR lpwReadingBuf, PINT pnErrorIndex, BOOL *pfIsVertical, PUINT puMaxReadingLen); |
863ba7d1f029
Large commit with initial reading string support, TSF UILess code, etc.
dewyatt
parents:
4755
diff
changeset
|
204 BOOL (WINAPI *ShowReadingWindow)(HIMC himc, BOOL bShow); |
863ba7d1f029
Large commit with initial reading string support, TSF UILess code, etc.
dewyatt
parents:
4755
diff
changeset
|
205 LPINPUTCONTEXT2 (WINAPI *ImmLockIMC)(HIMC himc); |
863ba7d1f029
Large commit with initial reading string support, TSF UILess code, etc.
dewyatt
parents:
4755
diff
changeset
|
206 BOOL (WINAPI *ImmUnlockIMC)(HIMC himc); |
863ba7d1f029
Large commit with initial reading string support, TSF UILess code, etc.
dewyatt
parents:
4755
diff
changeset
|
207 LPVOID (WINAPI *ImmLockIMCC)(HIMCC himcc); |
863ba7d1f029
Large commit with initial reading string support, TSF UILess code, etc.
dewyatt
parents:
4755
diff
changeset
|
208 BOOL (WINAPI *ImmUnlockIMCC)(HIMCC himcc); |
863ba7d1f029
Large commit with initial reading string support, TSF UILess code, etc.
dewyatt
parents:
4755
diff
changeset
|
209 |
863ba7d1f029
Large commit with initial reading string support, TSF UILess code, etc.
dewyatt
parents:
4755
diff
changeset
|
210 SDL_bool ime_uiless; |
863ba7d1f029
Large commit with initial reading string support, TSF UILess code, etc.
dewyatt
parents:
4755
diff
changeset
|
211 struct ITfThreadMgrEx *ime_threadmgrex; |
863ba7d1f029
Large commit with initial reading string support, TSF UILess code, etc.
dewyatt
parents:
4755
diff
changeset
|
212 DWORD ime_uielemsinkcookie; |
863ba7d1f029
Large commit with initial reading string support, TSF UILess code, etc.
dewyatt
parents:
4755
diff
changeset
|
213 DWORD ime_alpnsinkcookie; |
863ba7d1f029
Large commit with initial reading string support, TSF UILess code, etc.
dewyatt
parents:
4755
diff
changeset
|
214 DWORD ime_openmodesinkcookie; |
863ba7d1f029
Large commit with initial reading string support, TSF UILess code, etc.
dewyatt
parents:
4755
diff
changeset
|
215 DWORD ime_convmodesinkcookie; |
863ba7d1f029
Large commit with initial reading string support, TSF UILess code, etc.
dewyatt
parents:
4755
diff
changeset
|
216 TSFSink *ime_uielemsink; |
863ba7d1f029
Large commit with initial reading string support, TSF UILess code, etc.
dewyatt
parents:
4755
diff
changeset
|
217 TSFSink *ime_ippasink; |
863ba7d1f029
Large commit with initial reading string support, TSF UILess code, etc.
dewyatt
parents:
4755
diff
changeset
|
218 } SDL_VideoData; |
863ba7d1f029
Large commit with initial reading string support, TSF UILess code, etc.
dewyatt
parents:
4755
diff
changeset
|
219 |
863ba7d1f029
Large commit with initial reading string support, TSF UILess code, etc.
dewyatt
parents:
4755
diff
changeset
|
220 #endif /* _SDL_win32video_h */ |
863ba7d1f029
Large commit with initial reading string support, TSF UILess code, etc.
dewyatt
parents:
4755
diff
changeset
|
221 |
863ba7d1f029
Large commit with initial reading string support, TSF UILess code, etc.
dewyatt
parents:
4755
diff
changeset
|
222 /* vi: set ts=4 sw=4 expandtab: */ |