2 * Copyright (C) the Wine project
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2.1 of the License, or (at your option) any later version.
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Lesser General Public License for more details.
14 * You should have received a copy of the GNU Lesser General Public
15 * License along with this library; if not, write to the Free Software
16 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
22 typedef struct tagCOORD
28 typedef struct tagSMALL_RECT
34 } SMALL_RECT
,*LPSMALL_RECT
;
36 typedef struct tagKEY_EVENT_RECORD
38 BOOL bKeyDown
; /* 04 */
39 WORD wRepeatCount
; /* 08 */
40 WORD wVirtualKeyCode
; /* 0A */
41 WORD wVirtualScanCode
; /* 0C */
44 WCHAR UnicodeChar
; /* 0E */
45 CHAR AsciiChar
; /* 0E */
47 DWORD dwControlKeyState
; /* 10 */
48 } KEY_EVENT_RECORD
,*LPKEY_EVENT_RECORD
;
50 /* dwControlKeyState bitmask */
51 #define RIGHT_ALT_PRESSED 0x0001
52 #define LEFT_ALT_PRESSED 0x0002
53 #define RIGHT_CTRL_PRESSED 0x0004
54 #define LEFT_CTRL_PRESSED 0x0008
55 #define SHIFT_PRESSED 0x0010
56 #define NUMLOCK_ON 0x0020
57 #define SCROLLLOCK_ON 0x0040
58 #define CAPSLOCK_ON 0x0080
59 #define ENHANCED_KEY 0x0100
61 typedef struct tagMOUSE_EVENT_RECORD
63 COORD dwMousePosition
;
65 DWORD dwControlKeyState
;
67 } MOUSE_EVENT_RECORD
,*LPMOUSE_EVENT_RECORD
;
69 /* MOUSE_EVENT_RECORD.dwButtonState */
70 #define FROM_LEFT_1ST_BUTTON_PRESSED 0x0001
71 #define RIGHTMOST_BUTTON_PRESSED 0x0002
72 #define FROM_LEFT_2ND_BUTTON_PRESSED 0x0004
73 #define FROM_LEFT_3RD_BUTTON_PRESSED 0x0008
74 #define FROM_LEFT_4TH_BUTTON_PRESSED 0x0010
76 /* MOUSE_EVENT_RECORD.dwEventFlags */
77 #define MOUSE_MOVED 0x0001
78 #define DOUBLE_CLICK 0x0002
79 #define MOUSE_WHEELED 0x0004
80 #define MOUSE_HWHEELED 0x0008
82 typedef struct tagWINDOW_BUFFER_SIZE_RECORD
85 } WINDOW_BUFFER_SIZE_RECORD
,*LPWINDOW_BUFFER_SIZE_RECORD
;
87 typedef struct tagMENU_EVENT_RECORD
90 } MENU_EVENT_RECORD
,*LPMENU_EVENT_RECORD
;
92 typedef struct tagFOCUS_EVENT_RECORD
95 } FOCUS_EVENT_RECORD
,*LPFOCUS_EVENT_RECORD
;
97 typedef struct tagINPUT_RECORD
102 KEY_EVENT_RECORD KeyEvent
;
103 MOUSE_EVENT_RECORD MouseEvent
;
104 WINDOW_BUFFER_SIZE_RECORD WindowBufferSizeEvent
;
105 MENU_EVENT_RECORD MenuEvent
;
106 FOCUS_EVENT_RECORD FocusEvent
;
108 } INPUT_RECORD
,*PINPUT_RECORD
;
110 /* INPUT_RECORD.wEventType */
111 #define KEY_EVENT 0x01
112 #define MOUSE_EVENT 0x02
113 #define WINDOW_BUFFER_SIZE_EVENT 0x04
114 #define MENU_EVENT 0x08
115 #define FOCUS_EVENT 0x10
117 typedef struct tagCHAR_INFO
125 } CHAR_INFO
,*LPCHAR_INFO
;
127 typedef struct _CONSOLE_FONT_INFO
131 } CONSOLE_FONT_INFO
,*LPCONSOLE_FONT_INFO
;
135 #endif /* _WINCONTYPES_ */