105 lines
2.0 KiB
C++
105 lines
2.0 KiB
C++
#ifndef NME_EVENT_H
|
|
#define NME_EVENT_H
|
|
|
|
namespace nme
|
|
{
|
|
|
|
enum EventType
|
|
{
|
|
etUnknown, // 0
|
|
etKeyDown, // 1
|
|
etChar, // 2
|
|
etKeyUp, // 3
|
|
etMouseMove, // 4
|
|
etMouseDown, // 5
|
|
etMouseClick,// 6
|
|
etMouseUp, // 7
|
|
etResize, // 8
|
|
etPoll, // 9
|
|
etQuit, // 10
|
|
etFocus, // 11
|
|
etShouldRotate, // 12
|
|
|
|
// Internal for now...
|
|
etDestroyHandler, // 13
|
|
etRedraw, // 14
|
|
|
|
etTouchBegin, // 15
|
|
etTouchMove, // 16
|
|
etTouchEnd, // 17
|
|
etTouchTap, // 18
|
|
|
|
etChange, // 19
|
|
etActivate, // 20
|
|
etDeactivate, // 21
|
|
etGotInputFocus, // 22
|
|
etLostInputFocus, // 23
|
|
|
|
etJoyAxisMove, // 24
|
|
etJoyBallMove, // 25
|
|
etJoyHatMove, // 26
|
|
etJoyButtonDown, // 27
|
|
etJoyButtonUp, // 28
|
|
etJoyDeviceAdded, //29
|
|
etJoyDeviceRemoved, //30
|
|
|
|
etSysWM, // 31
|
|
|
|
etRenderContextLost, // 32
|
|
etRenderContextRestored, // 33
|
|
};
|
|
|
|
enum EventFlags
|
|
{
|
|
efLeftDown = 0x0001,
|
|
efShiftDown = 0x0002,
|
|
efCtrlDown = 0x0004,
|
|
efAltDown = 0x0008,
|
|
efCommandDown = 0x0010,
|
|
efMiddleDown = 0x0020,
|
|
efRightDown = 0x0040,
|
|
|
|
efLocationRight = 0x4000,
|
|
efPrimaryTouch = 0x8000,
|
|
efNoNativeClick = 0x10000,
|
|
};
|
|
|
|
|
|
enum EventResult
|
|
{
|
|
erOk,
|
|
erCancel,
|
|
erSpecial,
|
|
};
|
|
|
|
struct Event
|
|
{
|
|
Event(EventType inType=etUnknown,int inX=0,int inY=0,int inValue=0,int inID=0,int inFlags=0,float inScaleX=1,float inScaleY=1,int inDeltaX=0,int inDeltaY=0):
|
|
type(inType), x(inX), y(inY), value(inValue), id(inID), flags(inFlags), result(erOk), scaleX(inScaleX), scaleY(inScaleY), deltaX(inDeltaX), deltaY(inDeltaY), pollTime(0)
|
|
{
|
|
}
|
|
|
|
#ifdef NME_BUILDING_LIB
|
|
EventType type;
|
|
#else
|
|
int type;
|
|
#endif
|
|
int x,y;
|
|
int value;
|
|
int code;
|
|
int id;
|
|
int flags;
|
|
#ifdef NME_BUILDING_LIB
|
|
EventResult result;
|
|
#else
|
|
int result;
|
|
#endif
|
|
float scaleX, scaleY;
|
|
int deltaX, deltaY;
|
|
double pollTime;
|
|
};
|
|
|
|
} // end namespace nme
|
|
|
|
#endif
|