annotate src/video/windows/SDL_windowsvideo.h @ 5092:327f181542f1

Include windows.h in a single point in the source, so we can be consistent about the definition of UNICODE and have core utility functions for Windows that all modules can share. I think this also fixes the bug relating to non-latin characters in filenames, since UNICODE wasn't defined in SDL_rwops.c
author Sam Lantinga <slouken@libsdl.org>
date Mon, 24 Jan 2011 21:20:30 -0800
parents c2539ff054c8
children 57851a238c8f
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
5062
e8916fe9cfc8 Fixed bug #925
Sam Lantinga <slouken@libsdl.org>
parents: 5038
diff changeset
24 #ifndef _SDL_windowsvideo_h
e8916fe9cfc8 Fixed bug #925
Sam Lantinga <slouken@libsdl.org>
parents: 5038
diff changeset
25 #define _SDL_windowsvideo_h
4759
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
5092
327f181542f1 Include windows.h in a single point in the source, so we can be consistent about the definition of UNICODE and have core utility functions for Windows that all modules can share.
Sam Lantinga <slouken@libsdl.org>
parents: 5088
diff changeset
29 #include "../../core/windows/SDL_windows.h"
4759
863ba7d1f029 Large commit with initial reading string support, TSF UILess code, etc.
dewyatt
parents: 4755
diff changeset
30
5088
c2539ff054c8 Fixed compiling on Windows Mobile SDK 5.0 with Visual Studio 2008
Sam Lantinga <slouken@libsdl.org>
parents: 5083
diff changeset
31 #if defined(_MSC_VER) && !defined(_WIN32_WCE)
4759
863ba7d1f029 Large commit with initial reading string support, TSF UILess code, etc.
dewyatt
parents: 4755
diff changeset
32 #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
33 #else
b2e434e0553b Fixed all MinGW problems (except libraries not added to build yet).
Daniel Wyatt <Daniel.Wyatt@gmail.com>
parents: 4892
diff changeset
34 #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
35 #endif
b2e434e0553b Fixed all MinGW problems (except libraries not added to build yet).
Daniel Wyatt <Daniel.Wyatt@gmail.com>
parents: 4892
diff changeset
36
4892
9e1f6d3fb870 Added imm.h include, will be needed on MinGW.
Daniel Wyatt <Daniel.Wyatt@gmail.com>
parents: 4868
diff changeset
37 #include <imm.h>
4759
863ba7d1f029 Large commit with initial reading string support, TSF UILess code, etc.
dewyatt
parents: 4755
diff changeset
38
4912
37576cdf6751 Add variables needed for win32 candidate list support.
Daniel Wyatt <Daniel.Wyatt@gmail.com>
parents: 4893
diff changeset
39 #define MAX_CANDLIST 10
37576cdf6751 Add variables needed for win32 candidate list support.
Daniel Wyatt <Daniel.Wyatt@gmail.com>
parents: 4893
diff changeset
40 #define MAX_CANDLENGTH 256
37576cdf6751 Add variables needed for win32 candidate list support.
Daniel Wyatt <Daniel.Wyatt@gmail.com>
parents: 4893
diff changeset
41
4759
863ba7d1f029 Large commit with initial reading string support, TSF UILess code, etc.
dewyatt
parents: 4755
diff changeset
42 #if SDL_VIDEO_RENDER_D3D
863ba7d1f029 Large commit with initial reading string support, TSF UILess code, etc.
dewyatt
parents: 4755
diff changeset
43 //#include <d3d9.h>
863ba7d1f029 Large commit with initial reading string support, TSF UILess code, etc.
dewyatt
parents: 4755
diff changeset
44 #define D3D_DEBUG_INFO
863ba7d1f029 Large commit with initial reading string support, TSF UILess code, etc.
dewyatt
parents: 4755
diff changeset
45 #include "d3d9.h"
863ba7d1f029 Large commit with initial reading string support, TSF UILess code, etc.
dewyatt
parents: 4755
diff changeset
46 #endif
863ba7d1f029 Large commit with initial reading string support, TSF UILess code, etc.
dewyatt
parents: 4755
diff changeset
47
863ba7d1f029 Large commit with initial reading string support, TSF UILess code, etc.
dewyatt
parents: 4755
diff changeset
48 #if SDL_VIDEO_RENDER_DDRAW
863ba7d1f029 Large commit with initial reading string support, TSF UILess code, etc.
dewyatt
parents: 4755
diff changeset
49 /* 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
50 #include <objbase.h>
863ba7d1f029 Large commit with initial reading string support, TSF UILess code, etc.
dewyatt
parents: 4755
diff changeset
51 #include "ddraw.h"
863ba7d1f029 Large commit with initial reading string support, TSF UILess code, etc.
dewyatt
parents: 4755
diff changeset
52 #endif
863ba7d1f029 Large commit with initial reading string support, TSF UILess code, etc.
dewyatt
parents: 4755
diff changeset
53
5062
e8916fe9cfc8 Fixed bug #925
Sam Lantinga <slouken@libsdl.org>
parents: 5038
diff changeset
54 #include "SDL_windowsclipboard.h"
e8916fe9cfc8 Fixed bug #925
Sam Lantinga <slouken@libsdl.org>
parents: 5038
diff changeset
55 #include "SDL_windowsevents.h"
e8916fe9cfc8 Fixed bug #925
Sam Lantinga <slouken@libsdl.org>
parents: 5038
diff changeset
56 #include "SDL_windowsgamma.h"
e8916fe9cfc8 Fixed bug #925
Sam Lantinga <slouken@libsdl.org>
parents: 5038
diff changeset
57 #include "SDL_windowskeyboard.h"
e8916fe9cfc8 Fixed bug #925
Sam Lantinga <slouken@libsdl.org>
parents: 5038
diff changeset
58 #include "SDL_windowsmodes.h"
e8916fe9cfc8 Fixed bug #925
Sam Lantinga <slouken@libsdl.org>
parents: 5038
diff changeset
59 #include "SDL_windowsmouse.h"
e8916fe9cfc8 Fixed bug #925
Sam Lantinga <slouken@libsdl.org>
parents: 5038
diff changeset
60 #include "SDL_windowsopengl.h"
e8916fe9cfc8 Fixed bug #925
Sam Lantinga <slouken@libsdl.org>
parents: 5038
diff changeset
61 #include "SDL_windowswindow.h"
4759
863ba7d1f029 Large commit with initial reading string support, TSF UILess code, etc.
dewyatt
parents: 4755
diff changeset
62 #include "SDL_events.h"
5092
327f181542f1 Include windows.h in a single point in the source, so we can be consistent about the definition of UNICODE and have core utility functions for Windows that all modules can share.
Sam Lantinga <slouken@libsdl.org>
parents: 5088
diff changeset
63 #include "SDL_loadso.h"
4759
863ba7d1f029 Large commit with initial reading string support, TSF UILess code, etc.
dewyatt
parents: 4755
diff changeset
64
863ba7d1f029 Large commit with initial reading string support, TSF UILess code, etc.
dewyatt
parents: 4755
diff changeset
65
4569
e1664f94f026 Andrey A.
Sam Lantinga <slouken@libsdl.org>
parents: 4504
diff changeset
66 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
67
4919
716b2cbf4c9e First pass at Windows multi-touch gesture support
Sam Lantinga <slouken@libsdl.org>
parents: 4912
diff changeset
68 #if WINVER < 0x0601
716b2cbf4c9e First pass at Windows multi-touch gesture support
Sam Lantinga <slouken@libsdl.org>
parents: 4912
diff changeset
69 /* Touch input definitions */
716b2cbf4c9e First pass at Windows multi-touch gesture support
Sam Lantinga <slouken@libsdl.org>
parents: 4912
diff changeset
70 #define TWF_FINETOUCH 1
716b2cbf4c9e First pass at Windows multi-touch gesture support
Sam Lantinga <slouken@libsdl.org>
parents: 4912
diff changeset
71 #define TWF_WANTPALM 2
716b2cbf4c9e First pass at Windows multi-touch gesture support
Sam Lantinga <slouken@libsdl.org>
parents: 4912
diff changeset
72
716b2cbf4c9e First pass at Windows multi-touch gesture support
Sam Lantinga <slouken@libsdl.org>
parents: 4912
diff changeset
73 #define TOUCHEVENTF_MOVE 0x0001
716b2cbf4c9e First pass at Windows multi-touch gesture support
Sam Lantinga <slouken@libsdl.org>
parents: 4912
diff changeset
74 #define TOUCHEVENTF_DOWN 0x0002
716b2cbf4c9e First pass at Windows multi-touch gesture support
Sam Lantinga <slouken@libsdl.org>
parents: 4912
diff changeset
75 #define TOUCHEVENTF_UP 0x0004
716b2cbf4c9e First pass at Windows multi-touch gesture support
Sam Lantinga <slouken@libsdl.org>
parents: 4912
diff changeset
76
716b2cbf4c9e First pass at Windows multi-touch gesture support
Sam Lantinga <slouken@libsdl.org>
parents: 4912
diff changeset
77 DECLARE_HANDLE(HTOUCHINPUT);
716b2cbf4c9e First pass at Windows multi-touch gesture support
Sam Lantinga <slouken@libsdl.org>
parents: 4912
diff changeset
78
5038
40ef2ad3757c Normalized line endings
Sam Lantinga <slouken@libsdl.org>
parents: 4919
diff changeset
79 typedef struct _TOUCHINPUT {
40ef2ad3757c Normalized line endings
Sam Lantinga <slouken@libsdl.org>
parents: 4919
diff changeset
80 LONG x;
40ef2ad3757c Normalized line endings
Sam Lantinga <slouken@libsdl.org>
parents: 4919
diff changeset
81 LONG y;
40ef2ad3757c Normalized line endings
Sam Lantinga <slouken@libsdl.org>
parents: 4919
diff changeset
82 HANDLE hSource;
40ef2ad3757c Normalized line endings
Sam Lantinga <slouken@libsdl.org>
parents: 4919
diff changeset
83 DWORD dwID;
40ef2ad3757c Normalized line endings
Sam Lantinga <slouken@libsdl.org>
parents: 4919
diff changeset
84 DWORD dwFlags;
40ef2ad3757c Normalized line endings
Sam Lantinga <slouken@libsdl.org>
parents: 4919
diff changeset
85 DWORD dwMask;
40ef2ad3757c Normalized line endings
Sam Lantinga <slouken@libsdl.org>
parents: 4919
diff changeset
86 DWORD dwTime;
40ef2ad3757c Normalized line endings
Sam Lantinga <slouken@libsdl.org>
parents: 4919
diff changeset
87 ULONG_PTR dwExtraInfo;
40ef2ad3757c Normalized line endings
Sam Lantinga <slouken@libsdl.org>
parents: 4919
diff changeset
88 DWORD cxContact;
40ef2ad3757c Normalized line endings
Sam Lantinga <slouken@libsdl.org>
parents: 4919
diff changeset
89 DWORD cyContact;
4919
716b2cbf4c9e First pass at Windows multi-touch gesture support
Sam Lantinga <slouken@libsdl.org>
parents: 4912
diff changeset
90 } TOUCHINPUT, *PTOUCHINPUT;
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 #endif /* WINVER < 0x0601 */
716b2cbf4c9e First pass at Windows multi-touch gesture support
Sam Lantinga <slouken@libsdl.org>
parents: 4912
diff changeset
93
4569
e1664f94f026 Andrey A.
Sam Lantinga <slouken@libsdl.org>
parents: 4504
diff changeset
94 typedef BOOL (*PFNSHFullScreen)(HWND, DWORD);
e1664f94f026 Andrey A.
Sam Lantinga <slouken@libsdl.org>
parents: 4504
diff changeset
95 typedef void (*PFCoordTransform)(SDL_Window*, POINT*);
e1664f94f026 Andrey A.
Sam Lantinga <slouken@libsdl.org>
parents: 4504
diff changeset
96
4759
863ba7d1f029 Large commit with initial reading string support, TSF UILess code, etc.
dewyatt
parents: 4755
diff changeset
97 typedef struct
863ba7d1f029 Large commit with initial reading string support, TSF UILess code, etc.
dewyatt
parents: 4755
diff changeset
98 {
863ba7d1f029 Large commit with initial reading string support, TSF UILess code, etc.
dewyatt
parents: 4755
diff changeset
99 void **lpVtbl;
863ba7d1f029 Large commit with initial reading string support, TSF UILess code, etc.
dewyatt
parents: 4755
diff changeset
100 int refcount;
863ba7d1f029 Large commit with initial reading string support, TSF UILess code, etc.
dewyatt
parents: 4755
diff changeset
101 void *data;
863ba7d1f029 Large commit with initial reading string support, TSF UILess code, etc.
dewyatt
parents: 4755
diff changeset
102 } TSFSink;
863ba7d1f029 Large commit with initial reading string support, TSF UILess code, etc.
dewyatt
parents: 4755
diff changeset
103
4892
9e1f6d3fb870 Added imm.h include, will be needed on MinGW.
Daniel Wyatt <Daniel.Wyatt@gmail.com>
parents: 4868
diff changeset
104 /* 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
105 typedef struct tagINPUTCONTEXT2 {
4912
37576cdf6751 Add variables needed for win32 candidate list support.
Daniel Wyatt <Daniel.Wyatt@gmail.com>
parents: 4893
diff changeset
106 HWND hWnd;
37576cdf6751 Add variables needed for win32 candidate list support.
Daniel Wyatt <Daniel.Wyatt@gmail.com>
parents: 4893
diff changeset
107 BOOL fOpen;
37576cdf6751 Add variables needed for win32 candidate list support.
Daniel Wyatt <Daniel.Wyatt@gmail.com>
parents: 4893
diff changeset
108 POINT ptStatusWndPos;
37576cdf6751 Add variables needed for win32 candidate list support.
Daniel Wyatt <Daniel.Wyatt@gmail.com>
parents: 4893
diff changeset
109 POINT ptSoftKbdPos;
37576cdf6751 Add variables needed for win32 candidate list support.
Daniel Wyatt <Daniel.Wyatt@gmail.com>
parents: 4893
diff changeset
110 DWORD fdwConversion;
37576cdf6751 Add variables needed for win32 candidate list support.
Daniel Wyatt <Daniel.Wyatt@gmail.com>
parents: 4893
diff changeset
111 DWORD fdwSentence;
37576cdf6751 Add variables needed for win32 candidate list support.
Daniel Wyatt <Daniel.Wyatt@gmail.com>
parents: 4893
diff changeset
112 union {
37576cdf6751 Add variables needed for win32 candidate list support.
Daniel Wyatt <Daniel.Wyatt@gmail.com>
parents: 4893
diff changeset
113 LOGFONTA A;
37576cdf6751 Add variables needed for win32 candidate list support.
Daniel Wyatt <Daniel.Wyatt@gmail.com>
parents: 4893
diff changeset
114 LOGFONTW W;
4892
9e1f6d3fb870 Added imm.h include, will be needed on MinGW.
Daniel Wyatt <Daniel.Wyatt@gmail.com>
parents: 4868
diff changeset
115 } lfFont;
4912
37576cdf6751 Add variables needed for win32 candidate list support.
Daniel Wyatt <Daniel.Wyatt@gmail.com>
parents: 4893
diff changeset
116 COMPOSITIONFORM cfCompForm;
37576cdf6751 Add variables needed for win32 candidate list support.
Daniel Wyatt <Daniel.Wyatt@gmail.com>
parents: 4893
diff changeset
117 CANDIDATEFORM cfCandForm[4];
37576cdf6751 Add variables needed for win32 candidate list support.
Daniel Wyatt <Daniel.Wyatt@gmail.com>
parents: 4893
diff changeset
118 HIMCC hCompStr;
37576cdf6751 Add variables needed for win32 candidate list support.
Daniel Wyatt <Daniel.Wyatt@gmail.com>
parents: 4893
diff changeset
119 HIMCC hCandInfo;
37576cdf6751 Add variables needed for win32 candidate list support.
Daniel Wyatt <Daniel.Wyatt@gmail.com>
parents: 4893
diff changeset
120 HIMCC hGuideLine;
37576cdf6751 Add variables needed for win32 candidate list support.
Daniel Wyatt <Daniel.Wyatt@gmail.com>
parents: 4893
diff changeset
121 HIMCC hPrivate;
37576cdf6751 Add variables needed for win32 candidate list support.
Daniel Wyatt <Daniel.Wyatt@gmail.com>
parents: 4893
diff changeset
122 DWORD dwNumMsgBuf;
37576cdf6751 Add variables needed for win32 candidate list support.
Daniel Wyatt <Daniel.Wyatt@gmail.com>
parents: 4893
diff changeset
123 HIMCC hMsgBuf;
37576cdf6751 Add variables needed for win32 candidate list support.
Daniel Wyatt <Daniel.Wyatt@gmail.com>
parents: 4893
diff changeset
124 DWORD fdwInit;
37576cdf6751 Add variables needed for win32 candidate list support.
Daniel Wyatt <Daniel.Wyatt@gmail.com>
parents: 4893
diff changeset
125 DWORD dwReserve[3];
4892
9e1f6d3fb870 Added imm.h include, will be needed on MinGW.
Daniel Wyatt <Daniel.Wyatt@gmail.com>
parents: 4868
diff changeset
126 } INPUTCONTEXT2, *PINPUTCONTEXT2, NEAR *NPINPUTCONTEXT2, FAR *LPINPUTCONTEXT2;
4759
863ba7d1f029 Large commit with initial reading string support, TSF UILess code, etc.
dewyatt
parents: 4755
diff changeset
127
863ba7d1f029 Large commit with initial reading string support, TSF UILess code, etc.
dewyatt
parents: 4755
diff changeset
128 /* Private display data */
863ba7d1f029 Large commit with initial reading string support, TSF UILess code, etc.
dewyatt
parents: 4755
diff changeset
129
863ba7d1f029 Large commit with initial reading string support, TSF UILess code, etc.
dewyatt
parents: 4755
diff changeset
130 typedef struct SDL_VideoData
863ba7d1f029 Large commit with initial reading string support, TSF UILess code, etc.
dewyatt
parents: 4755
diff changeset
131 {
4569
e1664f94f026 Andrey A.
Sam Lantinga <slouken@libsdl.org>
parents: 4504
diff changeset
132 int render;
e1664f94f026 Andrey A.
Sam Lantinga <slouken@libsdl.org>
parents: 4504
diff changeset
133
4759
863ba7d1f029 Large commit with initial reading string support, TSF UILess code, etc.
dewyatt
parents: 4755
diff changeset
134 #if SDL_VIDEO_RENDER_D3D
5092
327f181542f1 Include windows.h in a single point in the source, so we can be consistent about the definition of UNICODE and have core utility functions for Windows that all modules can share.
Sam Lantinga <slouken@libsdl.org>
parents: 5088
diff changeset
135 void* d3dDLL;
4759
863ba7d1f029 Large commit with initial reading string support, TSF UILess code, etc.
dewyatt
parents: 4755
diff changeset
136 IDirect3D9 *d3d;
863ba7d1f029 Large commit with initial reading string support, TSF UILess code, etc.
dewyatt
parents: 4755
diff changeset
137 #endif
863ba7d1f029 Large commit with initial reading string support, TSF UILess code, etc.
dewyatt
parents: 4755
diff changeset
138 #if SDL_VIDEO_RENDER_DDRAW
5092
327f181542f1 Include windows.h in a single point in the source, so we can be consistent about the definition of UNICODE and have core utility functions for Windows that all modules can share.
Sam Lantinga <slouken@libsdl.org>
parents: 5088
diff changeset
139 void* ddrawDLL;
4759
863ba7d1f029 Large commit with initial reading string support, TSF UILess code, etc.
dewyatt
parents: 4755
diff changeset
140 IDirectDraw *ddraw;
863ba7d1f029 Large commit with initial reading string support, TSF UILess code, etc.
dewyatt
parents: 4755
diff changeset
141 #endif
4569
e1664f94f026 Andrey A.
Sam Lantinga <slouken@libsdl.org>
parents: 4504
diff changeset
142 #ifdef _WIN32_WCE
5092
327f181542f1 Include windows.h in a single point in the source, so we can be consistent about the definition of UNICODE and have core utility functions for Windows that all modules can share.
Sam Lantinga <slouken@libsdl.org>
parents: 5088
diff changeset
143 void* hAygShell;
4569
e1664f94f026 Andrey A.
Sam Lantinga <slouken@libsdl.org>
parents: 4504
diff changeset
144 PFNSHFullScreen SHFullScreen;
e1664f94f026 Andrey A.
Sam Lantinga <slouken@libsdl.org>
parents: 4504
diff changeset
145 PFCoordTransform CoordTransform;
e1664f94f026 Andrey A.
Sam Lantinga <slouken@libsdl.org>
parents: 4504
diff changeset
146 #endif
4759
863ba7d1f029 Large commit with initial reading string support, TSF UILess code, etc.
dewyatt
parents: 4755
diff changeset
147
5083
25d4feb7c127 Renamed SDL_keysym to SDL_KeySym
krogoway
parents: 5062
diff changeset
148 const SDL_ScanCode *key_layout;
4919
716b2cbf4c9e First pass at Windows multi-touch gesture support
Sam Lantinga <slouken@libsdl.org>
parents: 4912
diff changeset
149 DWORD clipboard_count;
716b2cbf4c9e First pass at Windows multi-touch gesture support
Sam Lantinga <slouken@libsdl.org>
parents: 4912
diff changeset
150
716b2cbf4c9e First pass at Windows multi-touch gesture support
Sam Lantinga <slouken@libsdl.org>
parents: 4912
diff changeset
151 /* Touch input functions */
5092
327f181542f1 Include windows.h in a single point in the source, so we can be consistent about the definition of UNICODE and have core utility functions for Windows that all modules can share.
Sam Lantinga <slouken@libsdl.org>
parents: 5088
diff changeset
152 void* userDLL;
4919
716b2cbf4c9e First pass at Windows multi-touch gesture support
Sam Lantinga <slouken@libsdl.org>
parents: 4912
diff changeset
153 BOOL (WINAPI *CloseTouchInputHandle)( HTOUCHINPUT );
716b2cbf4c9e First pass at Windows multi-touch gesture support
Sam Lantinga <slouken@libsdl.org>
parents: 4912
diff changeset
154 BOOL (WINAPI *GetTouchInputInfo)( HTOUCHINPUT, UINT, PTOUCHINPUT, int );
5038
40ef2ad3757c Normalized line endings
Sam Lantinga <slouken@libsdl.org>
parents: 4919
diff changeset
155 BOOL (WINAPI *RegisterTouchWindow)( HWND, ULONG );
4759
863ba7d1f029 Large commit with initial reading string support, TSF UILess code, etc.
dewyatt
parents: 4755
diff changeset
156
863ba7d1f029 Large commit with initial reading string support, TSF UILess code, etc.
dewyatt
parents: 4755
diff changeset
157 SDL_bool ime_com_initialized;
863ba7d1f029 Large commit with initial reading string support, TSF UILess code, etc.
dewyatt
parents: 4755
diff changeset
158 struct ITfThreadMgr *ime_threadmgr;
863ba7d1f029 Large commit with initial reading string support, TSF UILess code, etc.
dewyatt
parents: 4755
diff changeset
159 SDL_bool ime_initialized;
863ba7d1f029 Large commit with initial reading string support, TSF UILess code, etc.
dewyatt
parents: 4755
diff changeset
160 SDL_bool ime_enabled;
863ba7d1f029 Large commit with initial reading string support, TSF UILess code, etc.
dewyatt
parents: 4755
diff changeset
161 SDL_bool ime_available;
863ba7d1f029 Large commit with initial reading string support, TSF UILess code, etc.
dewyatt
parents: 4755
diff changeset
162 HWND ime_hwnd_main;
863ba7d1f029 Large commit with initial reading string support, TSF UILess code, etc.
dewyatt
parents: 4755
diff changeset
163 HWND ime_hwnd_current;
863ba7d1f029 Large commit with initial reading string support, TSF UILess code, etc.
dewyatt
parents: 4755
diff changeset
164 HIMC ime_himc;
863ba7d1f029 Large commit with initial reading string support, TSF UILess code, etc.
dewyatt
parents: 4755
diff changeset
165
863ba7d1f029 Large commit with initial reading string support, TSF UILess code, etc.
dewyatt
parents: 4755
diff changeset
166 WCHAR ime_composition[SDL_TEXTEDITINGEVENT_TEXT_SIZE];
863ba7d1f029 Large commit with initial reading string support, TSF UILess code, etc.
dewyatt
parents: 4755
diff changeset
167 WCHAR ime_readingstring[16];
863ba7d1f029 Large commit with initial reading string support, TSF UILess code, etc.
dewyatt
parents: 4755
diff changeset
168 int ime_cursor;
863ba7d1f029 Large commit with initial reading string support, TSF UILess code, etc.
dewyatt
parents: 4755
diff changeset
169
4912
37576cdf6751 Add variables needed for win32 candidate list support.
Daniel Wyatt <Daniel.Wyatt@gmail.com>
parents: 4893
diff changeset
170 SDL_bool ime_candlist;
37576cdf6751 Add variables needed for win32 candidate list support.
Daniel Wyatt <Daniel.Wyatt@gmail.com>
parents: 4893
diff changeset
171 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
172 DWORD ime_candcount;
37576cdf6751 Add variables needed for win32 candidate list support.
Daniel Wyatt <Daniel.Wyatt@gmail.com>
parents: 4893
diff changeset
173 DWORD ime_candref;
37576cdf6751 Add variables needed for win32 candidate list support.
Daniel Wyatt <Daniel.Wyatt@gmail.com>
parents: 4893
diff changeset
174 DWORD ime_candsel;
37576cdf6751 Add variables needed for win32 candidate list support.
Daniel Wyatt <Daniel.Wyatt@gmail.com>
parents: 4893
diff changeset
175 UINT ime_candpgsize;
37576cdf6751 Add variables needed for win32 candidate list support.
Daniel Wyatt <Daniel.Wyatt@gmail.com>
parents: 4893
diff changeset
176 int ime_candlistindexbase;
37576cdf6751 Add variables needed for win32 candidate list support.
Daniel Wyatt <Daniel.Wyatt@gmail.com>
parents: 4893
diff changeset
177 SDL_bool ime_candvertical;
37576cdf6751 Add variables needed for win32 candidate list support.
Daniel Wyatt <Daniel.Wyatt@gmail.com>
parents: 4893
diff changeset
178
37576cdf6751 Add variables needed for win32 candidate list support.
Daniel Wyatt <Daniel.Wyatt@gmail.com>
parents: 4893
diff changeset
179 SDL_Texture *ime_candtex;
37576cdf6751 Add variables needed for win32 candidate list support.
Daniel Wyatt <Daniel.Wyatt@gmail.com>
parents: 4893
diff changeset
180 SDL_bool ime_dirty;
37576cdf6751 Add variables needed for win32 candidate list support.
Daniel Wyatt <Daniel.Wyatt@gmail.com>
parents: 4893
diff changeset
181 SDL_Rect ime_rect;
37576cdf6751 Add variables needed for win32 candidate list support.
Daniel Wyatt <Daniel.Wyatt@gmail.com>
parents: 4893
diff changeset
182 SDL_Rect ime_candlistrect;
37576cdf6751 Add variables needed for win32 candidate list support.
Daniel Wyatt <Daniel.Wyatt@gmail.com>
parents: 4893
diff changeset
183 int ime_winwidth;
37576cdf6751 Add variables needed for win32 candidate list support.
Daniel Wyatt <Daniel.Wyatt@gmail.com>
parents: 4893
diff changeset
184 int ime_winheight;
37576cdf6751 Add variables needed for win32 candidate list support.
Daniel Wyatt <Daniel.Wyatt@gmail.com>
parents: 4893
diff changeset
185
4759
863ba7d1f029 Large commit with initial reading string support, TSF UILess code, etc.
dewyatt
parents: 4755
diff changeset
186 HKL ime_hkl;
5092
327f181542f1 Include windows.h in a single point in the source, so we can be consistent about the definition of UNICODE and have core utility functions for Windows that all modules can share.
Sam Lantinga <slouken@libsdl.org>
parents: 5088
diff changeset
187 void* ime_himm32;
4759
863ba7d1f029 Large commit with initial reading string support, TSF UILess code, etc.
dewyatt
parents: 4755
diff changeset
188 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
189 BOOL (WINAPI *ShowReadingWindow)(HIMC himc, BOOL bShow);
863ba7d1f029 Large commit with initial reading string support, TSF UILess code, etc.
dewyatt
parents: 4755
diff changeset
190 LPINPUTCONTEXT2 (WINAPI *ImmLockIMC)(HIMC himc);
863ba7d1f029 Large commit with initial reading string support, TSF UILess code, etc.
dewyatt
parents: 4755
diff changeset
191 BOOL (WINAPI *ImmUnlockIMC)(HIMC himc);
863ba7d1f029 Large commit with initial reading string support, TSF UILess code, etc.
dewyatt
parents: 4755
diff changeset
192 LPVOID (WINAPI *ImmLockIMCC)(HIMCC himcc);
863ba7d1f029 Large commit with initial reading string support, TSF UILess code, etc.
dewyatt
parents: 4755
diff changeset
193 BOOL (WINAPI *ImmUnlockIMCC)(HIMCC himcc);
863ba7d1f029 Large commit with initial reading string support, TSF UILess code, etc.
dewyatt
parents: 4755
diff changeset
194
863ba7d1f029 Large commit with initial reading string support, TSF UILess code, etc.
dewyatt
parents: 4755
diff changeset
195 SDL_bool ime_uiless;
863ba7d1f029 Large commit with initial reading string support, TSF UILess code, etc.
dewyatt
parents: 4755
diff changeset
196 struct ITfThreadMgrEx *ime_threadmgrex;
863ba7d1f029 Large commit with initial reading string support, TSF UILess code, etc.
dewyatt
parents: 4755
diff changeset
197 DWORD ime_uielemsinkcookie;
863ba7d1f029 Large commit with initial reading string support, TSF UILess code, etc.
dewyatt
parents: 4755
diff changeset
198 DWORD ime_alpnsinkcookie;
863ba7d1f029 Large commit with initial reading string support, TSF UILess code, etc.
dewyatt
parents: 4755
diff changeset
199 DWORD ime_openmodesinkcookie;
863ba7d1f029 Large commit with initial reading string support, TSF UILess code, etc.
dewyatt
parents: 4755
diff changeset
200 DWORD ime_convmodesinkcookie;
863ba7d1f029 Large commit with initial reading string support, TSF UILess code, etc.
dewyatt
parents: 4755
diff changeset
201 TSFSink *ime_uielemsink;
863ba7d1f029 Large commit with initial reading string support, TSF UILess code, etc.
dewyatt
parents: 4755
diff changeset
202 TSFSink *ime_ippasink;
863ba7d1f029 Large commit with initial reading string support, TSF UILess code, etc.
dewyatt
parents: 4755
diff changeset
203 } SDL_VideoData;
863ba7d1f029 Large commit with initial reading string support, TSF UILess code, etc.
dewyatt
parents: 4755
diff changeset
204
5062
e8916fe9cfc8 Fixed bug #925
Sam Lantinga <slouken@libsdl.org>
parents: 5038
diff changeset
205 #endif /* _SDL_windowsvideo_h */
4759
863ba7d1f029 Large commit with initial reading string support, TSF UILess code, etc.
dewyatt
parents: 4755
diff changeset
206
863ba7d1f029 Large commit with initial reading string support, TSF UILess code, etc.
dewyatt
parents: 4755
diff changeset
207 /* vi: set ts=4 sw=4 expandtab: */