1 /**
2  ** libwin32.h - GRX library Win32-API private include file
3  **
4  ** Author:	Gernot Graeff
5  ** E-mail:	gernot.graeff@t-online.de
6  ** Date:	13.11.98
7  **
8  ** This file is part of the GRX graphics library.
9  **
10  ** The GRX graphics library is free software; you can redistribute it
11  ** and/or modify it under some conditions; see the "copying.grx" file
12  ** for details.
13  **
14  ** This library is distributed in the hope that it will be useful,
15  ** but WITHOUT ANY WARRANTY; without even the implied warranty of
16  ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
17  **
18  **/
19 
20 #ifndef _LIBWIN32_H_
21 #define _LIBWIN32_H_
22 
23 #include <windows.h>
24 #include "grx20.h"
25 
26 typedef struct _W32Event {
27     UINT uMsg;
28     WPARAM wParam;
29     LPARAM lParam;
30     int kbstat;
31 } W32Event;
32 
33 extern CRITICAL_SECTION _csEventQueue;
34 extern W32Event *_W32EventQueue;
35 extern volatile int _W32EventQueueSize;
36 extern volatile int _W32EventQueueRead;
37 extern volatile int _W32EventQueueWrite;
38 extern volatile int _W32EventQueueLength;
39 
40 extern HWND hGRXWnd;
41 extern HDC hDCMem;
42 extern HANDLE windowThread;
43 
44 extern int _GrIsKbdEnabled(void);
45 extern int _GrKeyPressed(void);
46 extern int _GrKeyStat(void);
47 
48 /* _keysw32pool used only when GrMouseEventEnable( 0,x ) is set */
49 
50 #define  _MAXKEYSW32POOL 16
51 extern int _nkeysw32pool;
52 extern int _keysw32pool[_MAXKEYSW32POOL];
53 
54 #endif
55