Skip to content
This repository has been archived by the owner on Feb 11, 2021. It is now read-only.

Latest commit

 

History

History
182 lines (150 loc) · 4.69 KB

SDL_windowsvideo.h

File metadata and controls

182 lines (150 loc) · 4.69 KB
 
Aug 3, 2010
Aug 3, 2010
1
/*
Apr 8, 2011
Apr 8, 2011
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Simple DirectMedia Layer
Copyright (C) 1997-2011 Sam Lantinga <slouken@libsdl.org>
This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages
arising from the use of this software.
Permission is granted to anyone to use this software for any purpose,
including commercial applications, and to alter it and redistribute it
freely, subject to the following restrictions:
1. The origin of this software must not be misrepresented; you must not
claim that you wrote the original software. If you use this software
in a product, an acknowledgment in the product documentation would be
appreciated but is not required.
2. Altered source versions must be plainly marked as such, and must not be
misrepresented as being the original software.
3. This notice may not be removed or altered from any source distribution.
Aug 3, 2010
Aug 3, 2010
20
21
22
*/
#include "SDL_config.h"
Jan 21, 2011
Jan 21, 2011
23
24
#ifndef _SDL_windowsvideo_h
#define _SDL_windowsvideo_h
Aug 3, 2010
Aug 3, 2010
25
26
27
#include "../SDL_sysvideo.h"
Jan 25, 2011
Jan 25, 2011
28
#include "../../core/windows/SDL_windows.h"
Aug 3, 2010
Aug 3, 2010
29
Jan 24, 2011
Jan 24, 2011
30
#if defined(_MSC_VER) && !defined(_WIN32_WCE)
Aug 3, 2010
Aug 3, 2010
31
#include <msctf.h>
Sep 19, 2010
Sep 19, 2010
32
33
34
35
#else
#include "SDL_msctf.h"
#endif
Sep 19, 2010
Sep 19, 2010
36
#include <imm.h>
Aug 3, 2010
Aug 3, 2010
37
Nov 23, 2010
Nov 23, 2010
38
39
40
#define MAX_CANDLIST 10
#define MAX_CANDLENGTH 256
Jan 21, 2011
Jan 21, 2011
41
42
43
44
45
46
47
#include "SDL_windowsclipboard.h"
#include "SDL_windowsevents.h"
#include "SDL_windowskeyboard.h"
#include "SDL_windowsmodes.h"
#include "SDL_windowsmouse.h"
#include "SDL_windowsopengl.h"
#include "SDL_windowswindow.h"
Aug 3, 2010
Aug 3, 2010
48
#include "SDL_events.h"
Jan 25, 2011
Jan 25, 2011
49
#include "SDL_loadso.h"
Aug 3, 2010
Aug 3, 2010
50
51
Dec 1, 2010
Dec 1, 2010
52
53
54
55
56
57
58
59
60
61
62
#if WINVER < 0x0601
/* Touch input definitions */
#define TWF_FINETOUCH 1
#define TWF_WANTPALM 2
#define TOUCHEVENTF_MOVE 0x0001
#define TOUCHEVENTF_DOWN 0x0002
#define TOUCHEVENTF_UP 0x0004
DECLARE_HANDLE(HTOUCHINPUT);
Jan 19, 2011
Jan 19, 2011
63
64
65
66
67
68
69
70
71
72
73
typedef struct _TOUCHINPUT {
LONG x;
LONG y;
HANDLE hSource;
DWORD dwID;
DWORD dwFlags;
DWORD dwMask;
DWORD dwTime;
ULONG_PTR dwExtraInfo;
DWORD cxContact;
DWORD cyContact;
Dec 1, 2010
Dec 1, 2010
74
75
76
77
} TOUCHINPUT, *PTOUCHINPUT;
#endif /* WINVER < 0x0601 */
Jul 28, 2010
Jul 28, 2010
78
79
80
typedef BOOL (*PFNSHFullScreen)(HWND, DWORD);
typedef void (*PFCoordTransform)(SDL_Window*, POINT*);
Aug 3, 2010
Aug 3, 2010
81
82
83
84
85
86
87
typedef struct
{
void **lpVtbl;
int refcount;
void *data;
} TSFSink;
Sep 19, 2010
Sep 19, 2010
88
/* Definition from Win98DDK version of IMM.H */
Aug 3, 2010
Aug 3, 2010
89
typedef struct tagINPUTCONTEXT2 {
Nov 23, 2010
Nov 23, 2010
90
91
92
93
94
95
96
97
98
HWND hWnd;
BOOL fOpen;
POINT ptStatusWndPos;
POINT ptSoftKbdPos;
DWORD fdwConversion;
DWORD fdwSentence;
union {
LOGFONTA A;
LOGFONTW W;
Sep 19, 2010
Sep 19, 2010
99
} lfFont;
Nov 23, 2010
Nov 23, 2010
100
101
102
103
104
105
106
107
108
109
COMPOSITIONFORM cfCompForm;
CANDIDATEFORM cfCandForm[4];
HIMCC hCompStr;
HIMCC hCandInfo;
HIMCC hGuideLine;
HIMCC hPrivate;
DWORD dwNumMsgBuf;
HIMCC hMsgBuf;
DWORD fdwInit;
DWORD dwReserve[3];
Sep 19, 2010
Sep 19, 2010
110
} INPUTCONTEXT2, *PINPUTCONTEXT2, NEAR *NPINPUTCONTEXT2, FAR *LPINPUTCONTEXT2;
Aug 3, 2010
Aug 3, 2010
111
112
113
114
115
/* Private display data */
typedef struct SDL_VideoData
{
Jul 28, 2010
Jul 28, 2010
116
117
118
int render;
#ifdef _WIN32_WCE
Jan 25, 2011
Jan 25, 2011
119
void* hAygShell;
Jul 28, 2010
Jul 28, 2010
120
121
122
PFNSHFullScreen SHFullScreen;
PFCoordTransform CoordTransform;
#endif
Aug 3, 2010
Aug 3, 2010
123
Feb 7, 2011
Feb 7, 2011
124
const SDL_Scancode *key_layout;
Dec 1, 2010
Dec 1, 2010
125
126
127
DWORD clipboard_count;
/* Touch input functions */
Jan 25, 2011
Jan 25, 2011
128
void* userDLL;
Dec 1, 2010
Dec 1, 2010
129
130
BOOL (WINAPI *CloseTouchInputHandle)( HTOUCHINPUT );
BOOL (WINAPI *GetTouchInputInfo)( HTOUCHINPUT, UINT, PTOUCHINPUT, int );
Jan 19, 2011
Jan 19, 2011
131
BOOL (WINAPI *RegisterTouchWindow)( HWND, ULONG );
Aug 3, 2010
Aug 3, 2010
132
133
134
135
136
137
138
139
140
141
142
143
144
145
SDL_bool ime_com_initialized;
struct ITfThreadMgr *ime_threadmgr;
SDL_bool ime_initialized;
SDL_bool ime_enabled;
SDL_bool ime_available;
HWND ime_hwnd_main;
HWND ime_hwnd_current;
HIMC ime_himc;
WCHAR ime_composition[SDL_TEXTEDITINGEVENT_TEXT_SIZE];
WCHAR ime_readingstring[16];
int ime_cursor;
Nov 23, 2010
Nov 23, 2010
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
SDL_bool ime_candlist;
WCHAR ime_candidates[MAX_CANDLIST][MAX_CANDLENGTH];
DWORD ime_candcount;
DWORD ime_candref;
DWORD ime_candsel;
UINT ime_candpgsize;
int ime_candlistindexbase;
SDL_bool ime_candvertical;
SDL_bool ime_dirty;
SDL_Rect ime_rect;
SDL_Rect ime_candlistrect;
int ime_winwidth;
int ime_winheight;
Aug 3, 2010
Aug 3, 2010
161
HKL ime_hkl;
Jan 25, 2011
Jan 25, 2011
162
void* ime_himm32;
Aug 3, 2010
Aug 3, 2010
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
UINT (WINAPI *GetReadingString)(HIMC himc, UINT uReadingBufLen, LPWSTR lpwReadingBuf, PINT pnErrorIndex, BOOL *pfIsVertical, PUINT puMaxReadingLen);
BOOL (WINAPI *ShowReadingWindow)(HIMC himc, BOOL bShow);
LPINPUTCONTEXT2 (WINAPI *ImmLockIMC)(HIMC himc);
BOOL (WINAPI *ImmUnlockIMC)(HIMC himc);
LPVOID (WINAPI *ImmLockIMCC)(HIMCC himcc);
BOOL (WINAPI *ImmUnlockIMCC)(HIMCC himcc);
SDL_bool ime_uiless;
struct ITfThreadMgrEx *ime_threadmgrex;
DWORD ime_uielemsinkcookie;
DWORD ime_alpnsinkcookie;
DWORD ime_openmodesinkcookie;
DWORD ime_convmodesinkcookie;
TSFSink *ime_uielemsink;
TSFSink *ime_ippasink;
} SDL_VideoData;
Jan 21, 2011
Jan 21, 2011
180
#endif /* _SDL_windowsvideo_h */
Aug 3, 2010
Aug 3, 2010
181
182
/* vi: set ts=4 sw=4 expandtab: */