summaryrefslogtreecommitdiff
path: root/rhtvision/include/tv/win32/mouse.h
blob: a9aebdbbf4f763f8b1b13a948dcd985b37378a21 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
/* Win32 screen routines header.
   Copyright (c) 2002 by Salvador E. Tropea (SET)
   Covered by the GPL license. */
// This headers needs windows header
#if defined(TVOS_Win32) && !defined(WIN32MOUSE_HEADER_INCLUDED)
#define WIN32MOUSE_HEADER_INCLUDED

const unsigned eventMouseQSize=300;

class THWMouseWin32 : public THWMouse
{
public:
 static void Init();
 static void DeInit();

 friend class TScreenWin32;

protected:
 THWMouseWin32() {};
 virtual ~THWMouseWin32();

 static void GetEvent(MouseEventType &me);
 static void Resume();

 // For this driver
 // Put a mouse event in the queue
 static void putConsoleMouseEvent(MouseEventType &mouse);
 // Process a mouse event from Windows
 static void HandleMouseEvent();

 static MouseEventType *evMouseIn;
 static MouseEventType *evLastMouseIn;
 static MouseEventType *evMouseOut;
 static MouseEventType evMouseQueue[eventMouseQSize];
 static unsigned evMouseLength;
 static CRITICAL_SECTION lockMouse;
};

#endif // WIN32MOUSE_HEADER_INCLUDED