Gray C++ Libraries  0.0.2
A set of C++ libraries for MSVC, GNU on Windows, WinCE, Linux
cInputBase.h
Go to the documentation of this file.
1 //
4 //
5 
6 #ifndef _INC_cInputBase_H
7 #define _INC_cInputBase_H
8 #ifndef NO_PRAGMA_ONCE
9 #pragma once
10 #endif
11 
12 #include "../GrayLibBase.h"
13 
14 #ifdef __linux__
15 enum VK_TYPE
16 {
19 #define INPKEYDEF(a,b,c,d) VK_##a = b,
20 #include "cInputKeyBase.tbl"
21 #include "cInputKeyWin.tbl"
22 #undef INPKEYDEF
23 };
24 typedef void* HWND; // dummy this
25 typedef void* HCURSOR;
26 #else
27 typedef int VK_TYPE;
28 #define VK_NULL 0
29 #endif
30 
31 #ifndef WHEEL_DELTA
32 #define WHEEL_DELTA 120
33 #endif
34 
35 namespace GrayLib
36 {
37  typedef int PIXELS_t;
38 
40  {
43  MBUTTON_NO = 0x00,
44  MBUTTON_LEFT = 0x01,
45  MBUTTON_RIGHT = 0x02,
46  MBUTTON_MIDDLE = 0x10
47  };
48 
50  {
54 
55  virtual bool OnMouseMove(MBUTTON_TYPE uButton, PIXELS_t x, PIXELS_t y)
56  {
57  // in PIXELS_t
58  UNREFERENCED_PARAMETER(uButton);
61  return false;
62  }
63  virtual bool OnMouseWheel(MBUTTON_TYPE uButton, PIXELS_t x, PIXELS_t y, short nWheelChange) // WHEEL_DELTA
64  {
65  UNREFERENCED_PARAMETER(uButton);
68  UNREFERENCED_PARAMETER(nWheelChange);
69  return false;
70  }
71  virtual bool OnMouseDown(MBUTTON_TYPE uButton, PIXELS_t x, PIXELS_t y)
72  {
73  UNREFERENCED_PARAMETER(uButton);
76  return false;
77  }
78  virtual bool OnMouseUp(MBUTTON_TYPE uButton, PIXELS_t x, PIXELS_t y) // x=INT_MIN=cancel mode. (if captured)
79  {
80  UNREFERENCED_PARAMETER(uButton);
83  return false;
84  }
85  virtual bool OnMouseDblClick(MBUTTON_TYPE uButton, PIXELS_t x, PIXELS_t y)
86  {
87  UNREFERENCED_PARAMETER(uButton);
90  return false;
91  }
92  virtual void OnMouseExit()
93  {}
94  };
95 
97  {
100 
101  virtual bool OnKeyDown(VK_TYPE nVKey, int lParam)
102  {
103  UNREFERENCED_PARAMETER(nVKey);
104  UNREFERENCED_PARAMETER(lParam);
105  return false;
106  }
107  virtual bool OnKeyUp(VK_TYPE nVKey, int lParam)
108  {
109  UNREFERENCED_PARAMETER(nVKey);
110  UNREFERENCED_PARAMETER(lParam);
111  return false;
112  }
113 
115  virtual bool OnKeyChar(wchar_t nAscii, int lParam)
116  {
117  UNREFERENCED_PARAMETER(nAscii);
118  UNREFERENCED_PARAMETER(lParam);
119  return false;
120  }
121  virtual long OnCommand(int wParam, int lParam)
122  {
123  UNREFERENCED_PARAMETER(wParam);
124  UNREFERENCED_PARAMETER(lParam);
125  return 0L;
126  }
127  };
128 
130  {
133  virtual bool SetCursorX(int iShowCursor, HCURSOR hCursor) = 0;
134  virtual bool SetCaptureX(HWND hWndCap) = 0;
135  virtual HWND SetFocusX(HWND hWndFocus) = 0;
136  };
137 }
138 
139 #endif
#define GRAYLIB_LINK
Definition: GrayLibBase.h:35
#define UNREFERENCED_PARAMETER(P)
< _WIN32 type thing. get rid of stupid warning.
Definition: SysTypes.h:299
int VK_TYPE
a type of physical key in _WIN32. "#define VK_UP" etc. NOT the same as a scan code.
Definition: cInputBase.h:27
Definition: cMesh.h:22
MBUTTON_TYPE
Definition: cInputBase.h:40
@ MBUTTON_MIDDLE
=MK_MBUTTON in _WIN32
Definition: cInputBase.h:46
@ MBUTTON_LEFT
=MK_LBUTTON in _WIN32
Definition: cInputBase.h:44
@ MBUTTON_RIGHT
=MK_RBUTTON in _WIN32
Definition: cInputBase.h:45
@ MBUTTON_NO
no mouse button is pressed.
Definition: cInputBase.h:43
int PIXELS_t
Count of pixels in a dimension of some image/surface.
Definition: cSurfaceInfo.h:20
Definition: cInputBase.h:50
virtual bool OnMouseMove(MBUTTON_TYPE uButton, PIXELS_t x, PIXELS_t y)
Definition: cInputBase.h:55
virtual bool OnMouseDown(MBUTTON_TYPE uButton, PIXELS_t x, PIXELS_t y)
Definition: cInputBase.h:71
virtual void OnMouseExit()
Definition: cInputBase.h:92
virtual bool OnMouseDblClick(MBUTTON_TYPE uButton, PIXELS_t x, PIXELS_t y)
Definition: cInputBase.h:85
virtual bool OnMouseWheel(MBUTTON_TYPE uButton, PIXELS_t x, PIXELS_t y, short nWheelChange)
Definition: cInputBase.h:63
virtual bool OnMouseUp(MBUTTON_TYPE uButton, PIXELS_t x, PIXELS_t y)
Definition: cInputBase.h:78
Definition: cInputBase.h:130
virtual bool SetCaptureX(HWND hWndCap)=0
virtual bool SetCursorX(int iShowCursor, HCURSOR hCursor)=0
virtual HWND SetFocusX(HWND hWndFocus)=0
Definition: cInputBase.h:97
virtual bool OnKeyUp(VK_TYPE nVKey, int lParam)
Definition: cInputBase.h:107
virtual bool OnKeyDown(VK_TYPE nVKey, int lParam)
Definition: cInputBase.h:101
virtual bool OnKeyChar(wchar_t nAscii, int lParam)
Definition: cInputBase.h:115
virtual long OnCommand(int wParam, int lParam)
Definition: cInputBase.h:121