Castor3D 0.16.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 = castor::Function< void() >
 
using OnMouseMoveActionFunction = castor::Function< void( castor::Position const & ) >
 
using OnSelectActionFunction = castor::Function< void( int ) >
 
using OnTextActionFunction = castor::Function< void( castor::U32String const & ) >
 
using OnExpandActionFunction = castor::Function< void( bool ) >
 
using OnClipboardTextActionFunction = castor::Function< castor::U32String( bool, castor::U32String ) >
 
using OnCursorActionFunction = castor::Function< void( MouseCursor ) >
 

Fonctions membres publiques

General
 UserInputListener (UserInputListener const &)=delete
 
 UserInputListener (UserInputListener &&) noexcept=delete
 
UserInputListeneroperator= (UserInputListener const &)=delete
 
UserInputListeneroperator= (UserInputListener &&) noexcept=delete
 
C3D_API UserInputListener (Engine &engine, castor::String const &name)
 Constructeur.
 
virtual C3D_API ~UserInputListener () noexcept=default
 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.
 
- Fonctions membres publiques hérités de castor::OwnedBy< Engine >
Engine * getOwner () const
 L'objet propriétaire.
 

Keyboard input events

castor::Mutex m_mutexHandlers
 
castor::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.
 
castor::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.
 

Membres hérités additionnels

- Fonctions membres protégées hérités de castor::OwnedBy< Engine >
 OwnedBy (Engine &owner)
 Constructeur.
 

Documentation des définitions de type membres

◆ OnClickActionFunction

◆ OnClipboardTextActionFunction

◆ OnCursorActionFunction

◆ OnExpandActionFunction

◆ OnMouseMoveActionFunction

◆ OnSelectActionFunction

◆ OnTextActionFunction

Documentation des constructeurs et destructeur

◆ UserInputListener() [1/3]

castor3d::UserInputListener::UserInputListener ( UserInputListener const & )
delete

◆ UserInputListener() [2/3]

castor3d::UserInputListener::UserInputListener ( UserInputListener && )
deletenoexcept

◆ UserInputListener() [3/3]

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 ( )
virtualdefaultnoexcept

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 CU_Exception, m_handlers, m_mutexHandlers, et castor::makeUniqueLock().

Voici le graphe d'appel pour cette fonction :

◆ doGetHandlers()

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

Références m_handlers, m_mutexHandlers, et castor::makeUniqueLock().

Voici le graphe d'appel pour cette fonction :

◆ doHasHandlers()

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

Références m_handlers, m_mutexHandlers, et castor::makeUniqueLock().

Voici le graphe d'appel pour cette fonction :

◆ doRemoveHandler()

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

Supprime un gestionnaire.

Paramètres
[in]handlerLe gestionnaire.

Références doRemoveHandlerNL(), m_mutexHandlers, et castor::makeUniqueLock().

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.

◆ operator=() [1/2]

UserInputListener & castor3d::UserInputListener::operator= ( UserInputListener && )
deletenoexcept

◆ operator=() [2/2]

UserInputListener & castor3d::UserInputListener::operator= ( UserInputListener const & )
delete

◆ 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

castor::Vector< EventHandlerUPtr > castor3d::UserInputListener::m_handlers
protected

Le tableau de gestionnaires.

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

◆ m_mutexHandlers

castor::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 :