Free Electron
|
Generalized windowing event. More...
#include <WindowEvent.h>
Public Types | |
enum | Source { e_sourceNull = 0x0000, e_sourceMousePosition = 0x0001, e_sourceMouseButton = 0x0002, e_sourceKeyboard = 0x0004, e_sourceSystem = 0x0008, e_sourceUser = 0x0010, e_sourceJoy0 = 0x0100, e_sourceJoy1 = 0x0200, e_sourceJoy2 = 0x0400, e_sourceJoy3 = 0x0800, e_sourceWheel0 = 0x1000, e_sourceWheel1 = 0x2000, e_sourceWheel2 = 0x4000, e_sourceWheel3 = 0x8000, e_sourceAny = 0x7fffffff } |
Source of a window event. More... | |
enum | Item { e_itemNull = 0x00, e_itemAny = 0x7fffffff, e_itemMove = 0x01, e_itemDrag = 0x02, e_itemLeft = 0x01, e_itemMiddle = 0x02, e_itemRight = 0x04, e_itemWheel = 0x08, e_keyBackspace = 0x08, e_keyTab = 0x09, e_keyLineFeed = 0x0A, e_keyCarriageReturn = 0x0D, e_keySpace = 0x20, e_keyEscape = 0x1B, e_keyDelete = 0x7F, e_keyAsciiMask = 0xFF, e_keyCursor = 0x100, e_keyCursorUp = 0x101, e_keyCursorDown = 0x102, e_keyCursorLeft = 0x103, e_keyCursorRight = 0x104, e_keyCursorMask = 0x107, e_keyFunction = 0x200, e_keyFunction1 = 0x201, e_keyFunction2 = 0x202, e_keyFunction3 = 0x203, e_keyFunction4 = 0x204, e_keyFunction5 = 0x205, e_keyFunction6 = 0x206, e_keyFunction7 = 0x207, e_keyFunction8 = 0x208, e_keyFunction9 = 0x209, e_keyFunction10 = 0x20A, e_keyFunction11 = 0x20B, e_keyFunction12 = 0x20C, e_keyFunctionMask = 0x20F, e_keyShift = 1<<24, e_keyCapLock = 1<<25, e_keyControl = 1<<26, e_keyAlt = 1<<27, e_keyModifiers, e_keyUsed = 0x1FFF, e_itemIdle = 0x01, e_itemResize = 0x02, e_itemExpose = 0x04, e_itemCloseWindow = 0x08, e_itemQuit = 0x10, e_itemPoll = 0x20, e_itemEnter = 0x40, e_itemExit = 0x80, e_windowClear = 0x01, e_windowSwapBuffers = 0x02, e_joyLeftStickX = 0x0000001, e_joyLeftStickY = 0x0000002, e_joyLeftPadX = 0x0000004, e_joyLeftPadY = 0x0000008, e_joyRightStickX = 0x0000010, e_joyRightStickY = 0x0000020, e_joyLeftTrigger = 0x0000040, e_joyRightTrigger = 0x0000080, e_joySelect = 0x0000100, e_joyBack = 0x0000100, e_joyGuide = 0x0000200, e_joyStart = 0x0000400, e_joyLeftUp = 0x0001000, e_joyLeftDown = 0x0002000, e_joyLeftLeft = 0x0004000, e_joyLeftRight = 0x0008000, e_joyLeftHigh = 0x0010000, e_joyLeftLow = 0x0020000, e_joyLeftDepress = 0x0040000, e_joyRightUp = 0x0100000, e_joyRightDown = 0x0200000, e_joyRightLeft = 0x0400000, e_joyRightRight = 0x0800000, e_joyRightHigh = 0x1000000, e_joyRightLow = 0x2000000, e_joyRightDepress = 0x4000000, e_joyAxes = 0x00000FF, e_joyButtons = 0xFF7F700, e_joyAny = 0xFF7F7FF, e_JoyWheel = e_joyLeftStickX, e_JoyClutch = e_joyLeftStickY, e_JoyGasPedal = e_joyRightStickX, e_JoyBrake = e_joyRightStickY, e_JoyShifterRight = e_joyLeftLow, e_JoyShifterLeft = e_joyRightLow } |
Aspect of change in a window event. More... | |
enum | State { e_stateForceSigned = -1, e_stateNull = 0x00, e_statePress = 0x01, e_stateRelease = 0x02, e_stateRepeat = 0x04, e_stateAny = 0x7fffffff, e_state2ClickGeneric = 0x00, e_state2ClickSingle = 0x01, e_state2ClickDouble = 0x02, e_state2ClickTriple = 0x03, e_state2NoRelease = 0x04 } |
Effect of change in a window event. More... | |
enum | MouseButtons { e_mbNone = 0x00, e_mbLeft = 0x01, e_mbMiddle = 0x02, e_mbRight = 0x04, e_mbAll = 0x07, e_mbAny = 0x7fffffff } |
State of the mouse buttons during an event. More... | |
Public Member Functions | |
virtual void | addFunctors (void) |
Called at instantiation to add functors. More... | |
virtual void | initializeRecord (void) |
Called at instantiation to initialize attributes. More... | |
bool | operator== (const WindowEvent &other) const |
bool | operator< (const WindowEvent &other) const |
Source | source (void) const |
void | setSource (Source value) |
Item | item (void) const |
void | setItem (Item value) |
State | state (void) const |
void | setState (State value) |
State | state2 (void) const |
void | setState2 (State value) |
I32 | mouseX (void) const |
void | setMouseX (I32 value) |
I32 | mouseY (void) const |
void | setMouseY (I32 value) |
MouseButtons | mouseButtons (void) const |
void | setMouseButtons (MouseButtons value) |
void | reset (void) |
void | getMousePosition (I32 *pMx, I32 *pMy) const |
void | setMousePosition (I32 mx, I32 my) |
void | setSIS (Source source, Item item, State state) |
BWORD | matchesSource (Source sourceMask) const |
BWORD | matchesItem (Item itemMask) const |
BWORD | matchesItemUnmodified (Item itemMask) const |
BWORD | matchesState (State stateMask) const |
BWORD | is (Source sourceMask, Item itemMask, State stateMask) const |
BWORD | is (const WindowEvent &mask) const |
BWORD | is (const Mask &mask) const |
BWORD | isUnmodified (Source sourceMask, Item itemMask, State stateMask) const |
BWORD | isModified (void) |
BWORD | isModifiedBy (Item itemMask) |
BWORD | isNull (void) const |
BWORD | isExpose (void) const |
BWORD | isResize (void) const |
BWORD | isCloseWindow (void) const |
BWORD | isIdleMouse (void) const |
BWORD | isPoll (void) const |
BWORD | isContinuous (void) const |
BWORD | isMouseEnter (void) const |
BWORD | isMouseExit (void) const |
BWORD | isMouseMotion (void) const |
BWORD | isMouseMove (void) const |
BWORD | isMouseDrag (void) const |
BWORD | isKeyboard () const |
BWORD | isKeyPress (Item key) const |
BWORD | isKeyRepeat (Item key) const |
BWORD | isKeyRelease (Item key) const |
BWORD | isKeyTyped (Item key) const |
BWORD | isMouseButton (Item item=e_itemAny) const |
BWORD | isMousePress (Item item=e_itemAny) const |
BWORD | isMouseRelease (Item item=e_itemAny) const |
BWORD | isMouseWheel (void) const |
BWORD | isClear (void) const |
BWORD | isSwap (void) const |
BWORD | isSystem (void) const |
BWORD | isUser (void) const |
BWORD | isJoy (void) const |
BWORD | isJoyAxis (void) const |
BWORD | isJoyButton (void) const |
BWORD | usesModifiers (void) const |
Returns TRUE if item can be affected by shift/control/caplock. More... | |
Public Member Functions inherited from fe::ext::RecordView | |
void | setName (const String &name) |
const String | verboseName (void) const |
void | bind (sp< Scope > &rspScope) |
Associate with a Scope. More... | |
void | bind (hp< Scope > &rhpScope) |
Associate with a Scope by Handle. More... | |
hp< Scope > & | scope (void) |
Return associated Scope. More... | |
void | unbind (void) |
Disassociate with any Record. More... | |
void | bind (const Record record, BWORD weak=FALSE) |
Associate with a specific Record. More... | |
void | bind (const WeakRecord weakRecord, BWORD weak=FALSE) |
Associate with a specific WeakRecord. More... | |
void | setWeakRecord (const WeakRecord weakRecord) |
Associate with a specific WeakRecord. More... | |
virtual void | produce (Record &rRecord) |
Produce a Record using all the attributes. More... | |
virtual void | finalize (Record &rRecord) |
Finalize a Record using all the attributes. More... | |
Record | createRecord (void) |
Create a Record using all the attributes. More... | |
WeakRecord | record (void) const |
Access the record by weak (fast) reference. More... | |
sp< Layout > | layout (void) |
Access a Layout of all the attributes. More... | |
void | dump (void) |
Spew attributes and state for the bound Record. More... | |
virtual void | finalizeRecord (void) |
Called right after instantiation to finalize complex attributes. More... | |
void | setName (const String &name) |
const String | verboseName (void) const |
void | bind (sp< Scope > &rspScope) |
Associate with a Scope. More... | |
void | bind (hp< Scope > &rhpScope) |
Associate with a Scope by Handle. More... | |
hp< Scope > & | scope (void) |
Return associated Scope. More... | |
void | bind (const sp< RecordArray > &rspRecordArray) |
Associate with a specific RecordArray. More... | |
void | unbind (void) |
Disassociate with any Record or RecordArray. More... | |
void | bind (const Record record, BWORD weak=FALSE) |
Associate with a specific Record. More... | |
void | bind (const WeakRecord weakRecord, BWORD weak=FALSE) |
void | setIndex (U32 index) |
Set the index into the bound RecordArray. More... | |
BWORD | step (void) |
Step through the records in the array. More... | |
U32 | index (void) |
Return the current index into the RecordArray. More... | |
virtual void | produce (Record &rRecord) |
Produce a Record using all the attributes. More... | |
virtual void | finalize (Record &rRecord) |
Finalize a Record using all the attributes. More... | |
Record | createRecord (void) |
Create a Record using all the attributes. More... | |
WeakRecord | record (void) const |
Access the record by weak (fast) reference. More... | |
sp< Layout > | layout (void) |
Access a Layout of all the attributes. More... | |
void | dump (void) |
Spew attributes and state for the bound Record. More... | |
virtual void | finalizeRecord (void) |
Called right after instantiation to finalize complex attributes. More... | |
Public Member Functions inherited from fe::AccessorSet | |
AccessorSet (sp< Scope > spScope) | |
virtual FE_UWORD | size (void) const |
virtual BaseAccessor * | operator[] (FE_UWORD index) |
bool | operator== (const AccessorSet &a_aset) const |
bool | operator< (const AccessorSet &a_aset) const |
bool | bind (const WeakRecord a_record) |
void | bind (sp< Scope > spScope) |
virtual void | populate (sp< Layout > spLayout) |
void | enforceHaving (const AccessorSet &a_other) |
bool | bindCheck (sp< Layout > spLayout) |
bool | check (sp< LayoutSB > spLayout) |
bool | check (sp< LayoutAV > spLayout) |
bool | bindCheck (sp< RecordArray > spRA) |
bool | check (sp< RecordArray > spRA) |
bool | check (const WeakRecord &a_record) |
bool | check (const Record &a_record) |
void | check (const WeakRecord a_record, const char *a_annotation) |
void | enforce (const String &a_ifHas) |
void | filter (sp< RecordGroup > rg_output, sp< RecordGroup > rg_input) |
hp< Scope > | scope (void) |
void | filter (std::vector< Record > &a_records, sp< RecordGroup > rg_input) |
void | filter (std::vector< WeakRecord > &a_records, sp< RecordGroup > rg_input) |
const t_bitset & | bitset (void) const |
void | setBitset (const t_bitset &a_bs) |
void | add (BaseAccessor &a_accessor, const String &a_attribute) |
void | add (BaseAccessor &a_accessor) |
void | attach (const WeakRecord &a_record) |
Public Member Functions inherited from fe::Component | |
const String & | name (void) const |
Return the components chosen name. More... | |
const String | verboseName (void) const |
Return the annotated chosen name. More... | |
void | setName (const String &name) |
Rename the component to anything you want. More... | |
hp< Registry > | registry (void) const |
Get the Registry that created this component. More... | |
void | adjoin (sp< Component > spComponent) |
Tie this component's lifetime to another. More... | |
sp< Component > | create (const String &implementation, BWORD quiet=FALSE) const |
Convienience function to registry()->create() More... | |
void | disjoin (void) |
Untie component from Hub, if connected. More... | |
String | factoryName (void) |
void | setLibrary (sp< Library > spLibrary) |
Store a reference to the library used to instantiate this component. More... | |
sp< Library > | library (void) |
Get the library that created the component. More... | |
void | setFactoryIndex (I32 a_factoryIndex) |
Set the library's factory index. More... | |
I32 | factoryIndex (void) |
Get the library's factory index. More... | |
void | setSingleton (BWORD set) |
Specify whether component is a singleton. More... | |
BWORD | isSingleton (void) |
Return whether component is a singleton. More... | |
virtual void | acquire (void) |
Specialized reference increment. More... | |
virtual void | release (void) |
Specialized reference decrement. More... | |
Public Member Functions inherited from fe::Handled< Component > | |
const hp< Component > & | getHandle (void) const |
Get a safe handle to this object. More... | |
Public Member Functions inherited from fe::Protectable | |
virtual I32 | protection (void) const |
virtual void | protect (void) |
virtual void | unprotect (void) |
virtual Protectable * | clone (Protectable *pInstance=NULL) |
Public Member Functions inherited from fe::Counted | |
virtual void | acquire (int &rCount) |
Increment the reference count (and get the count) More... | |
virtual void | abandon (void) |
Decrement the reference count. More... | |
int | count (void) const |
Return the count of references. More... | |
void | setName (const String &) |
void | trackReference (void *pReference, String what) |
void | untrackReference (void *pReference) |
void | registerRegion (void *pT, U32 bytes) |
Public Member Functions inherited from fe::Initialized | |
void | initializeAll (void) |
void | setActive (bool a_active) |
Static Public Member Functions | |
static WindowEvent::Mask | stringToMask (const String &a_string) |
Static Public Member Functions inherited from fe::ext::RecordView | |
template<typename T > | |
static void | registerFactory (sp< Scope > spScope) |
Indicate a RecordFactoryI for a Scope. More... | |
static sp< RecordGroup > | loadRecordGroup (sp< Scope > spScope, String filename, BWORD a_binary=FALSE) |
Load a RecordGroup from a file. More... | |
static sp< RecordGroup > | loadRecordGroupFromBuffer (sp< Scope > spScope, String buffer, BWORD a_binary=FALSE) |
Serialize a RecordGroup from a string. More... | |
static void | saveRecordGroup (sp< Scope > spScope, sp< RecordGroup > &rspRecordGroup, String filename, BWORD a_binary=FALSE) |
Save a RecordGroup to a file. More... | |
template<typename T > | |
static void | registerFactory (sp< Scope > spScope) |
Indicate a RecordFactoryI for a Scope. More... | |
static sp< RecordGroup > | loadRecordGroup (sp< Scope > spScope, String filename, BWORD a_binary=FALSE) |
Load the root RecordGroup from a file. More... | |
static sp< RecordGroup > | loadRecordGroupFromBuffer (sp< Scope > spScope, String buffer, BWORD a_binary=FALSE) |
static void | saveRecordGroup (sp< Scope > spScope, sp< RecordGroup > &rspRecordGroup, String filename, BWORD a_binary=FALSE) |
Save the root RecordGroup to a file. More... | |
Static Public Member Functions inherited from fe::Counted | |
static String | reportTracker (void) |
static U32 | trackerCount (void) |
Public Attributes | |
Functor< I32 > | eventSource |
Functor< I32 > | eventItem |
Functor< I32 > | eventState |
Functor< I32 > | eventState2 |
Functor< I32 > | eventMouseX |
Functor< I32 > | eventMouseY |
Functor< I32 > | eventMouseButtons |
Public Attributes inherited from fe::ext::RecordView | |
Accessor< int > | count |
Additional Inherited Members | |
Protected Types inherited from fe::Initialized | |
typedef void(* | InitializeFunction) (Initialized *) |
Protected Member Functions inherited from fe::ext::RecordView | |
void | add (BaseAccessor &rFunctor, const char *name) |
Add an attribute Functor. More... | |
RecordView (const RecordView &rRecordView) | |
void | add (BaseAccessor &rFunctor, const char *name) |
Add an attribute Functor. More... | |
Protected Member Functions inherited from fe::Handled< Component > | |
void | abandonHandle (void) |
Protected Member Functions inherited from fe::Counted | |
int | releaseInternal (void) |
Decrement the reference count. More... | |
void | suppressReport (void) |
Protected Member Functions inherited from fe::Initialized | |
void | addInitializer (InitializeFunction function) |
Protected Attributes inherited from fe::AccessorSet | |
hp< Scope > | m_hpScope |
Array< BaseAccessor * > | m_accessors |
t_bitset | m_bitset |
WeakRecord | m_optional_record |
Related Functions inherited from fe::Component | |
FE_DL_EXPORT void FE_CDECL | checkUnload (sp< Library > &pLibrary, Component *pComponent=NULL) |
Delete the component and unload libraries where appropriate. More... | |
Generalized windowing event.
This is a convenience class to access a window event Record.
Instead of a massive enumeration, the events are interpreted into a useful triple: source/item/state. This is not only more manageable, but it lets you process events with simple masks.
The source is where the event originated.
The item is the aspect of the source that was affected.
The state is how the aspect was affected. A few events merit a second state value, given by state2.
The mouse positions and button states are also available for most events. Not all events necessarily merit mouse information.
Several simple convenience functions of the form is*() are provided to check common events or event masks.
Aspect of change in a window event.
State of the mouse buttons during an event.
Source of a window event.
Effect of change in a window event.
|
inlinevirtual |
Called at instantiation to add functors.
In addition to using add() to explicitly adding all the functors for a particular class, the implementation of this function should first call addFunctors() for all directly inherited classes that are indirectly or directly derived from RecordView().
Implements fe::ext::RecordView.
|
inlinevirtual |
Called at instantiation to initialize attributes.
In addition to setting any attributes, the implementation of this function should first call initializeRecord() for all directly inherited classes that are indirectly or directly derived from RecordView().
Functors can be used as accessors at this point.
Reimplemented from fe::ext::RecordView.
References fe::operator==().
|
inline |
Returns TRUE if item can be affected by shift/control/caplock.