source: trunk/src/user32/new/oslibwin.h@ 342

Last change on this file since 342 was 342, checked in by sandervl, 26 years ago

Accelerator support (not working) + bugfixes

File size: 8.1 KB
Line 
1/* $Id: oslibwin.h,v 1.15 1999-07-20 07:42:36 sandervl Exp $ */
2/*
3 * Window API wrappers for OS/2
4 *
5 *
6 * Copyright 1999 Sander van Leeuwen (sandervl@xs4all.nl)
7 *
8 *
9 * Project Odin Software License can be found in LICENSE.TXT
10 *
11 */
12#ifndef __OSLIBWIN_H__
13#define __OSLIBWIN_H__
14
15#define OSLIB_HWND_DESKTOP 0
16BOOL OSLibWinSetParent(HWND hwnd, HWND hwndParent, ULONG fRedraw = TRUE);
17
18
19HWND OSLibWinCreateWindow(HWND hwndParent, ULONG dwWinStyle, ULONG dwFrameStyle,
20 char *pszName, HWND Owner, ULONG fHWND_BOTTOM, HWND *hwndFrame);
21
22BOOL OSLibWinConvertStyle(ULONG dwStyle, ULONG *OSWinStyle, ULONG *OSFrameStyle);
23
24BOOL OSLibWinSetWindowULong(HWND hwnd, ULONG offset, ULONG value);
25ULONG OSLibWinGetWindowULong(HWND hwnd, ULONG offset);
26
27BOOL OSLibPostMessage(HWND hwnd, ULONG msg, ULONG wParam, ULONG lParam);
28
29HWND OSLibWinCreateMenu(HWND hwndParent, PVOID menutemplate);
30BOOL OSLibWinSetAccelTable(HWND hwnd, PVOID acceltemplate);
31
32#define WAOS_WARNING 0
33#define WAOS_NOTE 1
34#define WAOS_ERROR 2
35#define WAOS_CWINALARMS 13 /* count of valid alarms 53304*/
36
37BOOL OSLibWinAlarm(HWND hwndDeskTop,ULONG flStyle);
38ULONG OSLibDosBeep(ULONG freg,ULONG dur);
39HWND OSLibWinQueryFocus(HWND hwndDeskTop);
40HWND OSLibWinWindowFromID(HWND hwndParent,ULONG id);
41BOOL OSLibWinSetFocus(HWND hwndDeskTop,HWND hwndNewFocus);
42ULONG OSLibGetWindowHeight(HWND hwnd); //for point transformation
43
44typedef struct _OSRECTL
45{
46 LONG xLeft;
47 LONG yBottom;
48 LONG xRight;
49 LONG yTop;
50} OSRECTL;
51
52typedef OSRECTL *POSRECTL;
53
54BOOL OSLibWinInvalidateRect(HWND hwnd,POSRECTL pwrc,BOOL fIncludeChildren); //must be RECTL pointer!
55
56//reserved deleted
57
58#define SVOS_SWAPBUTTON 0
59#define SVOS_DBLCLKTIME 1
60#define SVOS_CXDBLCLK 2
61#define SVOS_CYDBLCLK 3
62#define SVOS_CXSIZEBORDER 4
63#define SVOS_CYSIZEBORDER 5
64#define SVOS_ALARM 6
65#define SVOS_CURSORRATE 9
66#define SVOS_FIRSTSCROLLRATE 10
67#define SVOS_SCROLLRATE 11
68#define SVOS_NUMBEREDLISTS 12
69#define SVOS_WARNINGFREQ 13
70#define SVOS_NOTEFREQ 14
71#define SVOS_ERRORFREQ 15
72#define SVOS_WARNINGDURATION 16
73#define SVOS_NOTEDURATION 17
74#define SVOS_ERRORDURATION 18
75#define SVOS_CXSCREEN 20
76#define SVOS_CYSCREEN 21
77#define SVOS_CXVSCROLL 22
78#define SVOS_CYHSCROLL 23
79#define SVOS_CYVSCROLLARROW 24
80#define SVOS_CXHSCROLLARROW 25
81#define SVOS_CXBORDER 26
82#define SVOS_CYBORDER 27
83#define SVOS_CXDLGFRAME 28
84#define SVOS_CYDLGFRAME 29
85#define SVOS_CYTITLEBAR 30
86#define SVOS_CYVSLIDER 31
87#define SVOS_CXHSLIDER 32
88#define SVOS_CXMINMAXBUTTON 33
89#define SVOS_CYMINMAXBUTTON 34
90#define SVOS_CYMENU 35
91#define SVOS_CXFULLSCREEN 36
92#define SVOS_CYFULLSCREEN 37
93#define SVOS_CXICON 38
94#define SVOS_CYICON 39
95#define SVOS_CXPOINTER 40
96#define SVOS_CYPOINTER 41
97#define SVOS_DEBUG 42
98#define SVOS_CMOUSEBUTTONS 43
99#define SVOS_CPOINTERBUTTONS 43
100#define SVOS_POINTERLEVEL 44
101#define SVOS_CURSORLEVEL 45
102#define SVOS_TRACKRECTLEVEL 46
103#define SVOS_CTIMERS 47
104#define SVOS_MOUSEPRESENT 48
105#define SVOS_CXBYTEALIGN 49
106#define SVOS_CXALIGN 49
107#define SVOS_CYBYTEALIGN 50
108#define SVOS_CYALIGN 50
109
110/* The following value enables any greater value to be set by WinSetSysValue. */
111/* This is to enable the setting of SV_EXTRAKEYBEEP by applications. */
112
113#define SVOS_NOTRESERVED 56
114#define SVOS_EXTRAKEYBEEP 57
115
116/* The following system value controls whether PM controls the keyboard */
117/* lights for light key keystrokes (else applications will) */
118#define SVOS_SETLIGHTS 58
119#define SVOS_INSERTMODE 59
120
121#define SVOS_MENUROLLDOWNDELAY 64
122#define SVOS_MENUROLLUPDELAY 65
123#define SVOS_ALTMNEMONIC 66
124#define SVOS_TASKLISTMOUSEACCESS 67
125#define SVOS_CXICONTEXTWIDTH 68
126#define SVOS_CICONTEXTLINES 69
127#define SVOS_CHORDTIME 70
128#define SVOS_CXCHORD 71
129#define SVOS_CYCHORD 72
130#define SVOS_CXMOTIONSTART 73
131#define SVOS_CYMOTIONSTART 74
132#define SVOS_BEGINDRAG 75
133#define SVOS_ENDDRAG 76
134#define SVOS_SINGLESELECT 77
135#define SVOS_OPEN 78
136#define SVOS_CONTEXTMENU 79
137#define SVOS_CONTEXTHELP 80
138#define SVOS_TEXTEDIT 81
139#define SVOS_BEGINSELECT 82
140#define SVOS_ENDSELECT 83
141#define SVOS_BEGINDRAGKB 84
142#define SVOS_ENDDRAGKB 85
143#define SVOS_SELECTKB 86
144#define SVOS_OPENKB 87
145#define SVOS_CONTEXTMENUKB 88
146#define SVOS_CONTEXTHELPKB 89
147#define SVOS_TEXTEDITKB 90
148#define SVOS_BEGINSELECTKB 91
149#define SVOS_ENDSELECTKB 92
150#define SVOS_ANIMATION 93
151#define SVOS_ANIMATIONSPEED 94
152#define SVOS_MONOICONS 95
153#define SVOS_KBDALTERED 96
154#define SVOS_PRINTSCREEN 97
155#define SVOS_LOCKSTARTINPUT 98
156#define SVOS_CSYSVALUES 108
157
158LONG OSLibWinQuerySysValue(HWND hwndDeskTop,LONG iSysValue);
159ULONG OSLibWinQueryDlgItemText(HWND hwndDlg,ULONG idItem,LONG cchBufferMax,char* pchBuffer);
160BOOL OSLibWinSetDlgItemText(HWND hwndDlg,ULONG idItem,char* pszText);
161BOOL OSLibWinQueryPointerPos(HWND hwndDeskTop,PPOINT pptlPoint); //pptlPoint == POINTL pointer!
162
163#define SWPOS_SIZE 0x0001
164#define SWPOS_MOVE 0x0002
165#define SWPOS_ZORDER 0x0004
166#define SWPOS_SHOW 0x0008
167#define SWPOS_HIDE 0x0010
168#define SWPOS_NOREDRAW 0x0020
169#define SWPOS_NOADJUST 0x0040
170#define SWPOS_ACTIVATE 0x0080
171#define SWPOS_DEACTIVATE 0x0100
172#define SWPOS_EXTSTATECHANGE 0x0200
173#define SWPOS_MINIMIZE 0x0400
174#define SWPOS_MAXIMIZE 0x0800
175#define SWPOS_RESTORE 0x1000
176#define SWPOS_FOCUSACTIVATE 0x2000
177#define SWPOS_FOCUSDEACTIVATE 0x4000
178#define SWPOS_NOAUTOCLOSE 0x8000 /* Valid in PROGDETAILS struct only */
179
180#define HWNDOS_TOP (HWND)3
181#define HWNDOS_BOTTOM (HWND)4
182
183BOOL OSLibWinSetWindowPos(HWND hwnd, HWND hwndInsertBehind, LONG x, LONG y, LONG cx, LONG cy, ULONG fl);
184BOOL OSLibWinShowWindow(HWND hwnd, ULONG fl);
185
186BOOL OSLibWinDestroyWindow(HWND hwnd);
187BOOL OSLibWinQueryUpdateRect(HWND hwnd, PVOID pRect);
188BOOL OSLibWinIsIconic(HWND hwnd);
189BOOL OSLibWinSetActiveWindow(HWND hwnd);
190BOOL OSLibWinSetFocus(HWND hwnd);
191BOOL OSLibWinEnableWindow(HWND hwnd, BOOL fEnable);
192BOOL OSLibWinIsWindowEnabled(HWND hwnd);
193BOOL OSLibWinIsWindowVisible(HWND hwnd);
194BOOL OSLibWinQueryActiveWindow();
195
196#define QWOS_NEXT 0
197#define QWOS_PREV 1
198#define QWOS_TOP 2
199#define QWOS_BOTTOM 3
200#define QWOS_OWNER 4
201#define QWOS_PARENT 5
202#define QWOS_NEXTTOP 6
203#define QWOS_PREVTOP 7
204#define QWOS_FRAMEOWNER 8
205
206HWND OSLibWinQueryWindow(HWND hwnd, ULONG lCode);
207
208
209void OSLibWinPostQuitMessage(ULONG nExitCode);
210LONG OSLibWinDispatchMsg(MSG *msg, BOOL isUnicode = FALSE);
211
212BOOL OSLibWinGetMsg(LPMSG pMsg, HWND hwnd, UINT uMsgFilterMin, UINT uMsgFilterMax, BOOL isUnicode = FALSE);
213
214LONG OSLibWinQueryWindowTextLength(HWND hwnd);
215LONG OSLibWinQueryWindowText(HWND hwnd, LONG length, LPSTR lpsz);
216BOOL OSLibWinSetWindowText(HWND hwnd, LPSTR lpsz);
217BOOL OSLibWinFlashWindow(HWND hwnd, BOOL fFlash);
218HWND OSLibWinWindowFromPoint(HWND hwnd, PVOID ppoint);
219BOOL OSLibWinMinimizeWindow(HWND hwnd);
220
221#endif //__OSLIBWIN_H__
Note: See TracBrowser for help on using the repository browser.