Castor3D 0.15.0
Multiplatform 3D engine
Types publics | Liste de tous les membres
Référence de la classe castor3d::UserInputListenerabstract

#include <UserInputListener.hpp>

Graphe d'héritage de castor3d::UserInputListener:
Inheritance graph
[légende]
Graphe de collaboration de castor3d::UserInputListener:
Collaboration graph
[légende]

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
 
FrameListenergetFrameListener () 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.
 

Documentation des définitions de type membres

◆ OnClickActionFunction

using castor3d::UserInputListener::OnClickActionFunction = std::function< void() >

◆ OnClipboardTextActionFunction

using castor3d::UserInputListener::OnClipboardTextActionFunction = std::function< castor::U32String( bool, castor::U32String ) >

◆ OnCursorActionFunction

◆ OnExpandActionFunction

using castor3d::UserInputListener::OnExpandActionFunction = std::function< void( bool ) >

◆ OnMouseMoveActionFunction

using castor3d::UserInputListener::OnMouseMoveActionFunction = std::function< void( castor::Position const & ) >

◆ OnSelectActionFunction

using castor3d::UserInputListener::OnSelectActionFunction = std::function< void( int ) >

◆ OnTextActionFunction

using castor3d::UserInputListener::OnTextActionFunction = std::function< void( castor::U32String const & ) >

Documentation des constructeurs et destructeur

◆ UserInputListener()

C3D_API castor3d::UserInputListener::UserInputListener ( Engine engine,
castor::String const &  name 
)

Constructeur.

Paramètres
[in]engineLe moteur.
[in]nameLe nom du listener.

◆ ~UserInputListener()

virtual C3D_API castor3d::UserInputListener::~UserInputListener ( )
virtual

Destructeur.

Documentation des fonctions membres

◆ cleanup()

C3D_API void castor3d::UserInputListener::cleanup ( )

Nettoie le listener.

◆ disableHandler()

C3D_API void castor3d::UserInputListener::disableHandler ( castor::String const &  handler)

Désactive un handler.

Paramètres
[in]handlerLe handler.

◆ doAddHandler()

EventHandlerRPtr castor3d::UserInputListener::doAddHandler ( EventHandlerUPtr  handler)
inlineprotected

Supprime un gestionnaire.

Remarques
Vous DEVEZ appeler cette fonction lors de l'ajout d'un gestionnaire dans vos listes, si vous voulez qu'il soit mis à jour.
Paramètres
[in]handlerLe gestionnaire.

Références m_handlers, et m_mutexHandlers.

◆ doGetHandlers()

std::vector< EventHandlerRPtr > castor3d::UserInputListener::doGetHandlers ( ) const
inlineprotected
Renvoie
Les gestionnaires, de manière thread-safe.

Références m_handlers, et m_mutexHandlers.

◆ doHasHandlers()

bool castor3d::UserInputListener::doHasHandlers ( ) const
inlineprotected
Renvoie
true s'il y a des gestionnaires.

Références m_handlers, et m_mutexHandlers.

◆ doRemoveHandler()

void castor3d::UserInputListener::doRemoveHandler ( EventHandler const &  handler)
inlineprotected

Supprime un gestionnaire.

Paramètres
[in]handlerLe gestionnaire.

Références doRemoveHandlerNL(), et m_mutexHandlers.

Voici le graphe d'appel pour cette fonction :

◆ doRemoveHandlerNL()

void castor3d::UserInputListener::doRemoveHandlerNL ( EventHandler const &  handler)
inlineprotected

Supprime un gestionnaire.

Paramètres
[in]handlerLe gestionnaire.

Références m_handlers.

Référencé par doRemoveHandler().

Voici le graphe des appelants de cette fonction :

◆ enableHandler()

C3D_API void castor3d::UserInputListener::enableHandler ( castor::String const &  handler)

Active un handler.

Paramètres
[in]handlerLe handler.

◆ fireChar()

C3D_API bool castor3d::UserInputListener::fireChar ( KeyboardKey  key,
castor::String const &  c 
)

Lance un évènement de caractère imprimable.

Paramètres
[in]keyLe code de la touche.
[in]cLe caractère correspondant à la touche, affichable tel quel.
Renvoie
true si l'évènement est traité par un gestionnaire.

◆ fireKeydown()

C3D_API bool castor3d::UserInputListener::fireKeydown ( KeyboardKey  key,
bool  ctrl,
bool  alt,
bool  shift 
)

Lance un évènement de touche de clavier appuyée.

Paramètres
[in]keyLe code de la touche.
[in]ctrlDit si la touche Ctrl est enfoncée.
[in]altDit si la touche Alt est enfoncée.
[in]shiftDit si la touche Shift est enfoncée.
Renvoie
true si l'évènement est traité par un gestionnaire.

◆ fireKeyUp()

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.

Paramètres
[in]keyLe code de la touche.
[in]ctrlDit si la touche Ctrl est enfoncée.
[in]altDit si la touche Alt est enfoncée.
[in]shiftDit si la touche Shift est enfoncée.
Renvoie
true si l'évènement est traité par un gestionnaire.

◆ fireMouseButtonPushed()

C3D_API bool castor3d::UserInputListener::fireMouseButtonPushed ( MouseButton  button,
bool  ctrl,
bool  alt,
bool  shift 
)

Lance un évènement de bouton de souris appuyé.

Paramètres
[in]buttonLe bouton de la souris.
[in]ctrlDit si la touche Ctrl est enfoncée.
[in]altDit si la touche Alt est enfoncée.
[in]shiftDit si la touche Shift est enfoncée.
Renvoie
true si l'évènement est traité par un gestionnaire.

