2 #include "Events_def.h" 7 #include <boost/array.hpp> 8 #include "util/cow_ptr.hpp" 10 #define EventCount 512 14 #define IS_KEYDOWN(x) ((0x80&(x))!=0) 18 #define IS_KEYUP(x) ((0x80&(x))==0) 38 next=NULL;data=EM_NONE;
58 static void StaticInit();
60 void InitEventMappingTable(
bool bDisable=
false);
63 void EnableEvent(
int eEvent);
64 void DisableEvent(
int eEvent);
68 void MapEvent(
int eSrcEvent,
int eDestEvent);
72 void UnmapEvent(
int eSrcEvent,
int eDestEvent);
76 bool IsMapTo(
int eSrcEvent,
int eDestEvent)
const;
79 void DefaultMap_Text();
82 void DefaultMap_Control();
85 void DefaultMap_Mouse();
88 void DisableKeyboard();
90 void EnableKeyboard();
98 void MapEventToScript(
int eEvent,
const SimpleScript *script);
101 void UnmapEventToScript(
int eEvent);
107 bool HasEventScript(
int eEvent)
const ;
113 virtual void Clone(
IObject* pobj)
const;
115 virtual int Release();
116 virtual bool Equals(
const IObject *obj)
const;
119 static int StringToEventValue(
const string &str);
120 static string& EventValueToString(
int value);
123 static void InitMsg(
MSG *event,DWORD time,DWORD message,
POINT& pt);
126 static DWORD TranslateVKToDIK(DWORD dwVKey);
128 static DWORD ScancodeToKeyTable[256];
131 static DWORD WinVirtualKeyToDIK[256];
134 static DWORD DIKToWinVirtualKey[256];
136 typedef std::bitset<EventCount> EventEnabledArray_type;
137 typedef std::map<int,SimpleScript> EventScriptMap_type;
138 typedef boost::array< set<int>, EventCount > EventMapping_type;
141 EventEnabledArray_type m_pEventEnable;
142 EventScriptMap_type m_pEventToScript;
144 EventMapping_cow_type m_pEventMappingTable;
145 static map<string,int> StringToEventTable;
146 static map<int,string> EventToStringTable;
Definition: EventBinding.h:22
different physics engine has different winding order.
Definition: EventBinding.h:32
Definition: PEtypes.h:116
base class for object, such as CBaseObject, IAttributeObject, GUI object.
Definition: PERef.h:287
Definition: EventBinding.h:42
Definition: EventBinding.h:34
Definition: enum_maker.hpp:46
This class is for maintaining the event binding table and script binding table.
Definition: EventBinding.h:51
cow_ptr is a Copy On Write smart pointer. It does not require the pointee to have clone function logi...
Definition: cow_ptr.hpp:56