Castor3D 0.15.0
Multiplatform 3D engine
|
#include <UserInputListener.hpp>
Types publics | |
using | OnClickActionFunction = std::function< void() > |
using | OnMouseMoveActionFunction = std::function< void(castor::Position const &) > |
using | OnSelectActionFunction = std::function< void(int) > |
using | OnTextActionFunction = std::function< void(castor::U32String const &) > |
using | OnExpandActionFunction = std::function< void(bool) > |
using | OnClipboardTextActionFunction = std::function< castor::U32String(bool, castor::U32String) > |
using | OnCursorActionFunction = std::function< void(MouseCursor) > |
Fonctions membres publiques | |
General | |
C3D_API | UserInputListener (Engine &engine, castor::String const &name) |
Constructeur. | |
virtual C3D_API | ~UserInputListener () |
Destructeur. | |
C3D_API bool | initialise () |
Initialise le listener. | |
C3D_API void | cleanup () |
Nettoie le listener. | |
C3D_API void | processEvents () |
Traite tous les évènements. | |
Getters | |
castor::Position const & | getMousePosition () const |
EventHandlerRPtr | getActiveControl () const |
EventHandlerRPtr | getFocusedControl () const |
FrameListener & | getFrameListener () const |
Output events | |
C3D_API void | registerMouseMoveAction (castor::String const &handler, OnMouseMoveActionFunction function) |
Enregistre une fonction à appeler lorsqu'un évènement de déplacement de souris est lancé par le handler donné. | |
C3D_API void | registerClickAction (castor::String const &handler, OnClickActionFunction function) |
Enregistre une fonction à appeler lorsqu'un évènement de clic de souris est lancé par le handler donné. | |
C3D_API void | registerSelectAction (castor::String const &handler, OnSelectActionFunction function) |
Enregistre une fonction à appeler lorsqu'un évènement de sélection est lancé par le handler donné. | |
C3D_API void | registerTextAction (castor::String const &handler, OnTextActionFunction function) |
Enregistre une fonction à appeler lorsqu'un évènement de texte est lancé par le handler donné. | |
C3D_API void | registerExpandAction (castor::String const &handler, OnExpandActionFunction function) |
Enregistre une fonction à appeler lorsqu'un évènement d'expansion est lancé par le handler donné. | |
C3D_API void | registerCursorAction (OnCursorActionFunction function) |
Enregistre une fonction à appeler lorsqu'un évènement de curseur de souris est lancé par le handler donné. | |
C3D_API void | registerClipboardTextAction (OnClipboardTextActionFunction function) |
Enregistre une fonction à appeler lorsqu'un évènement de presse-papier est lancé par le handler donné. | |
C3D_API void | unregisterMouseMoveAction (castor::String const &handler) |
Désenregistre la fonction à appeler lorsqu'un évènement de déplacement de souris est lancé par le handler donné. | |
C3D_API void | unregisterClickAction (castor::String const &handler) |
Désenregistre la fonction à appeler lorsqu'un évènement de clic de souris est lancé par le handler donné. | |
C3D_API void | unregisterSelectAction (castor::String const &handler) |
Désenregistre la fonction à appeler lorsqu'un évènement de sélection est lancé par le handler donné. | |
C3D_API void | unregisterTextAction (castor::String const &handler) |
Désenregistre la fonction à appeler lorsqu'un évènement de texte est lancé par le handler donné. | |
C3D_API void | unregisterExpandAction (castor::String const &handler) |
Désenregistre la fonction à appeler lorsqu'un évènement d'expansion est lancé par le handler donné. | |
C3D_API void | unregisterCursorAction () |
Désenregistre la fonction à appeler lorsqu'un évènement de curseur de souris est lancé par le handler donné. | |
C3D_API void | unregisterClipboardTextAction () |
Désenregistre la fonction à appeler lorsqu'un évènement de presse-papier est lancé par le handler donné. | |
C3D_API void | onMouseMoveAction (castor::String const &handler) const |
Evènement lancé par le handler si la souris est déplacée au dessus de sa surface. | |
C3D_API void | onClickAction (castor::String const &handler) const |
Evènement lancé par le handler s'il est cliqué et qu'il le supporte. | |
C3D_API void | onSelectAction (castor::String const &handler, int index) const |
Evènement lancé par le handler lorsqu'un de ses sous éléments est sélectionné. | |
C3D_API void | onTextAction (castor::String const &handler, castor::U32String const &text) const |
Evènement lancé par le handler lorsque son texte a changé. | |
C3D_API void | onExpandAction (castor::String const &handler, bool expand) const |
Evènement lancé par le handler lorsque son expansion est changée. | |
C3D_API void | onCursorAction (MouseCursor cursor) const |
Evènement lorsque le cureur de souris est changé. | |
C3D_API castor::U32String | onClipboardTextAction (bool set, castor::U32String text) const |
Evènement lancé lorsqu'une interaction avec le presse-papier est demandée. | |
C3D_API void | enableHandler (castor::String const &handler) |
Active un handler. | |
C3D_API void | disableHandler (castor::String const &handler) |
Désactive un handler. | |
Mouse input events | |
C3D_API bool | fireMouseMove (castor::Position const &position, bool ctrl, bool alt, bool shift) |
Lance un évènement de déplacement de souris. | |
C3D_API bool | fireMouseButtonPushed (MouseButton button, bool ctrl, bool alt, bool shift) |
Lance un évènement de bouton de souris appuyé. | |
C3D_API bool | fireMouseButtonReleased (MouseButton button, bool ctrl, bool alt, bool shift) |
Lance un évènement de bouton de souris relâché. | |
C3D_API bool | fireMouseWheel (castor::Position const &offsets, bool ctrl, bool alt, bool shift) |
Lance un évènement de molette de souris. | |
Keyboard input events | |
std::mutex | m_mutexHandlers |
std::vector< EventHandlerUPtr > | m_handlers |
FrameListenerRPtr | m_frameListener |
C3D_API bool | fireKeydown (KeyboardKey key, bool ctrl, bool alt, bool shift) |
Lance un évènement de touche de clavier appuyée. | |
C3D_API bool | fireKeyUp (KeyboardKey key, bool ctrl, bool alt, bool shift) |
Lance un évènement de touche de clavier relâchée. | |
C3D_API bool | fireChar (KeyboardKey key, castor::String const &c) |
Lance un évènement de caractère imprimable. | |
std::vector< EventHandlerRPtr > | doGetHandlers () const |
bool | doHasHandlers () const |
EventHandlerRPtr | doAddHandler (EventHandlerUPtr handler) |
Supprime un gestionnaire. | |
void | doRemoveHandlerNL (EventHandler const &handler) |
Supprime un gestionnaire. | |
void | doRemoveHandler (EventHandler const &handler) |
Supprime un gestionnaire. | |
using castor3d::UserInputListener::OnClickActionFunction = std::function< void() > |
using castor3d::UserInputListener::OnClipboardTextActionFunction = std::function< castor::U32String( bool, castor::U32String ) > |
using castor3d::UserInputListener::OnCursorActionFunction = std::function< void( MouseCursor ) > |
using castor3d::UserInputListener::OnExpandActionFunction = std::function< void( bool ) > |
using castor3d::UserInputListener::OnMouseMoveActionFunction = std::function< void( castor::Position const & ) > |
using castor3d::UserInputListener::OnSelectActionFunction = std::function< void( int ) > |
using castor3d::UserInputListener::OnTextActionFunction = std::function< void( castor::U32String const & ) > |
C3D_API castor3d::UserInputListener::UserInputListener | ( | Engine & | engine, |
castor::String const & | name | ||
) |
Constructeur.
[in] | engine | Le moteur. |
[in] | name | Le nom du listener. |
|
virtual |
Destructeur.
C3D_API void castor3d::UserInputListener::cleanup | ( | ) |
Nettoie le listener.
C3D_API void castor3d::UserInputListener::disableHandler | ( | castor::String const & | handler | ) |
Désactive un handler.
[in] | handler | Le handler. |
|
inlineprotected |
Supprime un gestionnaire.
[in] | handler | Le gestionnaire. |
Références m_handlers, et m_mutexHandlers.
|
inlineprotected |
Références m_handlers, et m_mutexHandlers.
|
inlineprotected |
true
s'il y a des gestionnaires. Références m_handlers, et m_mutexHandlers.
|
inlineprotected |
Supprime un gestionnaire.
[in] | handler | Le gestionnaire. |
Références doRemoveHandlerNL(), et m_mutexHandlers.
|
inlineprotected |
Supprime un gestionnaire.
[in] | handler | Le gestionnaire. |
Références m_handlers.
Référencé par doRemoveHandler().
C3D_API void castor3d::UserInputListener::enableHandler | ( | castor::String const & | handler | ) |
Active un handler.
[in] | handler | Le handler. |
C3D_API bool castor3d::UserInputListener::fireChar | ( | KeyboardKey | key, |
castor::String const & | c | ||
) |
Lance un évènement de caractère imprimable.
[in] | key | Le code de la touche. |
[in] | c | Le caractère correspondant à la touche, affichable tel quel. |
true
si l'évènement est traité par un gestionnaire. C3D_API bool castor3d::UserInputListener::fireKeydown | ( | KeyboardKey | key, |
bool | ctrl, | ||
bool | alt, | ||
bool | shift | ||
) |
Lance un évènement de touche de clavier appuyée.
[in] | key | Le code de la touche. |
[in] | ctrl | Dit si la touche Ctrl est enfoncée. |
[in] | alt | Dit si la touche Alt est enfoncée. |
[in] | shift | Dit si la touche Shift est enfoncée. |
true
si l'évènement est traité par un gestionnaire. C3D_API bool castor3d::UserInputListener::fireKeyUp | ( | KeyboardKey | key, |
bool | ctrl, | ||
bool | alt, | ||
bool | shift | ||
) |
Lance un évènement de touche de clavier relâchée.
[in] | key | Le code de la touche. |
[in] | ctrl | Dit si la touche Ctrl est enfoncée. |
[in] | alt | Dit si la touche Alt est enfoncée. |
[in] | shift | Dit si la touche Shift est enfoncée. |
true
si l'évènement est traité par un gestionnaire. C3D_API bool castor3d::UserInputListener::fireMouseButtonPushed | ( | MouseButton | button, |
bool | ctrl, | ||
bool | alt, | ||
bool | shift | ||
) |
Lance un évènement de bouton de souris appuyé.
[in] | button | Le bouton de la souris. |
[in] | ctrl | Dit si la touche Ctrl est enfoncée. |
[in] | alt | Dit si la touche Alt est enfoncée. |
[in] | shift | Dit si la touche Shift est enfoncée. |
true
si l'évènement est traité par un gestionnaire. C3D_API bool castor3d::UserInputListener::fireMouseButtonReleased | ( | MouseButton | button, |
bool | ctrl, | ||
bool | alt, | ||
bool | shift | ||
) |
Lance un évènement de bouton de souris relâché.
[in] | button | Le bouton de la souris. |
[in] | ctrl | Dit si la touche Ctrl est enfoncée. |
[in] | alt | Dit si la touche Alt est enfoncée. |
[in] | shift | Dit si la touche Shift est enfoncée. |
true
si l'évènement est traité par un gestionnaire. C3D_API bool castor3d::UserInputListener::fireMouseMove | ( | castor::Position const & | position, |
bool | ctrl, | ||
bool | alt, | ||
bool | shift | ||
) |
Lance un évènement de déplacement de souris.
[in] | position | La position de la souris. |
[in] | ctrl | Dit si la touche Ctrl est enfoncée. |
[in] | alt | Dit si la touche Alt est enfoncée. |
[in] | shift | Dit si la touche Shift est enfoncée. |
true
si l'évènement est traité par un gestionnaire. C3D_API bool castor3d::UserInputListener::fireMouseWheel | ( | castor::Position const & | offsets, |
bool | ctrl, | ||
bool | alt, | ||
bool | shift | ||
) |
Lance un évènement de molette de souris.
[in] | offsets | Les déplacements de la molette (x et y). |
[in] | ctrl | Dit si la touche Ctrl est enfoncée. |
[in] | alt | Dit si la touche Alt est enfoncée. |
[in] | shift | Dit si la touche Shift est enfoncée. |
true
si l'évènement est traité par un gestionnaire.
|
inline |
|
inline |
|
inline |
Références m_frameListener.
|
inline |
Références castor3d::MouseState::position.
C3D_API bool castor3d::UserInputListener::initialise | ( | ) |
Initialise le listener.
C3D_API void castor3d::UserInputListener::onClickAction | ( | castor::String const & | handler | ) | const |
Evènement lancé par le handler s'il est cliqué et qu'il le supporte.
[in] | handler | Le handler cliqué. |
C3D_API castor::U32String castor3d::UserInputListener::onClipboardTextAction | ( | bool | set, |
castor::U32String | text | ||
) | const |
Evènement lancé lorsqu'une interaction avec le presse-papier est demandée.
[in] | set | true pour définir le texte du presse-papier, false pour le récupérer. |
[in] | text | La valeur pour le presse-papier. |
C3D_API void castor3d::UserInputListener::onCursorAction | ( | MouseCursor | cursor | ) | const |
Evènement lorsque le cureur de souris est changé.
[in] | cursor | Le curseur. |
C3D_API void castor3d::UserInputListener::onExpandAction | ( | castor::String const & | handler, |
bool | expand | ||
) | const |
Evènement lancé par le handler lorsque son expansion est changée.
[in] | handler | Le handler. |
[in] | expand | La nouvelle valeur. |
C3D_API void castor3d::UserInputListener::onMouseMoveAction | ( | castor::String const & | handler | ) | const |
Evènement lancé par le handler si la souris est déplacée au dessus de sa surface.
[in] | handler | Le handler. |
C3D_API void castor3d::UserInputListener::onSelectAction | ( | castor::String const & | handler, |
int | index | ||
) | const |
Evènement lancé par le handler lorsqu'un de ses sous éléments est sélectionné.
[in] | handler | Le handler. |
[in] | index | L'indice de la sélection. |
C3D_API void castor3d::UserInputListener::onTextAction | ( | castor::String const & | handler, |
castor::U32String const & | text | ||
) | const |
Evènement lancé par le handler lorsque son texte a changé.
[in] | handler | Le handler. |
[in] | text | Le nouveau texte. |
C3D_API void castor3d::UserInputListener::processEvents | ( | ) |
Traite tous les évènements.
C3D_API void castor3d::UserInputListener::registerClickAction | ( | castor::String const & | handler, |
OnClickActionFunction | function | ||
) |
Enregistre une fonction à appeler lorsqu'un évènement de clic de souris est lancé par le handler donné.
[in] | handler | Le handler cliqué. |
[in] | function | La fonction. |
C3D_API void castor3d::UserInputListener::registerClipboardTextAction | ( | OnClipboardTextActionFunction | function | ) |
Enregistre une fonction à appeler lorsqu'un évènement de presse-papier est lancé par le handler donné.
[in] | function | La fonction. |
C3D_API void castor3d::UserInputListener::registerCursorAction | ( | OnCursorActionFunction | function | ) |
Enregistre une fonction à appeler lorsqu'un évènement de curseur de souris est lancé par le handler donné.
[in] | function | La fonction. |
C3D_API void castor3d::UserInputListener::registerExpandAction | ( | castor::String const & | handler, |
OnExpandActionFunction | function | ||
) |
Enregistre une fonction à appeler lorsqu'un évènement d'expansion est lancé par le handler donné.
[in] | handler | Le handler. |
[in] | function | La fonction. |
C3D_API void castor3d::UserInputListener::registerMouseMoveAction | ( | castor::String const & | handler, |
OnMouseMoveActionFunction | function | ||
) |
Enregistre une fonction à appeler lorsqu'un évènement de déplacement de souris est lancé par le handler donné.
[in] | handler | Le handler. |
[in] | function | La fonction. |
C3D_API void castor3d::UserInputListener::registerSelectAction | ( | castor::String const & | handler, |
OnSelectActionFunction | function | ||
) |
Enregistre une fonction à appeler lorsqu'un évènement de sélection est lancé par le handler donné.
[in] | handler | Le handler. |
[in] | function | La fonction. |
C3D_API void castor3d::UserInputListener::registerTextAction | ( | castor::String const & | handler, |
OnTextActionFunction | function | ||
) |
Enregistre une fonction à appeler lorsqu'un évènement de texte est lancé par le handler donné.
[in] | handler | Le handler. |
[in] | function | La fonction. |
C3D_API void castor3d::UserInputListener::unregisterClickAction | ( | castor::String const & | handler | ) |
Désenregistre la fonction à appeler lorsqu'un évènement de clic de souris est lancé par le handler donné.
[in] | handler | Le handler cliqué. |
C3D_API void castor3d::UserInputListener::unregisterClipboardTextAction | ( | ) |
Désenregistre la fonction à appeler lorsqu'un évènement de presse-papier est lancé par le handler donné.
C3D_API void castor3d::UserInputListener::unregisterCursorAction | ( | ) |
Désenregistre la fonction à appeler lorsqu'un évènement de curseur de souris est lancé par le handler donné.
C3D_API void castor3d::UserInputListener::unregisterExpandAction | ( | castor::String const & | handler | ) |
Désenregistre la fonction à appeler lorsqu'un évènement d'expansion est lancé par le handler donné.
[in] | handler | Le handler. |
C3D_API void castor3d::UserInputListener::unregisterMouseMoveAction | ( | castor::String const & | handler | ) |
Désenregistre la fonction à appeler lorsqu'un évènement de déplacement de souris est lancé par le handler donné.
[in] | handler | Le handler. |
C3D_API void castor3d::UserInputListener::unregisterSelectAction | ( | castor::String const & | handler | ) |
Désenregistre la fonction à appeler lorsqu'un évènement de sélection est lancé par le handler donné.
[in] | handler | Le handler. |
C3D_API void castor3d::UserInputListener::unregisterTextAction | ( | castor::String const & | handler | ) |
Désenregistre la fonction à appeler lorsqu'un évènement de texte est lancé par le handler donné.
[in] | handler | Le handler. |
|
protected |
Le frame listener associé.
Référencé par getFrameListener().
|
protected |
Le tableau de gestionnaires.
Référencé par doAddHandler(), doGetHandlers(), doHasHandlers(), et doRemoveHandlerNL().
|
mutableprotected |
Le mutex de protection du tableau de gestionnaires.
Référencé par doAddHandler(), doGetHandlers(), doHasHandlers(), et doRemoveHandler().