◆ fireMouseButtonReleased()

C3D_API bool castor3d::UserInputListener::fireMouseButtonReleased ( MouseButton  button,
bool  ctrl,
bool  alt,
bool  shift 
)

Lance un évènement de bouton de souris relâché.

Paramètres
[in]buttonLe bouton de la souris.
[in]ctrlDit si la touche Ctrl est enfoncée.
[in]altDit si la touche Alt est enfoncée.
[in]shiftDit si la touche Shift est enfoncée.
Renvoie
true si l'évènement est traité par un gestionnaire.

◆ fireMouseMove()

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.

Paramètres
[in]positionLa position de la souris.
[in]ctrlDit si la touche Ctrl est enfoncée.
[in]altDit si la touche Alt est enfoncée.
[in]shiftDit si la touche Shift est enfoncée.
Renvoie
true si l'évènement est traité par un gestionnaire.

◆ fireMouseWheel()

C3D_API bool castor3d::UserInputListener::fireMouseWheel ( castor::Position const &  offsets,
bool  ctrl,
bool  alt,
bool  shift 
)

Lance un évènement de molette de souris.

Paramètres
[in]offsetsLes déplacements de la molette (x et y).
[in]ctrlDit si la touche Ctrl est enfoncée.
[in]altDit si la touche Alt est enfoncée.
[in]shiftDit si la touche Shift est enfoncée.
Renvoie
true si l'évènement est traité par un gestionnaire.

◆ getActiveControl()

EventHandlerRPtr castor3d::UserInputListener::getActiveControl ( ) const
inline

◆ getFocusedControl()

EventHandlerRPtr castor3d::UserInputListener::getFocusedControl ( ) const
inline

◆ getFrameListener()

FrameListener & castor3d::UserInputListener::getFrameListener ( ) const
inline

Références m_frameListener.

◆ getMousePosition()

castor::Position const & castor3d::UserInputListener::getMousePosition ( ) const
inline

◆ initialise()

C3D_API bool castor3d::UserInputListener::initialise ( )

Initialise le listener.

Renvoie
true, espérons :P.

◆ onClickAction()

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.

Paramètres
[in]handlerLe handler cliqué.

◆ onClipboardTextAction()

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.

Paramètres
[in]settrue pour définir le texte du presse-papier, false pour le récupérer.
[in]textLa valeur pour le presse-papier.
Renvoie
Le texte du presse-papier.

◆ onCursorAction()

C3D_API void castor3d::UserInputListener::onCursorAction ( MouseCursor  cursor) const

Evènement lorsque le cureur de souris est changé.

Paramètres
[in]cursorLe curseur.

◆ onExpandAction()

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.

Paramètres
[in]handlerLe handler.
[in]expandLa nouvelle valeur.

◆ onMouseMoveAction()

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.

Paramètres
[in]handlerLe handler.

◆ onSelectAction()

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é.

Paramètres
[in]handlerLe handler.
[in]indexL'indice de la sélection.

◆ onTextAction()

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é.

Paramètres
[in]handlerLe handler.
[in]textLe nouveau texte.

◆ processEvents()

C3D_API void castor3d::UserInputListener::processEvents ( )

Traite tous les évènements.

◆ registerClickAction()

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é.

Paramètres
[in]handlerLe handler cliqué.
[in]functionLa fonction.

◆ registerClipboardTextAction()

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é.

Paramètres
[in]functionLa fonction.

◆ registerCursorAction()

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é.

Paramètres
[in]functionLa fonction.

◆ registerExpandAction()

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é.

Paramètres
[in]handlerLe handler.
[in]functionLa fonction.

◆ registerMouseMoveAction()

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é.

Paramètres
[in]handlerLe handler.
[in]functionLa fonction.

◆ registerSelectAction()

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é.

Paramètres
[in]handlerLe handler.
[in]functionLa fonction.

◆ registerTextAction()

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é.

Paramètres
[in]handlerLe handler.
[in]functionLa fonction.

◆ unregisterClickAction()

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é.

Paramètres
[in]handlerLe handler cliqué.

◆ unregisterClipboardTextAction()

C3D_API void castor3d::UserInputListener::unregisterClipboardTextAction ( )

Désenregistre la fonction à appeler lorsqu'un évènement de presse-papier est lancé par le handler donné.

◆ unregisterCursorAction()

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é.

◆ unregisterExpandAction()

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é.

Paramètres
[in]handlerLe handler.

◆ unregisterMouseMoveAction()

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é.

Paramètres
[in]handlerLe handler.

◆ unregisterSelectAction()

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é.

Paramètres
[in]handlerLe handler.

◆ unregisterTextAction()

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é.

Paramètres
[in]handlerLe handler.

Documentation des données membres

◆ m_frameListener

FrameListenerRPtr castor3d::UserInputListener::m_frameListener
protected

Le frame listener associé.

Référencé par getFrameListener().

◆ m_handlers

std::vector< EventHandlerUPtr > castor3d::UserInputListener::m_handlers
protected

Le tableau de gestionnaires.

Référencé par doAddHandler(), doGetHandlers(), doHasHandlers(), et doRemoveHandlerNL().

◆ m_mutexHandlers

std::mutex castor3d::UserInputListener::m_mutexHandlers
mutableprotected

Le mutex de protection du tableau de gestionnaires.

Référencé par doAddHandler(), doGetHandlers(), doHasHandlers(), et doRemoveHandler().


La documentation de cette classe a été générée à partir du fichier suivant :