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
e1664f94f026 Andrey A.
Sam Lantinga <slouken@libsdl.org>
parents: 4504
diff changeset
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
e1664f94f026 Andrey A.
Sam Lantinga <slouken@libsdl.org>
parents: 4504
diff changeset
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
7ad7a473b086 More fixes for windows. Disabled tablet code.
jimtla
parents: 4426
diff changeset
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
e1664f94f026 Andrey A.
Sam Lantinga <slouken@libsdl.org>
parents: 4504
diff changeset
81 enum { RENDER_NONE, RENDER_D3D, RENDER_DDRAW, RENDER_GDI, RENDER_GAPI, RENDER_RAW };
e1664f94f026 Andrey A.
Sam Lantinga <slouken@libsdl.org>
parents: 4504
diff changeset
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
e1664f94f026 Andrey A.
Sam Lantinga <slouken@libsdl.org>
parents: 4504
diff changeset
109 typedef BOOL (*PFNSHFullScreen)(HWND, DWORD);
e1664f94f026 Andrey A.
Sam Lantinga <slouken@libsdl.org>
parents: 4504
diff changeset
110 typedef void (*PFCoordTransform)(SDL_Window*, POINT*);
e1664f94f026 Andrey A.
Sam Lantinga <slouken@libsdl.org>
parents: 4504
diff changeset
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
e1664f94f026 Andrey A.
Sam Lantinga <slouken@libsdl.org>
parents: 4504
diff changeset
147 int render;
e1664f94f026 Andrey A.
Sam Lantinga <slouken@libsdl.org>
parents: 4504
diff changeset
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
e1664f94f026 Andrey A.
Sam Lantinga <slouken@libsdl.org>
parents: 4504
diff changeset
157 #ifdef _WIN32_WCE
e1664f94f026 Andrey A.
Sam Lantinga <slouken@libsdl.org>
parents: 4504
diff changeset
158 HMODULE hAygShell;
e1664f94f026 Andrey A.
Sam Lantinga <slouken@libsdl.org>
parents: 4504
diff changeset
159 PFNSHFullScreen SHFullScreen;
e1664f94f026 Andrey A.
Sam Lantinga <slouken@libsdl.org>
parents: 4504
diff changeset
160 PFCoordTransform CoordTransform;
e1664f94f026 Andrey A.
Sam Lantinga <slouken@libsdl.org>
parents: 4504
diff changeset
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: */