|
|
1.1 root 1: /*static char *SCCSID = "@(#)bsesub.h 13.5 90/03/19";*/
2: /***************************************************************************\
3: *
4: * Module Name: BSESUB.H
5: *
6: * OS/2 Base Include File
7: *
8: * Copyright (c) International Business Machines Corporation 1987
9: * Copyright (c) Microsoft Corporation 1987
10: *
11: *****************************************************************************
12: *
13: * Subcomponents marked with "+" are partially included by default
14: * #define: To include:
15: *
16: * INCL_KBD KBD
17: * INCL_VIO VIO
18: * INCL_MOU MOU
19: \***************************************************************************/
20:
21: #ifdef INCL_SUB
22:
23: #define INCL_KBD
24: #define INCL_VIO
25: #define INCL_MOU
26:
27: #endif /* INCL_SUB */
28:
29: #ifdef INCL_KBD
30:
31: /* XLATOFF */
32: #ifdef INCL_16
33: #define KbdCharIn Kbd16CharIn
34: #define KbdClose Kbd16Close
35: #define KbdDeRegister Kbd16DeRegister
36: #define KbdFlushBuffer Kbd16FlushBuffer
37: #define KbdFreeFocus Kbd16FreeFocus
38: #define KbdGetCp Kbd16GetCp
39: #define KbdGetFocus Kbd16GetFocus
40: #define KbdGetHWID Kbd16GetHWID
41: #define KbdGetStatus Kbd16GetStatus
42: #define KbdOpen Kbd16Open
43: #define KbdPeek Kbd16Peek
44: #define KbdRegister Kbd16Register
45: #define KbdSetCp Kbd16SetCp
46: #define KbdSetCustXt Kbd16SetCustXt
47: #define KbdSetFgnd Kbd16SetFgnd
48: #define KbdSetHWID Kbd16SetHWID
49: #define KbdSetStatus Kbd16SetStatus
50: #define KbdStringIn Kbd16StringIn
51: #define KbdSynch Kbd16Synch
52: #define KbdXlate Kbd16Xlate
53: #endif /* INCL_16 */
54: /* XLATON */
55:
56: typedef unsigned short HKBD;
57: typedef HKBD FAR * PHKBD;
58:
59: APIRET APIENTRY KbdRegister (PSZ pszModName, PSZ pszEntryPt, ULONG FunMask);
60:
61: #define KR_KBDCHARIN 0x00000001L
62: #define KR_KBDPEEK 0x00000002L
63: #define KR_KBDFLUSHBUFFER 0x00000004L
64: #define KR_KBDGETSTATUS 0x00000008L
65: #define KR_KBDSETSTATUS 0x00000010L
66: #define KR_KBDSTRINGIN 0x00000020L
67: #define KR_KBDOPEN 0x00000040L
68: #define KR_KBDCLOSE 0x00000080L
69: #define KR_KBDGETFOCUS 0x00000100L
70: #define KR_KBDFREEFOCUS 0x00000200L
71: #define KR_KBDGETCP 0x00000400L
72: #define KR_KBDSETCP 0x00000800L
73: #define KR_KBDXLATE 0x00001000L
74: #define KR_KBDSETCUSTXT 0x00002000L
75:
76: #define IO_WAIT 0
77: #define IO_NOWAIT 1
78:
79: APIRET APIENTRY KbdDeRegister (void);
80:
81: /* KBDKEYINFO structure, for KbdCharIn and KbdPeek */
82:
83: typedef struct _KBDKEYINFO { /* kbci */
84: UCHAR chChar;
85: UCHAR chScan;
86: UCHAR fbStatus;
87: UCHAR bNlsShift;
88: USHORT fsState;
89: ULONG time;
90: }KBDKEYINFO;
91: typedef KBDKEYINFO FAR *PKBDKEYINFO;
92:
93: APIRET APIENTRY KbdCharIn (PKBDKEYINFO pkbci, USHORT fWait, HKBD hkbd);
94: APIRET APIENTRY KbdPeek (PKBDKEYINFO pkbci, HKBD hkbd);
95:
96: /* structure for KbdStringIn() */
97:
98: typedef struct _STRINGINBUF { /* kbsi */
99: USHORT cb;
100: USHORT cchIn;
101: } STRINGINBUF;
102: typedef STRINGINBUF FAR *PSTRINGINBUF;
103:
104: APIRET APIENTRY KbdStringIn (PCH pch, PSTRINGINBUF pchIn, USHORT fsWait,
105: HKBD hkbd);
106:
107: APIRET APIENTRY KbdFlushBuffer (HKBD hkbd);
108:
109: /* KBDINFO structure, for KbdSet/GetStatus */
110: typedef struct _KBDINFO { /* kbst */
111: USHORT cb;
112: USHORT fsMask;
113: USHORT chTurnAround;
114: USHORT fsInterim;
115: USHORT fsState;
116: }KBDINFO;
117: typedef KBDINFO FAR *PKBDINFO;
118:
119: APIRET APIENTRY KbdSetStatus (PKBDINFO pkbdinfo, HKBD hkbd);
120: APIRET APIENTRY KbdGetStatus (PKBDINFO pkbdinfo, HKBD hdbd);
121:
122: APIRET APIENTRY KbdSetCp (USHORT usReserved, USHORT pidCP, HKBD hdbd);
123: APIRET APIENTRY KbdGetCp (ULONG ulReserved, PUSHORT pidCP, HKBD hkbd);
124:
125: APIRET APIENTRY KbdOpen (PHKBD phkbd);
126: APIRET APIENTRY KbdClose (HKBD hkbd);
127:
128: APIRET APIENTRY KbdGetFocus (USHORT fWait, HKBD hkbd);
129: APIRET APIENTRY KbdFreeFocus (HKBD hkbd);
130:
131: APIRET APIENTRY KbdSynch (USHORT fsWait);
132:
133: APIRET APIENTRY KbdSetFgnd(VOID);
134:
135: /* structure for KbdGetHWID() */
136: typedef struct _KBDHWID { /* kbhw */
137: USHORT cb;
138: USHORT idKbd;
139: USHORT usReserved1;
140: USHORT usReserved2;
141: } KBDHWID;
142: typedef KBDHWID FAR *PKBDHWID;
143:
144: APIRET APIENTRY KbdGetHWID (PKBDHWID pkbdhwid, HKBD hkbd);
145: APIRET APIENTRY KbdSetHWID (PKBDHWID pkbdhwid, HKBD hkbd);
146:
147: /* structure for KbdXlate() */
148: typedef struct _KBDTRANS { /* kbxl */
149: UCHAR chChar;
150: UCHAR chScan;
151: UCHAR fbStatus;
152: UCHAR bNlsShift;
153: USHORT fsState;
154: ULONG time;
155: USHORT fsDD;
156: USHORT fsXlate;
157: USHORT fsShift;
158: USHORT sZero;
159: } KBDTRANS;
160: typedef KBDTRANS FAR *PKBDTRANS;
161:
162: APIRET APIENTRY KbdXlate (PKBDTRANS pkbdtrans, HKBD hkbd);
163: APIRET APIENTRY KbdSetCustXt (PUSHORT usCodePage, HKBD hkbd);
164:
165: #endif /* INCL_KBD */
166:
167: #ifdef INCL_VIO
168:
169: /* XLATOFF */
170: #ifdef INCL_16
171: #define VioCheckCharType Vio16CheckCharType
172: #define VioDeRegister Vio16DeRegister
173: #define VioEndPopUp Vio16EndPopUp
174: #define VioGetAnsi Vio16GetAnsi
175: #define VioGetBuf Vio16GetBuf
176: #define VioGetConfig Vio16GetConfig
177: #define VioGetCp Vio16GetCp
178: #define VioGetCurPos Vio16GetCurPos
179: #define VioGetCurType Vio16GetCurType
180: #define VioGetFont Vio16GetFont
181: #define VioGetMode Vio16GetMode
182: #define VioGetPhysBuf Vio16GetPhysBuf
183: #define VioGetState Vio16GetState
184: #define VioModeUndo Vio16ModeUndo
185: #define VioModeWait Vio16ModeWait
186: #define VioPopUp Vio16PopUp
187: #define VioPrtSc Vio16PrtSc
188: #define VioPrtScToggle Vio16PrtScToggle
189: #define VioReadCellStr Vio16ReadCellStr
190: #define VioReadCharStr Vio16ReadCharStr
191: #define VioRedrawSize Vio16RedrawSize
192: #define VioRegister Vio16Register
193: #define VioSavRedrawUndo Vio16SavRedrawUndo
194: #define VioSavRedrawWait Vio16SavRedrawWait
195: #define VioScrLock Vio16ScrLock
196: #define VioScrUnLock Vio16ScrUnLock
197: #define VioScrollDn Vio16ScrollDn
198: #define VioScrollLf Vio16ScrollLf
199: #define VioScrollRt Vio16ScrollRt
200: #define VioScrollUp Vio16ScrollUp
201: #define VioSetAnsi Vio16SetAnsi
202: #define VioSetCp Vio16SetCp
203: #define VioSetCurPos Vio16SetCurPos
204: #define VioSetCurType Vio16SetCurType
205: #define VioSetFont Vio16SetFont
206: #define VioSetMode Vio16SetMode
207: #define VioSetState Vio16SetState
208: #define VioShowBuf Vio16ShowBuf
209: #define VioWrtCellStr Vio16WrtCellStr
210: #define VioWrtCharStr Vio16WrtCharStr
211: #define VioWrtCharStrAtt Vio16WrtCharStrAtt
212: #define VioWrtNAttr Vio16WrtNAttr
213: #define VioWrtNCell Vio16WrtNCell
214: #define VioWrtNChar Vio16WrtNChar
215: #define VioWrtTTY Vio16WrtTTY
216: #endif /* INCL_16 */
217: /* XLATON */
218:
219: typedef unsigned short HVIO;
220: typedef HVIO FAR * PHVIO;
221:
222: APIRET APIENTRY VioRegister (PSZ pszModName, PSZ pszEntryName, ULONG flFun1,
223: ULONG flFun2);
224:
225: /* first parameter registration constants */
226: #define VR_VIOGETCURPOS 0x00000001L
227: #define VR_VIOGETCURTYPE 0x00000002L
228: #define VR_VIOGETMODE 0x00000004L
229: #define VR_VIOGETBUF 0x00000008L
230: #define VR_VIOGETPHYSBUF 0x00000010L
231: #define VR_VIOSETCURPOS 0x00000020L
232: #define VR_VIOSETCURTYPE 0x00000040L
233: #define VR_VIOSETMODE 0x00000080L
234: #define VR_VIOSHOWBUF 0x00000100L
235: #define VR_VIOREADCHARSTR 0x00000200L
236: #define VR_VIOREADCELLSTR 0x00000400L
237: #define VR_VIOWRTNCHAR 0x00000800L
238: #define VR_VIOWRTNATTR 0x00001000L
239: #define VR_VIOWRTNCELL 0x00002000L
240: #define VR_VIOWRTTTY 0x00004000L
241: #define VR_VIOWRTCHARSTR 0x00008000L
242:
243: #define VR_VIOWRTCHARSTRATT 0x00010000L
244: #define VR_VIOWRTCELLSTR 0x00020000L
245: #define VR_VIOSCROLLUP 0x00040000L
246: #define VR_VIOSCROLLDN 0x00080000L
247: #define VR_VIOSCROLLLF 0x00100000L
248: #define VR_VIOSCROLLRT 0x00200000L
249: #define VR_VIOSETANSI 0x00400000L
250: #define VR_VIOGETANSI 0x00800000L
251: #define VR_VIOPRTSC 0x01000000L
252: #define VR_VIOSCRLOCK 0x02000000L
253: #define VR_VIOSCRUNLOCK 0x04000000L
254: #define VR_VIOSAVREDRAWWAIT 0x08000000L
255: #define VR_VIOSAVREDRAWUNDO 0x10000000L
256: #define VR_VIOPOPUP 0x20000000L
257: #define VR_VIOENDPOPUP 0x40000000L
258: #define VR_VIOPRTSCTOGGLE 0x80000000L
259:
260: /* second parameter registration constants */
261: #define VR_VIOMODEWAIT 0x00000001L
262: #define VR_VIOMODEUNDO 0x00000002L
263: #define VR_VIOGETFONT 0x00000004L
264: #define VR_VIOGETCONFIG 0x00000008L
265: #define VR_VIOSETCP 0x00000010L
266: #define VR_VIOGETCP 0x00000020L
267: #define VR_VIOSETFONT 0x00000040L
268: #define VR_VIOGETSTATE 0x00000080L
269: #define VR_VIOSETSTATE 0x00000100L
270:
271: APIRET APIENTRY VioDeRegister (void);
272:
273: APIRET APIENTRY VioGetBuf (PULONG pLVB, PUSHORT pcbLVB, HVIO hvio);
274:
275: APIRET APIENTRY VioGetCurPos (PUSHORT pusRow, PUSHORT pusColumn, HVIO hvio);
276: APIRET APIENTRY VioSetCurPos (USHORT usRow, USHORT usColumn, HVIO hvio);
277:
278: /* structure for VioSet/GetCurType() */
279: typedef struct _VIOCURSORINFO { /* vioci */
280: USHORT yStart;
281: USHORT cEnd;
282: USHORT cx;
283: USHORT attr;
284: } VIOCURSORINFO;
285: typedef VIOCURSORINFO FAR *PVIOCURSORINFO;
286:
287: APIRET APIENTRY VioGetCurType (PVIOCURSORINFO pvioCursorInfo, HVIO hvio);
288: APIRET APIENTRY VioSetCurType (PVIOCURSORINFO pvioCursorInfo, HVIO hvio);
289:
290: /* structure for VioSet/GetMode() */
291: typedef struct _VIOMODEINFO { /* viomi */
292: USHORT cb;
293: UCHAR fbType;
294: UCHAR color;
295: USHORT col;
296: USHORT row;
297: USHORT hres;
298: USHORT vres;
299: UCHAR fmt_ID;
300: UCHAR attrib;
301: ULONG buf_addr;
302: ULONG buf_length;
303: ULONG full_length;
304: ULONG partial_length;
305: PCH ext_data_addr;
306: } VIOMODEINFO;
307: typedef VIOMODEINFO FAR *PVIOMODEINFO;
308:
309: #define VGMT_OTHER 0x01
310: #define VGMT_GRAPHICS 0x02
311: #define VGMT_DISABLEBURST 0x04
312:
313: APIRET APIENTRY VioGetMode (PVIOMODEINFO pvioModeInfo, HVIO hvio);
314: APIRET APIENTRY VioSetMode (PVIOMODEINFO pvioModeInfo, HVIO hvio);
315:
316: /* structure for VioGetPhysBuf() */
317:
318: typedef struct _VIOPHYSBUF { /* viopb */
319: PBYTE pBuf;
320: ULONG cb;
321: SEL asel[1];
322: } VIOPHYSBUF;
323: typedef VIOPHYSBUF FAR *PVIOPHYSBUF;
324:
325: APIRET APIENTRY VioGetPhysBuf (PVIOPHYSBUF pvioPhysBuf, USHORT usReserved);
326:
327: APIRET APIENTRY VioReadCellStr (PCH pchCellStr, PUSHORT pcb, USHORT usRow,
328: USHORT usColumn, HVIO hvio);
329: APIRET APIENTRY VioReadCharStr (PCH pchCellStr, PUSHORT pcb, USHORT usRow,
330: USHORT usColumn, HVIO hvio);
331: APIRET APIENTRY VioWrtCellStr (PCH pchCellStr, USHORT cb, USHORT usRow,
332: USHORT usColumn, HVIO hvio);
333: APIRET APIENTRY VioWrtCharStr (PCH pchStr, USHORT cb, USHORT usRow,
334: USHORT usColumn, HVIO hvio);
335:
336: APIRET APIENTRY VioScrollDn (USHORT usTopRow, USHORT usLeftCol,
337: USHORT usBotRow, USHORT usRightCol,
338: USHORT cbLines, PBYTE pCell, HVIO hvio);
339: APIRET APIENTRY VioScrollUp (USHORT usTopRow, USHORT usLeftCol,
340: USHORT usBotRow, USHORT usRightCol,
341: USHORT cbLines, PBYTE pCell, HVIO hvio);
342: APIRET APIENTRY VioScrollLf (USHORT usTopRow, USHORT usLeftCol,
343: USHORT usBotRow, USHORT usRightCol,
344: USHORT cbCol, PBYTE pCell, HVIO hvio);
345: APIRET APIENTRY VioScrollRt (USHORT usTopRow, USHORT usLeftCol,
346: USHORT usBotRow, USHORT usRightCol,
347: USHORT cbCol, PBYTE pCell, HVIO hvio);
348:
349: APIRET APIENTRY VioWrtNAttr (PBYTE pAttr, USHORT cb, USHORT usRow,
350: USHORT usColumn, HVIO hvio);
351: APIRET APIENTRY VioWrtNCell (PBYTE pCell, USHORT cb, USHORT usRow,
352: USHORT usColumn, HVIO hvio);
353: APIRET APIENTRY VioWrtNChar (PCH pchChar, USHORT cb, USHORT usRow,
354: USHORT usColumn, HVIO hvio);
355: APIRET APIENTRY VioWrtTTY (PCH pch, USHORT cb, HVIO hvio);
356: APIRET APIENTRY VioWrtCharStrAtt (PCH pch, USHORT cb, USHORT usRow,
357: USHORT usColumn, PBYTE pAttr, HVIO hvio);
358:
359: #define VCC_SBCSCHAR 0
360: #define VCC_DBCSFULLCHAR 1
361: #define VCC_DBCS1STHALF 2
362: #define VCC_DBCS2NDHALF 3
363:
364: APIRET APIENTRY VioCheckCharType (PUSHORT pType, USHORT usRow,
365: USHORT usColumn, HVIO hvio);
366:
367: APIRET APIENTRY VioShowBuf (USHORT offLVB, USHORT cb, HVIO hvio);
368:
369:
370: #define ANSI_ON 1
371: #define ANSI_OFF 0
372:
373: APIRET APIENTRY VioSetAnsi (USHORT fAnsi, HVIO hvio);
374: APIRET APIENTRY VioGetAnsi (PUSHORT pfAnsi, HVIO hvio);
375:
376: APIRET APIENTRY VioPrtSc (HVIO hvio);
377: APIRET APIENTRY VioPrtScToggle (HVIO hvio);
378:
379: #define VSRWI_SAVEANDREDRAW 0
380: #define VSRWI_REDRAW 1
381:
382: #define VSRWN_SAVE 0
383: #define VSRWN_REDRAW 1
384:
385: #define UNDOI_GETOWNER 0
386: #define UNDOI_RELEASEOWNER 1
387:
388: #define UNDOK_ERRORCODE 0
389: #define UNDOK_TERMINATE 1
390:
391: APIRET APIENTRY VioRedrawSize (PULONG pcbRedraw);
392: APIRET APIENTRY VioSavRedrawWait (USHORT usRedrawInd, PUSHORT pNotifyType,
393: USHORT usReserved);
394: APIRET APIENTRY VioSavRedrawUndo (USHORT usOwnerInd, USHORT usKillInd,
395: USHORT usReserved);
396:
397: #define VMWR_POPUP 0
398: #define VMWN_POPUP 0
399:
400: APIRET APIENTRY VioModeWait (USHORT usReqType, PUSHORT pNotifyType,
401: USHORT usReserved);
402: APIRET APIENTRY VioModeUndo (USHORT usOwnerInd, USHORT usKillInd,
403: USHORT usReserved);
404:
405: #define LOCKIO_NOWAIT 0
406: #define LOCKIO_WAIT 1
407:
408: #define LOCK_SUCCESS 0
409: #define LOCK_FAIL 1
410:
411: APIRET APIENTRY VioScrLock (USHORT fWait, PUCHAR pfNotLocked, HVIO hvio);
412: APIRET APIENTRY VioScrUnLock (HVIO hvio);
413:
414: #define VP_NOWAIT 0x0000
415: #define VP_WAIT 0x0001
416: #define VP_OPAQUE 0x0000
417: #define VP_TRANSPARENT 0x0002
418:
419: APIRET APIENTRY VioPopUp (PUSHORT pfWait, HVIO hvio);
420: APIRET APIENTRY VioEndPopUp (HVIO hvio);
421:
422: /* structure for VioGetConfig() */
423:
424: typedef struct _VIOCONFIGINFO { /* vioin */
425: USHORT cb;
426: USHORT adapter;
427: USHORT display;
428: ULONG cbMemory;
429: USHORT Configuration;
430: USHORT VDHVersion;
431: USHORT Flags;
432: ULONG HWBufferSize;
433: ULONG FullSaveSize;
434: ULONG PartSaveSize;
435: USHORT EMAdaptersOFF;
436: USHORT EMDisplaysOFF;
437: } VIOCONFIGINFO;
438: typedef VIOCONFIGINFO FAR *PVIOCONFIGINFO;
439:
440:
441: #define VIO_CONFIG_CURRENT 0
442: #define VIO_CONFIG_PRIMARY 1
443: #define VIO_CONFIG_SECONDARY 2
444:
445: APIRET APIENTRY VioGetConfig (USHORT usConfigId, PVIOCONFIGINFO pvioin,
446: HVIO hvio);
447:
448: /* structure for VioGet/SetFont() */
449: typedef struct _VIOFONTINFO { /* viofi */
450: USHORT cb;
451: USHORT type;
452: USHORT cxCell;
453: USHORT cyCell;
454: PVOID pbData;
455: USHORT cbData;
456: } VIOFONTINFO;
457: typedef VIOFONTINFO FAR *PVIOFONTINFO;
458:
459: #define VGFI_GETCURFONT 0
460: #define VGFI_GETROMFONT 1
461:
462: APIRET APIENTRY VioGetFont (PVIOFONTINFO pviofi, HVIO hvio);
463: APIRET APIENTRY VioSetFont (PVIOFONTINFO pviofi, HVIO hvio);
464:
465: APIRET APIENTRY VioGetCp (USHORT usReserved, PUSHORT pIdCodePage, HVIO hvio);
466: APIRET APIENTRY VioSetCp (USHORT usReserved, USHORT idCodePage, HVIO hvio);
467:
468: typedef struct _VIOPALSTATE { /* viopal */
469: USHORT cb;
470: USHORT type;
471: USHORT iFirst;
472: USHORT acolor[1];
473: }VIOPALSTATE;
474: typedef VIOPALSTATE FAR *PVIOPALSTATE;
475:
476: typedef struct _VIOOVERSCAN { /* vioos */
477: USHORT cb;
478: USHORT type;
479: USHORT color;
480: }VIOOVERSCAN;
481: typedef VIOOVERSCAN FAR *PVIOOVERSCAN;
482:
483: typedef struct _VIOINTENSITY { /* vioint */
484: USHORT cb;
485: USHORT type;
486: USHORT fs;
487: }VIOINTENSITY;
488: typedef VIOINTENSITY FAR *PVIOINTENSITY;
489:
490: typedef struct _VIOCOLORREG { /* viocreg */
491: USHORT cb;
492: USHORT type;
493: USHORT firstcolorreg;
494: USHORT numcolorregs;
495: PCH colorregaddr;
496: }VIOCOLORREG;
497: typedef VIOCOLORREG FAR *PVIOCOLORREG;
498:
499: typedef struct _VIOSETULINELOC { /* viouline */
500: USHORT cb;
501: USHORT type;
502: USHORT scanline;
503: }VIOSETULINELOC;
504: typedef VIOSETULINELOC FAR *PVIOSETULINELOC;
505:
506: typedef struct _VIOSETTARGET { /* viosett */
507: USHORT cb;
508: USHORT type;
509: USHORT defaultalgorithm;
510: }VIOSETTARGET;
511: typedef VIOSETTARGET FAR *PVIOSETTARGET;
512:
513: APIRET APIENTRY VioGetState (PVOID pState, HVIO hvio);
514: APIRET APIENTRY VioSetState (PVOID pState, HVIO hvio);
515:
516: #endif /* INCL_VIO */
517:
518: #ifdef INCL_MOU
519:
520: /* XLATOFF */
521: #ifdef INCL_16
522: #define MouClose Mou16Close
523: #define MouDeRegister Mou16DeRegister
524: #define MouDrawPtr Mou16DrawPtr
525: #define MouFlushQue Mou16FlushQue
526: #define MouGetDevStatus Mou16GetDevStatus
527: #define MouGetEventMask Mou16GetEventMask
528: #define MouGetNumButtons Mou16GetNumButtons
529: #define MouGetNumMickeys Mou16GetNumMickeys
530: #define MouGetNumQueEl Mou16GetNumQueEl
531: #define MouGetPtrPos Mou16GetPtrPos
532: #define MouGetPtrShape Mou16GetPtrShape
533: #define MouGetScaleFact Mou16GetScaleFact
534: #define MouGetThreshold Mou16GetThreshold
535: #define MouInitReal Mou16InitReal
536: #define MouOpen Mou16Open
537: #define MouReadEventQue Mou16ReadEventQue
538: #define MouRegister Mou16Register
539: #define MouRemovePtr Mou16RemovePtr
540: #define MouSetDevStatus Mou16SetDevStatus
541: #define MouSetEventMask Mou16SetEventMask
542: #define MouSetPtrPos Mou16SetPtrPos
543: #define MouSetPtrShape Mou16SetPtrShape
544: #define MouSetScaleFact Mou16SetScaleFact
545: #define MouSetThreshold Mou16SetThreshold
546: #define MouSynch Mou16Synch
547: #endif /* INCL_16 */
548: /* XLATON */
549:
550: typedef unsigned short HMOU;
551: typedef HMOU FAR * PHMOU;
552:
553: APIRET APIENTRY MouRegister (PSZ pszModName, PSZ pszEntryName, ULONG flFuns);
554:
555: #define MR_MOUGETNUMBUTTONS 0x00000001L
556: #define MR_MOUGETNUMMICKEYS 0x00000002L
557: #define MR_MOUGETDEVSTATUS 0x00000004L
558: #define MR_MOUGETNUMQUEEL 0x00000008L
559: #define MR_MOUREADEVENTQUE 0x00000010L
560: #define MR_MOUGETSCALEFACT 0x00000020L
561: #define MR_MOUGETEVENTMASK 0x00000040L
562: #define MR_MOUSETSCALEFACT 0x00000080L
563: #define MR_MOUSETEVENTMASK 0x00000100L
564: #define MR_MOUOPEN 0x00000800L
565: #define MR_MOUCLOSE 0x00001000L
566: #define MR_MOUGETPTRSHAPE 0x00002000L
567: #define MR_MOUSETPTRSHAPE 0x00004000L
568: #define MR_MOUDRAWPTR 0x00008000L
569: #define MR_MOUREMOVEPTR 0x00010000L
570: #define MR_MOUGETPTRPOS 0x00020000L
571: #define MR_MOUSETPTRPOS 0x00040000L
572: #define MR_MOUINITREAL 0x00080000L
573: #define MR_MOUSETDEVSTATUS 0x00100000L
574:
575: APIRET APIENTRY MouDeRegister (void);
576:
577: APIRET APIENTRY MouFlushQue (HMOU hmou);
578:
579: #define MHK_BUTTON1 0x0001
580: #define MHK_BUTTON2 0x0002
581: #define MHK_BUTTON3 0x0004
582:
583: /* structure for MouGet/SetPtrPos() */
584: typedef struct _PTRLOC { /* moupl */
585: USHORT row;
586: USHORT col;
587: } PTRLOC;
588: typedef PTRLOC FAR *PPTRLOC;
589:
590: APIRET APIENTRY MouGetPtrPos (PPTRLOC pmouLoc, HMOU hmou);
591: APIRET APIENTRY MouSetPtrPos (PPTRLOC pmouLoc, HMOU hmou);
592:
593: /* structure for MouGet/SetPtrShape() */
594: typedef struct _PTRSHAPE { /* moups */
595: USHORT cb;
596: USHORT col;
597: USHORT row;
598: USHORT colHot;
599: USHORT rowHot;
600: } PTRSHAPE;
601: typedef PTRSHAPE FAR *PPTRSHAPE;
602:
603: APIRET APIENTRY MouSetPtrShape (PBYTE pBuf, PPTRSHAPE pmoupsInfo, HMOU hmou);
604: APIRET APIENTRY MouGetPtrShape (PBYTE pBuf, PPTRSHAPE pmoupsInfo, HMOU hmou);
605:
606: APIRET APIENTRY MouGetDevStatus (PUSHORT pfsDevStatus, HMOU hmou);
607:
608: APIRET APIENTRY MouGetNumButtons (PUSHORT pcButtons, HMOU hmou);
609: APIRET APIENTRY MouGetNumMickeys (PUSHORT pcMickeys, HMOU hmou);
610:
611: /* structure for MouReadEventQue() */
612: typedef struct _MOUEVENTINFO { /* mouev */
613: USHORT fs;
614: ULONG time;
615: USHORT row;
616: USHORT col;
617: }MOUEVENTINFO;
618: typedef MOUEVENTINFO FAR *PMOUEVENTINFO;
619:
620: APIRET APIENTRY MouReadEventQue (PMOUEVENTINFO pmouevEvent, PUSHORT pfWait,
621: HMOU hmou);
622:
623: /* structure for MouGetNumQueEl() */
624: typedef struct _MOUQUEINFO { /* mouqi */
625: USHORT cEvents;
626: USHORT cmaxEvents;
627: } MOUQUEINFO;
628: typedef MOUQUEINFO FAR *PMOUQUEINFO;
629:
630: APIRET APIENTRY MouGetNumQueEl (PMOUQUEINFO qmouqi, HMOU hmou);
631:
632: APIRET APIENTRY MouGetEventMask (PUSHORT pfsEvents, HMOU hmou);
633: APIRET APIENTRY MouSetEventMask (PUSHORT pfsEvents, HMOU hmou);
634:
635: /* structure for MouGet/SetScaleFact() */
636: typedef struct _SCALEFACT { /* mousc */
637: USHORT rowScale;
638: USHORT colScale;
639: } SCALEFACT;
640: typedef SCALEFACT FAR *PSCALEFACT;
641:
642: APIRET APIENTRY MouGetScaleFact (PSCALEFACT pmouscFactors, HMOU hmou);
643: APIRET APIENTRY MouSetScaleFact (PSCALEFACT pmouscFactors, HMOU hmou);
644:
645: APIRET APIENTRY MouOpen (PSZ pszDvrName, PHMOU phmou);
646: APIRET APIENTRY MouClose (HMOU hmou);
647:
648: /* structure for MouRemovePtr() */
649: typedef struct _NOPTRRECT { /* mourt */
650: USHORT row;
651: USHORT col;
652: USHORT cRow;
653: USHORT cCol;
654: } NOPTRRECT;
655: typedef NOPTRRECT FAR *PNOPTRRECT;
656:
657: APIRET APIENTRY MouRemovePtr (PNOPTRRECT pmourtRect, HMOU hmou);
658:
659: APIRET APIENTRY MouDrawPtr (HMOU hmou);
660:
661: #define MOU_NODRAW 0x0001
662: #define MOU_DRAW 0x0000
663: #define MOU_MICKEYS 0x0002
664: #define MOU_PELS 0x0000
665:
666: APIRET APIENTRY MouSetDevStatus (PUSHORT pfsDevStatus, HMOU hmou);
667: APIRET APIENTRY MouInitReal (PSZ);
668:
669: APIRET APIENTRY MouSynch(USHORT pszDvrName);
670:
671: typedef struct _THRESHOLD { /* threshold */
672: USHORT Length; /* Length Field */
673: USHORT Level1; /* First movement level */
674: USHORT Lev1Mult; /* First level multiplier */
675: USHORT Level2; /* Second movement level */
676: USHORT lev2Mult; /* Second level multiplier */
677: } THRESHOLD, *PTHRESHOLD;
678:
679: APIRET APIENTRY MouGetThreshold(PTHRESHOLD pthreshold, HMOU hmou);
680: APIRET APIENTRY MouSetThreshold(PTHRESHOLD pthreshold, HMOU hmou);
681:
682: #endif /* INCL_MOU */
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.