Input subsystem. Converts operating system window messages to input state and events.
More...
|
| Input (Context *context) |
| Construct.
|
|
| ~Input () override |
| Destruct.
|
|
void | Update () |
| Poll for window messages. Called by HandleBeginFrame().
|
|
void | SetToggleFullscreen (bool enable) |
|
void | SetMouseVisible (bool enable, bool suppressEvent=false) |
| Set whether the operating system mouse cursor is visible. When not visible (default), is kept centered to prevent leaving the window. Mouse visibility event can be suppressed– this also recalls any unsuppressed SetMouseVisible which can be returned by ResetMouseVisible().
|
|
void | ResetMouseVisible () |
| Reset last mouse visibility that was not suppressed in SetMouseVisible.
|
|
void | SetMouseGrabbed (bool grab, bool suppressEvent=false) |
| Set whether the mouse is currently being grabbed by an operation.
|
|
void | ResetMouseGrabbed () |
| Reset the mouse grabbed to the last unsuppressed SetMouseGrabbed call.
|
|
void | SetMouseMode (MouseMode mode, bool suppressEvent=false) |
| Set the mouse mode. More...
|
|
void | ResetMouseMode () |
| Reset the last mouse mode that wasn't suppressed in SetMouseMode.
|
|
SDL_JoystickID | AddScreenJoystick (XMLFile *layoutFile=nullptr, XMLFile *styleFile=nullptr) |
| Add screen joystick. More...
|
|
bool | RemoveScreenJoystick (SDL_JoystickID id) |
| Remove screen joystick by instance ID. More...
|
|
void | SetScreenJoystickVisible (SDL_JoystickID id, bool enable) |
|
void | SetScreenKeyboardVisible (bool enable) |
|
void | SetTouchEmulation (bool enable) |
|
bool | RecordGesture () |
| Begin recording a touch gesture. Return true if successful. The E_GESTURERECORDED event (which contains the ID for the new gesture) will be sent when recording finishes.
|
|
bool | SaveGestures (Serializer &dest) |
| Save all in-memory touch gestures. Return true if successful.
|
|
bool | SaveGesture (Serializer &dest, unsigned gestureID) |
| Save a specific in-memory touch gesture to a file. Return true if successful.
|
|
unsigned | LoadGestures (Deserializer &source) |
| Load touch gestures from a file. Return number of loaded gestures, or 0 on failure.
|
|
bool | RemoveGesture (unsigned gestureID) |
| Remove an in-memory gesture by ID. Return true if was found.
|
|
void | RemoveAllGestures () |
| Remove all in-memory gestures.
|
|
void | SetMousePosition (const IntVector2 &position) |
|
void | CenterMousePosition () |
| Center the mouse position.
|
|
Key | GetKeyFromName (const String &name) const |
| Return keycode from key name.
|
|
Key | GetKeyFromScancode (Scancode scancode) const |
| Return keycode from scancode.
|
|
String | GetKeyName (Key key) const |
| Return name of key from keycode.
|
|
Scancode | GetScancodeFromKey (Key key) const |
| Return scancode from keycode.
|
|
Scancode | GetScancodeFromName (const String &name) const |
| Return scancode from key name.
|
|
String | GetScancodeName (Scancode scancode) const |
| Return name of key from scancode.
|
|
bool | GetKeyDown (Key key) const |
|
bool | GetKeyPress (Key key) const |
|
bool | GetScancodeDown (Scancode scancode) const |
|
bool | GetScancodePress (Scancode scancode) const |
|
bool | GetMouseButtonDown (MouseButtonFlags button) const |
|
bool | GetMouseButtonPress (MouseButtonFlags button) const |
|
bool | GetQualifierDown (Qualifier qualifier) const |
|
bool | GetQualifierPress (Qualifier qualifier) const |
|
QualifierFlags | GetQualifiers () const |
|
IntVector2 | GetMousePosition () const |
|
IntVector2 | GetMouseMove () const |
|
int | GetMouseMoveX () const |
|
int | GetMouseMoveY () const |
|
int | GetMouseMoveWheel () const |
|
Vector2 | GetInputScale () const |
|
unsigned | GetNumTouches () const |
|
TouchState * | GetTouch (unsigned index) const |
|
unsigned | GetNumJoysticks () const |
|
JoystickState * | GetJoystick (SDL_JoystickID id) |
|
JoystickState * | GetJoystickByIndex (unsigned index) |
|
JoystickState * | GetJoystickByName (const String &name) |
|
bool | GetToggleFullscreen () const |
|
bool | IsScreenJoystickVisible (SDL_JoystickID id) const |
|
bool | GetScreenKeyboardSupport () const |
|
bool | IsScreenKeyboardVisible () const |
|
bool | GetTouchEmulation () const |
|
bool | IsMouseVisible () const |
|
bool | IsMouseGrabbed () const |
|
bool | IsMouseLocked () const |
|
MouseMode | GetMouseMode () const |
|
bool | HasFocus () |
|
bool | IsMinimized () const |
|
| Object (Context *context) |
| Construct.
|
|
| ~Object () override |
| Destruct. Clean up self from event sender & receiver structures.
|
|
virtual StringHash | GetType () const =0 |
|
virtual const String & | GetTypeName () const =0 |
|
virtual const TypeInfo * | GetTypeInfo () const =0 |
| Return type info.
|
|
virtual void | OnEvent (Object *sender, StringHash eventType, VariantMap &eventData) |
| Handle event.
|
|
bool | IsInstanceOf (StringHash type) const |
| Check current instance is type of specified type.
|
|
bool | IsInstanceOf (const TypeInfo *typeInfo) const |
| Check current instance is type of specified type.
|
|
template<typename T > |
bool | IsInstanceOf () const |
| Check current instance is type of specified class.
|
|
template<typename T > |
T * | Cast () |
| Cast the object to specified most derived class.
|
|
template<typename T > |
const T * | Cast () const |
| Cast the object to specified most derived class.
|
|
void | SubscribeToEvent (StringHash eventType, EventHandler *handler) |
| Subscribe to an event that can be sent by any sender.
|
|
void | SubscribeToEvent (Object *sender, StringHash eventType, EventHandler *handler) |
| Subscribe to a specific sender's event.
|
|
void | SubscribeToEvent (StringHash eventType, const std::function< void(StringHash, VariantMap &)> &function, void *userData=nullptr) |
| Subscribe to an event that can be sent by any sender.
|
|
void | SubscribeToEvent (Object *sender, StringHash eventType, const std::function< void(StringHash, VariantMap &)> &function, void *userData=nullptr) |
| Subscribe to a specific sender's event.
|
|
void | UnsubscribeFromEvent (StringHash eventType) |
| Unsubscribe from an event.
|
|
void | UnsubscribeFromEvent (Object *sender, StringHash eventType) |
| Unsubscribe from a specific sender's event.
|
|
void | UnsubscribeFromEvents (Object *sender) |
| Unsubscribe from a specific sender's events.
|
|
void | UnsubscribeFromAllEvents () |
| Unsubscribe from all events.
|
|
void | UnsubscribeFromAllEventsExcept (const PODVector< StringHash > &exceptions, bool onlyUserData) |
| Unsubscribe from all events except those listed, and optionally only those with userdata (script registered events).
|
|
void | SendEvent (StringHash eventType) |
| Send event to all subscribers.
|
|
void | SendEvent (StringHash eventType, VariantMap &eventData) |
| Send event with parameters to all subscribers.
|
|
VariantMap & | GetEventDataMap () const |
| Return a preallocated map for event data. Used for optimization to avoid constant re-allocation of event data maps.
|
|
template<typename... Args> |
void | SendEvent (StringHash eventType, Args... args) |
| Send event with variadic parameter pairs to all subscribers. The parameter pairs is a list of paramID and paramValue separated by comma, one pair after another.
|
|
Context * | GetContext () const |
| Return execution context.
|
|
const Variant & | GetGlobalVar (StringHash key) const |
|
const VariantMap & | GetGlobalVars () const |
|
void | SetGlobalVar (StringHash key, const Variant &value) |
|
Object * | GetSubsystem (StringHash type) const |
| Return subsystem by type.
|
|
Object * | GetEventSender () const |
| Return active event sender. Null outside event handling.
|
|
EventHandler * | GetEventHandler () const |
| Return active event handler. Null outside event handling.
|
|
bool | HasSubscribedToEvent (StringHash eventType) const |
| Return whether has subscribed to an event without specific sender.
|
|
bool | HasSubscribedToEvent (Object *sender, StringHash eventType) const |
| Return whether has subscribed to a specific sender's event.
|
|
bool | HasEventHandlers () const |
| Return whether has subscribed to any event.
|
|
template<class T > |
T * | GetSubsystem () const |
| Template version of returning a subsystem.
|
|
const String & | GetCategory () const |
|
void | SetBlockEvents (bool block) |
| Block object from sending and receiving events.
|
|
bool | GetBlockEvents () const |
| Return sending and receiving events blocking status.
|
|
| RefCounted () |
| Construct. Allocate the reference count structure and set an initial self weak reference.
|
|
virtual | ~RefCounted () |
| Destruct. Mark as expired and also delete the reference count structure if no outside weak references exist.
|
|
| RefCounted (const RefCounted &rhs)=delete |
| Prevent copy construction.
|
|
RefCounted & | operator= (const RefCounted &rhs)=delete |
| Prevent assignment.
|
|
void | AddRef () |
|
void | ReleaseRef () |
|
int | Refs () const |
|
int | WeakRefs () const |
|
RefCount * | RefCountPtr () |
| Return pointer to the reference count structure.
|
|
|
| URHO3D_OBJECT (Input, Object) |
|
void | Initialize () |
| Initialize when screen mode initially set.
|
|
SDL_JoystickID | OpenJoystick (unsigned index) |
| Open a joystick and return its ID. Return -1 if no joystick.
|
|
void | ResetJoysticks () |
| Setup internal joystick structures.
|
|
void | GainFocus () |
| Prepare input state for application gaining input focus.
|
|
void | LoseFocus () |
| Prepare input state for application losing input focus.
|
|
void | ResetState () |
| Clear input state. More...
|
|
void | ResetTouches () |
| Clear touch states and send touch end events.
|
|
void | ResetInputAccumulation () |
| Reset input accumulation.
|
|
unsigned | GetTouchIndexFromID (int touchID) |
| Get the index of a touch based on the touch ID.
|
|
unsigned | PopTouchIndex () |
| Used internally to return and remove the next available touch index.
|
|
void | PushTouchIndex (int touchID) |
| Push a touch index back into the list of available when finished with it.
|
|
void | SendInputFocusEvent () |
| Send an input focus or window minimization change event.
|
|
void | SetMouseButton (MouseButton button, bool newState, int clicks) |
| Handle a mouse button change.
|
|
void | SetKey (Key key, Scancode scancode, bool newState) |
| Handle a key change.
|
|
void | SetMouseWheel (int delta) |
| Handle mouse wheel change.
|
|
void | SuppressNextMouseMove () |
| Suppress next mouse movement.
|
|
void | UnsuppressMouseMove () |
| Unsuppress mouse movement.
|
|
void | HandleScreenMode (StringHash eventType, VariantMap &eventData) |
| Handle screen mode event.
|
|
void | HandleBeginFrame (StringHash eventType, VariantMap &eventData) |
| Handle frame start event.
|
|
void | HandleScreenJoystickTouch (StringHash eventType, VariantMap &eventData) |
| Handle touch events from the controls of screen joystick(s).
|
|
void | HandleSDLEvent (void *sdlEvent) |
| Handle SDL event.
|
|
void | SetMouseModeRelative (SDL_bool enable) |
| Set SDL mouse mode relative.
|
|
void | SetMouseModeAbsolute (SDL_bool enable) |
| Set SDL mouse mode absolute.
|
|
|
WeakPtr< Graphics > | graphics_ |
| Graphics subsystem.
|
|
HashSet< int > | keyDown_ |
| Key down state.
|
|
HashSet< int > | keyPress_ |
| Key pressed state.
|
|
HashSet< int > | scancodeDown_ |
| Key down state by scancode.
|
|
HashSet< int > | scancodePress_ |
| Key pressed state by scancode.
|
|
HashMap< int, TouchState > | touches_ |
| Active finger touches.
|
|
List< int > | availableTouchIDs_ |
| List that maps between event touch IDs and normalised touch IDs.
|
|
HashMap< int, int > | touchIDMap_ |
| Mapping of touch indices.
|
|
String | textInput_ |
| String for text input.
|
|
HashMap< SDL_JoystickID, JoystickState > | joysticks_ |
| Opened joysticks.
|
|
MouseButtonFlags | mouseButtonDown_ |
| Mouse buttons' down state.
|
|
MouseButtonFlags | mouseButtonPress_ |
| Mouse buttons' pressed state.
|
|
IntVector2 | lastMousePosition_ |
| Last mouse position for calculating movement.
|
|
IntVector2 | lastVisibleMousePosition_ |
| Last mouse position before being set to not visible.
|
|
IntVector2 | mouseMove_ |
| Mouse movement since last frame.
|
|
int | mouseMoveWheel_ |
| Mouse wheel movement since last frame.
|
|
Vector2 | inputScale_ |
| Input coordinate scaling. Non-unity when window and backbuffer have different sizes (e.g. Retina display).
|
|
unsigned | windowID_ |
| SDL window ID.
|
|
bool | toggleFullscreen_ |
| Fullscreen toggle flag.
|
|
bool | mouseVisible_ |
| Operating system mouse cursor visible flag.
|
|
bool | lastMouseVisible_ |
| The last operating system mouse cursor visible flag set by end use call to SetMouseVisible.
|
|
bool | mouseGrabbed_ |
| Flag to indicate the mouse is being grabbed by an operation. Subsystems like UI that uses mouse should temporarily ignore the mouse hover or click events.
|
|
bool | lastMouseGrabbed_ |
| The last mouse grabbed set by SetMouseGrabbed.
|
|
MouseMode | mouseMode_ |
| Determines the mode of mouse behaviour.
|
|
MouseMode | lastMouseMode_ |
| The last mouse mode set by SetMouseMode.
|
|
bool | sdlMouseRelative_ |
| Flag to determine whether SDL mouse relative was used.
|
|
bool | touchEmulation_ |
| Touch emulation mode flag.
|
|
bool | inputFocus_ |
| Input focus flag.
|
|
bool | minimized_ |
| Minimized flag.
|
|
bool | focusedThisFrame_ |
| Gained focus on this frame flag.
|
|
bool | suppressNextMouseMove_ |
| Next mouse move suppress flag.
|
|
bool | mouseMoveScaled_ |
| Whether mouse move is accumulated in backbuffer scale or not (when using events directly).
|
|
bool | initialized_ |
| Initialized flag.
|
|
Input subsystem. Converts operating system window messages to input state and events.