An Event describes the change of state of the "input device".
Where "input device" is really a collection of one or more physical input devices (keyboard, mouse, tablet...) and marginal aspects of the context of that input (a window).
#include <Event.h>

| enum EventType |
{
NONE=0,
BUTTONDOWN,
BUTTONUP,
SCROLLWHEEL,
DOUBLECLICK,
MOVE,
RESIZE,
FRAME,
WARP,
QUIT,
MENU,
SETFOCUS,
KILLFOCUS,
IDLE_START,
IDLE_END,
REDRAW,
WAKEUP,
LEAVE,
SPACEMOUSE,
MESSAGE
};
| anonymous enum |
{
kAxisCount = 12, // Number of possible analog values stored
// in an event. Use this with myAxisValues
// below.
// eg. mouse position is considered 2 axes: x & y
// eg. pen may be considered 4 axes: x, y,
// and two tilt angles
};
| enum Axis |
Possible float values stored in this event eg.
mouse produces two values, x and y eg. tablet pen may produce tilt angles and pressure as well
{
kDeltaX = 0,
kDeltaY,
kNormalizedWinX,
kNormalizedWinY,
kLastAxis
};
| enum Button |
{
BUTTON_None,
BUTTON_Unknown,
BUTTON_a,
BUTTON_b,
BUTTON_c,
BUTTON_d,
BUTTON_e,
BUTTON_f,
BUTTON_g,
BUTTON_h,
BUTTON_i,
BUTTON_j,
BUTTON_k,
BUTTON_l,
BUTTON_m,
BUTTON_n,
BUTTON_o,
BUTTON_p,
BUTTON_q,
BUTTON_r,
BUTTON_s,
BUTTON_t,
BUTTON_u,
BUTTON_v,
BUTTON_w,
BUTTON_x,
BUTTON_y,
BUTTON_z,
BUTTON_A,
BUTTON_B,
BUTTON_C,
BUTTON_D,
BUTTON_E,
BUTTON_F,
BUTTON_G,
BUTTON_H,
BUTTON_I,
BUTTON_J,
BUTTON_K,
BUTTON_L,
BUTTON_M,
BUTTON_N,
BUTTON_O,
BUTTON_P,
BUTTON_Q,
BUTTON_R,
BUTTON_S,
BUTTON_T,
BUTTON_U,
BUTTON_V,
BUTTON_W,
BUTTON_X,
BUTTON_Y,
BUTTON_Z,
BUTTON_0,
BUTTON_1,
BUTTON_2,
BUTTON_3,
BUTTON_4,
BUTTON_5,
BUTTON_6,
BUTTON_7,
BUTTON_8,
BUTTON_9,
BUTTON_bracketleft,
BUTTON_bracketright,
BUTTON_braceleft,
BUTTON_braceright,
BUTTON_backslash,
BUTTON_bar,
BUTTON_asciicircum,
BUTTON_asciitilde,
BUTTON_underscore,
BUTTON_grave,
BUTTON_quoteleft,
BUTTON_exclam,
BUTTON_quotedbl,
BUTTON_numbersign,
BUTTON_dollar,
BUTTON_percent,
BUTTON_ampersand,
BUTTON_apostrophe,
BUTTON_quoteright,
BUTTON_parenleft,
BUTTON_parenright,
BUTTON_asterisk,
BUTTON_plus,
BUTTON_comma,
BUTTON_minus,
BUTTON_period,
BUTTON_slash,
BUTTON_colon,
BUTTON_semicolon,
BUTTON_less,
BUTTON_equal,
BUTTON_greater,
BUTTON_question,
BUTTON_at,
BUTTON_LMB,
BUTTON_MMB,
BUTTON_RMB,
BUTTON_SCROLLUP,
BUTTON_SCROLLDOWN,
BUTTON_Space,
BUTTON_BackSpace, /* back space, back char */
BUTTON_Tab,
BUTTON_Linefeed, /* Linefeed, LF */
BUTTON_Clear,
BUTTON_Return, /* Return, enter */
BUTTON_Pause, /* Pause, hold */
BUTTON_Scroll_Lock,
BUTTON_Sys_Req,
BUTTON_Escape,
BUTTON_Delete, /* Delete, rubout */
/* Cursor control & motion */
BUTTON_Home,
BUTTON_Left, /* left arrow */
BUTTON_Up, /* up arrow */
BUTTON_Right, /* right arrow */
BUTTON_Down, /* down arrow */
BUTTON_Prior, /* Prior, previous */
BUTTON_Page_Up,
BUTTON_Next, /* Next */
BUTTON_Page_Down,
BUTTON_End, /* EOL */
BUTTON_Begin, /* BOL */
/* Misc Functions */
BUTTON_Select, /* Select, mark */
BUTTON_Print,
BUTTON_Execute, /* Execute, run, do */
BUTTON_Insert, /* Insert, insert here */
BUTTON_Undo, /* Undo, oops */
BUTTON_Redo, /* redo, again */
BUTTON_Menu,
BUTTON_Find, /* Find, search */
BUTTON_Cancel, /* Cancel, stop, abort, exit */
BUTTON_Help, /* Help */
BUTTON_Break,
BUTTON_Mode_switch, /* Character set switch */
BUTTON_Script_switch, /* Alias for mode_switch */
BUTTON_Num_Lock,
/* Keypad Functions, keypad numbers cleverly chosen to map to ascii */
BUTTON_KP_Space, /* space */
BUTTON_KP_Tab,
BUTTON_KP_Enter, /* enter */
BUTTON_KP_F1, /* PF1, KP_A, ... */
BUTTON_KP_F2,
BUTTON_KP_F3,
BUTTON_KP_F4,
BUTTON_KP_Home,
BUTTON_KP_Left,
BUTTON_KP_Up,
BUTTON_KP_Right,
BUTTON_KP_Down,
BUTTON_KP_Prior,
BUTTON_KP_Page_Up,
BUTTON_KP_Next,
BUTTON_KP_Page_Down,
BUTTON_KP_End,
BUTTON_KP_Begin,
BUTTON_KP_Insert,
BUTTON_KP_Delete,
BUTTON_KP_Equal, /* equals */
BUTTON_KP_Multiply,
BUTTON_KP_Add,
BUTTON_KP_Separator, /* separator, often comma */
BUTTON_KP_Subtract,
BUTTON_KP_Decimal,
BUTTON_KP_Divide,
BUTTON_KP_0,
BUTTON_KP_1,
BUTTON_KP_2,
BUTTON_KP_3,
BUTTON_KP_4,
BUTTON_KP_5,
BUTTON_KP_6,
BUTTON_KP_7,
BUTTON_KP_8,
BUTTON_KP_9,
/*
* Auxilliary Functions; note the duplicate definitions for left and right
* function keys; Sun keyboards and a few other manufactures have such
* function key groups on the left and/or right sides of the keyboard.
* We've not found a keyboard with more than 35 function keys total.
*/
BUTTON_F1,
BUTTON_F2,
BUTTON_F3,
BUTTON_F4,
BUTTON_F5,
BUTTON_F6,
BUTTON_F7,
BUTTON_F8,
BUTTON_F9,
BUTTON_F10,
BUTTON_F11,
BUTTON_F12,
BUTTON_F13,
BUTTON_F14,
BUTTON_F15,
BUTTON_F16,
BUTTON_F17,
BUTTON_F18,
BUTTON_F19,
BUTTON_F20,
BUTTON_F21,
BUTTON_F22,
BUTTON_F23,
BUTTON_F24,
BUTTON_F25,
BUTTON_F26,
BUTTON_F27,
BUTTON_F28,
BUTTON_F29,
BUTTON_F30,
BUTTON_F31,
BUTTON_F32,
BUTTON_F33,
BUTTON_F34,
BUTTON_F35,
/* Modifiers */
BUTTON_Shift, /* Left and Right shift */
BUTTON_Control, /* Left and Right control */
BUTTON_Caps_Lock, /* Caps lock */
BUTTON_Shift_Lock, /* Shift lock */
BUTTON_Meta, /* Left and Right meta */
BUTTON_Alt, /* Left and Right alt */
BUTTON_Super, /* Left and Right super */
BUTTON_Hyper, /* Left and Right hyper */
BUTTON_First_Modifier = BUTTON_Shift,
BUTTON_Last_Modifier = BUTTON_Hyper,
BUTTON_Last
};
| virtual ~Event | ( | ) | [protected, virtual] |
Reference counted objects should be kept out of the stack.
| Event::EventType getType | ( | ) | const [inline] |
{
return myType;
}
| unsigned int getSubType | ( | ) | const [inline] |
{
return myCurrentButton;
}
| bool isAction | ( | ) | const [inline] |
{
return BUTTONDOWN == myType
|| BUTTONUP == myType
|| DOUBLECLICK == myType
|| SCROLLWHEEL == myType
|| MOVE == myType
|| LEAVE == myType;
}
| void setValue | ( | int | whichValue, |
| float | newValue | ||
| ) | [inline] |
{
myAxisValues[whichValue] = newValue;
}
| float getValue | ( | int | whichValue | ) | [inline] |
{
return myAxisValues[whichValue];
}
| void setButtonValue | ( | int | whichButton, |
| bool | buttonIsDown | ||
| ) | [inline] |
{
myButtonState.setBit( whichButton, buttonIsDown );
}
| bool getButtonValue | ( | int | whichButton | ) | [inline] |
{
return myButtonState[whichButton];
}
| const EventButtonState & getButtonState | ( | ) | const [inline] |
{
return myButtonState;
}
| void setButtonState | ( | const EventButtonState & | rhs | ) | [inline] |
{
myButtonState = rhs;
}
| const ModifierState & getModifierState | ( | ) | const [inline] |
{
return myModifierState;
}
| void setModifierState | ( | const ModifierState & | rhs | ) | [inline] |
{
myModifierState = rhs;
}
| void setTime | ( | double | time | ) | [inline] |
{
myTime = time;
}
| double getTime | ( | ) | const [inline] |
{
return myTime;
}
| void setString | ( | const awString::IString & | s | ) | [inline] |
{
myString = s;
}
| const awString::IString & getString | ( | ) | const [inline] |
{
return myString;
}
| void setNativeEvent | ( | const NativeEvent & | event | ) |
| const NativeEvent * getNativeEvent | ( | ) | const [inline] |
{
return myNativeEvent;
}