00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #ifndef __CS_IUTIL_STDINPUT_H__
00022 #define __CS_IUTIL_STDINPUT_H__
00023
00036 #include "csutil/scf.h"
00037
00039 #define CS_MAX_MOUSE_BUTTONS 10
00040
00041 #define CS_MAX_JOYSTICK_COUNT 2
00042
00043 #define CS_MAX_JOYSTICK_BUTTONS 10
00044
00045 SCF_VERSION(iKeyboardDriver, 0, 0, 1);
00046
00054 struct iKeyboardDriver : public iBase
00055 {
00060 virtual void Reset () = 0;
00061
00063 virtual void DoKey (int iKey, int iChar, bool iDown) = 0;
00064
00070 virtual bool GetKeyState (int iKey) = 0;
00071 };
00072
00073 SCF_VERSION(iMouseDriver, 0, 0, 1);
00074
00082 struct iMouseDriver : public iBase
00083 {
00085 virtual void SetDoubleClickTime (int iTime, size_t iDist) = 0;
00086
00091 virtual void Reset () = 0;
00092
00094 virtual int GetLastX () = 0;
00096 virtual int GetLastY () = 0;
00098 virtual bool GetLastButton (int button) = 0;
00099
00101 virtual void DoButton (int button, bool down, int x, int y) = 0;
00103 virtual void DoMotion (int x, int y) = 0;
00104 };
00105
00106 SCF_VERSION(iJoystickDriver, 0, 0, 1);
00107
00115 struct iJoystickDriver : public iBase
00116 {
00121 virtual void Reset () = 0;
00122
00124 virtual int GetLastX (int number) = 0;
00126 virtual int GetLastY (int number) = 0;
00128 virtual bool GetLastButton (int number, int button) = 0;
00129
00131 virtual void DoButton (int number, int button, bool down, int x, int y) = 0;
00133 virtual void DoMotion (int number, int x, int y) = 0;
00134 };
00135
00138 #endif // __CS_IUTIL_STDINPUT_H__