00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #ifndef __IUTIL_STDINPUT_H__
00022 #define __IUTIL_STDINPUT_H__
00023
00031 #include "csutil/scf.h"
00032
00034 #define CS_MAX_MOUSE_BUTTONS 10
00035
00036 #define CS_MAX_JOYSTICK_COUNT 2
00037
00038 #define CS_MAX_JOYSTICK_BUTTONS 10
00039
00040 SCF_VERSION(iKeyboardDriver, 0, 0, 1);
00041
00049 struct iKeyboardDriver : public iBase
00050 {
00055 virtual void Reset () = 0;
00056
00058 virtual void DoKey (int iKey, int iChar, bool iDown) = 0;
00059
00065 virtual bool GetKeyState (int iKey) = 0;
00066 };
00067
00068 SCF_VERSION(iMouseDriver, 0, 0, 1);
00069
00077 struct iMouseDriver : public iBase
00078 {
00080 virtual void SetDoubleClickTime (int iTime, size_t iDist) = 0;
00081
00086 virtual void Reset () = 0;
00087
00089 virtual int GetLastX () = 0;
00091 virtual int GetLastY () = 0;
00093 virtual bool GetLastButton (int button) = 0;
00094
00096 virtual void DoButton (int button, bool down, int x, int y) = 0;
00098 virtual void DoMotion (int x, int y) = 0;
00099 };
00100
00101 SCF_VERSION(iJoystickDriver, 0, 0, 1);
00102
00110 struct iJoystickDriver : public iBase
00111 {
00116 virtual void Reset () = 0;
00117
00119 virtual int GetLastX (int number) = 0;
00121 virtual int GetLastY (int number) = 0;
00123 virtual bool GetLastButton (int number, int button) = 0;
00124
00126 virtual void DoButton (int number, int button, bool down, int x, int y) = 0;
00128 virtual void DoMotion (int number, int x, int y) = 0;
00129 };
00130
00131 #endif // __IUTIL_STDINPUT_H__