Castor3D 0.15.0
Multiplatform 3D engine
Fonctions membres publiques | Amis | Liste de tous les membres
Référence de la classe castor3d::Controlabstract

#include <CtrlControl.hpp>

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

Fonctions membres publiques

C3D_API Control (ControlType type, SceneRPtr scene, castor::String const &name, ControlStyleRPtr style, ControlRPtr parent, castor::Position const &position, castor::Size const &size, ControlFlagType flags=0, bool visible=true)
 
C3D_API ~Control () noexcept override
 
C3D_API void setStyle (ControlStyleRPtr value)
 
C3D_API void setPosition (castor::Position const &value)
 
C3D_API void setSize (castor::Size const &value)
 
C3D_API void setUV (castor::Point4d const &value)
 
C3D_API void setBorderSize (castor::Point4ui const &value)
 
C3D_API void setBorderInnerUV (castor::Point4d const &value)
 
C3D_API void setBorderOuterUV (castor::Point4d const &value)
 
C3D_API void setCaption (castor::U32String const &caption)
 
C3D_API void setVisible (bool value)
 
C3D_API castor::Position getAbsolutePosition () const
 
C3D_API bool isVisible () const
 
C3D_API bool isBackgroundInvisible () const
 
C3D_API ControlRPtr getChildControl (ControlID id) const
 
C3D_API std::array< bool, 4u > isInResizeRange (castor::Position const &position) const
 
template<ControlFlagTypeT FlagTypeT>
void addFlag (FlagTypeT flag)
 
template<ControlFlagTypeT FlagTypeT>
void addFlag (castor::FlagCombination< FlagTypeT > flag)
 
template<ControlFlagTypeT FlagTypeT>
void removeFlag (FlagTypeT flag)
 
template<ControlFlagTypeT FlagTypeT>
void removeFlag (castor::FlagCombination< FlagTypeT > flag)
 
- Fonctions membres publiques hérités de castor3d::NonClientEventHandler< Control >
 NonClientEventHandler (castor::String const &name, bool catchMouseEvents)
 Constructeur.
 
void connectNC (MouseEventType event, NonClientMouseFunction function)
 Connecte un fonction à un évènement souris non client.
 
void connectNC (KeyboardEventType event, NonClientKeyboardFunction function)
 Connecte un fonction à un évènement clavier non client.
 
void connectNC (HandlerEventType event, NonClientHandlerFunction function)
 Connecte un fonction à un évènement gestionnaire non client.
 
- Fonctions membres publiques hérités de castor3d::EventHandler
void pushEvent (MouseEvent const &event)
 Ajoute un évènement de souris à la file.
 
void connect (MouseEventType event, ClientMouseFunction function)
 Connecte un fonction à un évènement souris.
 
bool catchesMouseEvents () const
 
void setCatchesMouseEvents (bool value)
 
void pushEvent (KeyboardEvent const &event)
 Ajoute un évènement de clavier à la file.
 
void connect (KeyboardEventType event, ClientKeyboardFunction function)
 Connecte un fonction à un évènement clavier.
 
bool catchesTabKey () const
 
bool catchesReturnKey () const
 
 EventHandler (castor::String const &name, bool catchMouseEvents)
 Constructeur.
 
virtual ~EventHandler ()
 Destructeur.
 
void processEvents ()
 Traite tous les évènement dans la file.
 
bool isEnabled () const
 
void enable ()
 
void disable ()
 
void pushEvent (HandlerEvent const &event)
 Ajoute un évènement de gestionnaire à la file.
 
void connect (HandlerEventType event, ClientHandlerFunction function)
 Connecte un fonction à un évènement gestionnaire.
 

Amis

class ControlsManager
 
class ScrollableCtrl
 
class ProgressCtrl
 

Getters

OnControlChanged onChanged
 
SceneRPtr m_scene {}
 
ControlRPtr m_parent {}
 The parent control, if any.
 
MaterialObs m_backgroundMaterial {}
 The background material.
 
MaterialObs m_foregroundMaterial {}
 The foreground material.
 
ControlFlagType m_flags {}
 The control flgas.
 
C3D_API castor::Point4d const & getBorderInnerUV () const
 
C3D_API castor::Point4d const & getBorderOuterUV () const
 
C3D_API BorderPosition getBorderPosition () const
 
C3D_API castor::Point4d const & getUV () const
 
C3D_API bool isBackgroundVisible () const
 
ControlID getId () const noexcept
 
ControlType getType () const noexcept
 
uint64_t getFlags () const noexcept
 
castor::Position const & getPosition () const noexcept
 
castor::Size const & getSize () const noexcept
 
ControlRPtr getParent () const noexcept
 
castor::Point4ui const & getBorderSize () const noexcept
 
ControlsManagerRPtr getControlsManager () const noexcept
 
MouseCursor getCursor () const noexcept
 
EnginegetEngine () const noexcept
 
ControlStyle const & getBaseStyle () const noexcept
 
std::vector< ControlRPtr > const & getChildren () const noexcept
 
bool hasScene () const noexcept
 
ScenegetScene () const noexcept
 
uint32_t getResizeBorderSize () const noexcept
 
castor::Point4ui const & getClientRect () const noexcept
 
castor::Position getClientOffset () const
 
castor::Size getClientSize () const
 
bool isAlwaysOnTop () const noexcept
 
bool isMovable () const noexcept
 
bool isResizable () const noexcept
 
void show ()
 
void hide ()
 
C3D_API OverlaygetBackgroundOverlay ()
 
C3D_API void setBackgroundMaterial (MaterialObs value)
 
C3D_API void setBackgroundSize (castor::Size const &value)
 
C3D_API void setBackgroundBorderPosition (BorderPosition value)
 
C3D_API void setBackgroundBorderMaterial (MaterialObs value)
 
C3D_API void create (ControlsManager &ctrlManager)
 
C3D_API void destroy ()
 
C3D_API void addChild (ControlRPtr control)
 
C3D_API void removeChild (ControlRPtr control)
 
ControlStylegetBaseStyle ()
 

Membres hérités additionnels

- Types publics hérités de castor3d::NonClientEventHandler< Control >
using DerivedPtr = Control *
 
using ClientMouseFunction = EventHandler::ClientMouseFunction
 
using ClientKeyboardFunction = EventHandler::ClientKeyboardFunction
 
using ClientHandlerFunction = EventHandler::ClientHandlerFunction
 
using NonClientMouseFunction = std::function< void(DerivedPtr, MouseEvent const &) >
 
using NonClientKeyboardFunction = std::function< void(DerivedPtr, KeyboardEvent const &) >
 
using NonClientHandlerFunction = std::function< void(DerivedPtr, HandlerEvent const &) >
 
using OnNonClientMouseEvent = castor::SignalT< NonClientMouseFunction >
 
using OnNonClientKeyboardEvent = castor::SignalT< NonClientKeyboardFunction >
 
using OnNonClientHandlerEvent = castor::SignalT< NonClientHandlerFunction >
 
using OnNonClientMouseEventConnection = typename OnNonClientMouseEvent::connection
 
using OnNonClientKeyboardEventConnection = typename OnNonClientKeyboardEvent::connection
 
using OnNonClientHandlerEventConnection = typename OnNonClientHandlerEvent::connection
 
- Types publics hérités de castor3d::EventHandler
using ClientMouseFunction = std::function< void(MouseEvent const &) >
 
using ClientKeyboardFunction = std::function< void(KeyboardEvent const &) >
 
using ClientHandlerFunction = std::function< void(HandlerEvent const &) >
 
using EnableFunction = std::function< void(bool) >
 
using OnClientMouseEvent = castor::SignalT< ClientMouseFunction >
 
using OnClientKeyboardEvent = castor::SignalT< ClientKeyboardFunction >
 
using OnClientHandlerEvent = castor::SignalT< ClientHandlerFunction >
 
using OnEnable = castor::SignalT< EnableFunction >
 
using OnClientMouseEventConnection = OnClientMouseEvent::connection
 
using OnClientKeyboardEventConnection = OnClientKeyboardEvent::connection
 
using OnClientHandlerEventConnection = OnClientHandlerEvent::connection
 
using OnEnableConnection = OnEnable::connection
 
- Attributs publics hérités de castor3d::EventHandler
OnEnable onEnable
 
- Types protégés hérités de castor3d::NonClientEventHandler< Control >
using EventHandlerFunction = EventHandler::EventHandlerFunction
 
using EventQueue = EventHandler::EventQueue
 
- Types protégés hérités de castor3d::EventHandler
using EventHandlerFunction = std::function< void() >
 
using EventQueue = std::deque< std::pair< UserInputEventSPtr, EventHandlerFunction > >
 
- Fonctions membres protégées hérités de castor3d::EventHandler
void processMouseEvent (MouseEventSPtr event)
 Fonction de traitement d'un évènement souris.
 
void processKeyboardEvent (KeyboardEventSPtr event)
 Fonction de traitement d'un évènement clavier.
 
void processHandlerEvent (HandlerEventSPtr event)
 Fonction de traitement d'un évènement de gestionnaire.
 
- Attributs protégés hérités de castor3d::NonClientEventHandler< Control >
std::array< OnNonClientMouseEvent, size_t(MouseEventType::eCount) > m_ncMouseSlots
 
std::array< std::vector< OnNonClientMouseEventConnection >, size_t(MouseEventType::eCount) > m_ncMouseSlotsConnections
 
std::array< OnNonClientKeyboardEvent, size_t(KeyboardEventType::eCount) > m_ncKeyboardSlots
 
std::array< std::vector< OnNonClientKeyboardEventConnection >, size_t(KeyboardEventType::eCount) > m_ncKeyboardSlotsConnections
 
std::array< OnNonClientHandlerEvent, size_t(HandlerEventType::eCount) > m_ncHandlerSlots
 
std::array< std::vector< OnNonClientHandlerEventConnection >, size_t(HandlerEventType::eCount) > m_ncHandlerSlotsConnections
 
- Attributs protégés hérités de castor3d::EventHandler
std::array< OnClientMouseEvent, size_t(MouseEventType::eCount) > m_mouseSlots
 
std::array< std::vector< OnClientMouseEventConnection >, size_t(MouseEventType::eCount) > m_mouseSlotsConnections
 
std::array< OnClientKeyboardEvent, size_t(KeyboardEventType::eCount) > m_keyboardSlots
 
std::array< std::vector< OnClientKeyboardEventConnection >, size_t(KeyboardEventType::eCount) > m_keyboardSlotsConnections
 
std::array< OnClientHandlerEvent, size_t(HandlerEventType::eCount) > m_handlerSlots
 
std::array< std::vector< OnClientHandlerEventConnection >, size_t(HandlerEventType::eCount) > m_handlerSlotsConnections
 

Documentation des constructeurs et destructeur

◆ Control()

C3D_API castor3d::Control::Control ( ControlType  type,
SceneRPtr  scene,
castor::String const &  name,
ControlStyleRPtr  style,
ControlRPtr  parent,
castor::Position const &  position,
castor::Size const &  size,
ControlFlagType  flags = 0,
bool  visible = true 
)

Constructor.

Paramètres
[in]typeThe type.
[in]sceneThe parent scene (nullptr for global).
[in]nameThe control name.
[in]styleThe control's style.
[in]parentThe parent control, if any.
[in]positionThe position.
[in]sizeThe size.
[in]flagsThe configuration flags
[in]visibleInitial visibility status.

◆ ~Control()

C3D_API castor3d::Control::~Control ( )
overridenoexcept

Documentation des fonctions membres

◆ addChild()

C3D_API void castor3d::Control::addChild ( ControlRPtr  control)
protected

Adds a child control.

◆ addFlag() [1/2]

template<ControlFlagTypeT FlagTypeT>
void castor3d::Control::addFlag ( castor::FlagCombination< FlagTypeT >  flag)
inline

Adds a flag.

Références m_flags.

◆ addFlag() [2/2]

template<ControlFlagTypeT FlagTypeT>
void castor3d::Control::addFlag ( FlagTypeT  flag)
inline

Adds a flag.

Références m_flags.

◆ create()

C3D_API void castor3d::Control::create ( ControlsManager ctrlManager)
protected

Creates the control's overlays.

Paramètres
[in]ctrlManagerThe controls manager.

◆ destroy()

C3D_API void castor3d::Control::destroy ( )
protected

Destroys the control's overlays.

◆ getAbsolutePosition()

C3D_API castor::Position castor3d::Control::getAbsolutePosition ( ) const

Retrieves the absolute control position.

Renvoie
The value.

◆ getBackgroundOverlay()

C3D_API Overlay & castor3d::Control::getBackgroundOverlay ( )
protected
Renvoie
The background overlay.

◆ getBaseStyle() [1/2]

ControlStyle & castor3d::Control::getBaseStyle ( )
inlineprotected

◆ getBaseStyle() [2/2]

ControlStyle const & castor3d::Control::getBaseStyle ( ) const
inlinenoexcept

◆ getBorderInnerUV()

C3D_API castor::Point4d const & castor3d::Control::getBorderInnerUV ( ) const

◆ getBorderOuterUV()

C3D_API castor::Point4d const & castor3d::Control::getBorderOuterUV ( ) const

◆ getBorderPosition()

C3D_API BorderPosition castor3d::Control::getBorderPosition ( ) const

◆ getBorderSize()

castor::Point4ui const & castor3d::Control::getBorderSize ( ) const
inlinenoexcept

◆ getChildControl()

C3D_API ControlRPtr castor3d::Control::getChildControl ( ControlID  id) const

Retrieves a control.

Paramètres
[in]idThe control ID.

◆ getChildren()

std::vector< ControlRPtr > const & castor3d::Control::getChildren ( ) const
inlinenoexcept

◆ getClientOffset()

castor::Position castor3d::Control::getClientOffset ( ) const
inline

◆ getClientRect()

castor::Point4ui const & castor3d::Control::getClientRect ( ) const
inlinenoexcept

◆ getClientSize()

castor::Size castor3d::Control::getClientSize ( ) const
inline

◆ getControlsManager()

ControlsManagerRPtr castor3d::Control::getControlsManager ( ) const
inlinenoexcept

◆ getCursor()

MouseCursor castor3d::Control::getCursor ( ) const
inlinenoexcept

◆ getEngine()

Engine & castor3d::Control::getEngine ( ) const
inlinenoexcept

◆ getFlags()

uint64_t castor3d::Control::getFlags ( ) const
inlinenoexcept

◆ getId()

ControlID castor3d::Control::getId ( ) const
inlinenoexcept

◆ getParent()

ControlRPtr castor3d::Control::getParent ( ) const
inlinenoexcept

Références m_parent.

◆ getPosition()

castor::Position const & castor3d::Control::getPosition ( ) const
inlinenoexcept

◆ getResizeBorderSize()

uint32_t castor3d::Control::getResizeBorderSize ( ) const
inlinenoexcept

◆ getScene()

Scene & castor3d::Control::getScene ( ) const
inlinenoexcept

Références hasScene(), et m_scene.

Voici le graphe d'appel pour cette fonction :

◆ getSize()

castor::Size const & castor3d::Control::getSize ( ) const
inlinenoexcept

◆ getType()

ControlType castor3d::Control::getType ( ) const
inlinenoexcept

◆ getUV()

C3D_API castor::Point4d const & castor3d::Control::getUV ( ) const

◆ hasScene()

bool castor3d::Control::hasScene ( ) const
inlinenoexcept

Références m_scene.

Référencé par getScene().

Voici le graphe des appelants de cette fonction :

◆ hide()

void castor3d::Control::hide ( )
inline

Hides the control

Références setVisible().

Voici le graphe d'appel pour cette fonction :

◆ isAlwaysOnTop()

bool castor3d::Control::isAlwaysOnTop ( ) const
inlinenoexcept
Renvoie
The always on top status of the control.

Références castor3d::eAlwaysOnTop, et getFlags().

Voici le graphe d'appel pour cette fonction :

◆ isBackgroundInvisible()

C3D_API bool castor3d::Control::isBackgroundInvisible ( ) const
inline

Retrieves the background invisibility status.

Renvoie
true if the background is invisible, making the control not targetable (but it's children still are).

◆ isBackgroundVisible()

C3D_API bool castor3d::Control::isBackgroundVisible ( ) const

◆ isInResizeRange()

C3D_API std::array< bool, 4u > castor3d::Control::isInResizeRange ( castor::Position const &  position) const

Checks if the position is on any border (N, W, S, E).

Paramètres
[in]positionThe position to check for.
Renvoie
One bool per direction.

◆ isMovable()

bool castor3d::Control::isMovable ( ) const
inlinenoexcept
Renvoie
The movable status of the control.

Références castor3d::eMovable, et getFlags().

Voici le graphe d'appel pour cette fonction :

◆ isResizable()

bool castor3d::Control::isResizable ( ) const
inlinenoexcept
Renvoie
The resizable status of the control.

Références castor3d::eResizable, et getFlags().

Voici le graphe d'appel pour cette fonction :

◆ isVisible()

C3D_API bool castor3d::Control::isVisible ( ) const

Retrieves the visibility status.

Renvoie
The value.

◆ removeChild()

C3D_API void castor3d::Control::removeChild ( ControlRPtr  control)
protected

Removes a child control.

◆ removeFlag() [1/2]

template<ControlFlagTypeT FlagTypeT>
void castor3d::Control::removeFlag ( castor::FlagCombination< FlagTypeT >  flag)
inline

Removes a flag.

Références m_flags.

◆ removeFlag() [2/2]

template<ControlFlagTypeT FlagTypeT>
void castor3d::Control::removeFlag ( FlagTypeT  flag)
inline

Removes a flag.

Références m_flags.

◆ setBackgroundBorderMaterial()

C3D_API void castor3d::Control::setBackgroundBorderMaterial ( MaterialObs  value)
protected

Sets the background borders material.

Paramètres
[in]valueThe new value.

◆ setBackgroundBorderPosition()

C3D_API void castor3d::Control::setBackgroundBorderPosition ( BorderPosition  value)
protected

Sets the background borders position.

Paramètres
[in]valueThe new value.

◆ setBackgroundMaterial()

C3D_API void castor3d::Control::setBackgroundMaterial ( MaterialObs  value)
protected

Sets the background material.

Paramètres
[in]valueThe new value.

◆ setBackgroundSize()

C3D_API void castor3d::Control::setBackgroundSize ( castor::Size const &  value)
protected

Sets the background size.

Paramètres
[in]valueThe new value.

◆ setBorderInnerUV()

C3D_API void castor3d::Control::setBorderInnerUV ( castor::Point4d const &  value)

Sets the background borders inner UV.

Paramètres
[in]valueThe new value.

◆ setBorderOuterUV()

C3D_API void castor3d::Control::setBorderOuterUV ( castor::Point4d const &  value)

Sets the background borders outer UV.

Paramètres
[in]valueThe new value.

◆ setBorderSize()

C3D_API void castor3d::Control::setBorderSize ( castor::Point4ui const &  value)

Sets the background borders size.

Paramètres
[in]valueThe new value.

◆ setCaption()

C3D_API void castor3d::Control::setCaption ( castor::U32String const &  caption)

Sets the caption.

Paramètres
[in]captionThe new value

Référencé par castor3d::FrameCtrl::setHeaderCaption().

Voici le graphe des appelants de cette fonction :

◆ setPosition()

C3D_API void castor3d::Control::setPosition ( castor::Position const &  value)

Sets the position.

Paramètres
[in]valueThe new value.

◆ setSize()

C3D_API void castor3d::Control::setSize ( castor::Size const &  value)

Sets the size.

Paramètres
[in]valueThe new value.

◆ setStyle()

C3D_API void castor3d::Control::setStyle ( ControlStyleRPtr  value)

Sets the style

Paramètres
[in]valueThe new value

◆ setUV()

C3D_API void castor3d::Control::setUV ( castor::Point4d const &  value)

Sets the background centerUV.

Paramètres
[in]valueThe new value.

◆ setVisible()

C3D_API void castor3d::Control::setVisible ( bool  value)

Sets the visibility

Paramètres
[in]valueThe new value.

Référencé par hide(), et show().

Voici le graphe des appelants de cette fonction :

◆ show()

void castor3d::Control::show ( )
inline

Shows the control

Références setVisible().

Voici le graphe d'appel pour cette fonction :

Documentation des fonctions amies et associées

◆ ControlsManager

friend class ControlsManager
friend

◆ ProgressCtrl

friend class ProgressCtrl
friend

◆ ScrollableCtrl

friend class ScrollableCtrl
friend

Documentation des données membres

◆ m_backgroundMaterial

MaterialObs castor3d::Control::m_backgroundMaterial {}
protected

The background material.

◆ m_flags

ControlFlagType castor3d::Control::m_flags {}
protected

The control flgas.

Référencé par addFlag(), getFlags(), et removeFlag().

◆ m_foregroundMaterial

MaterialObs castor3d::Control::m_foregroundMaterial {}
protected

The foreground material.

◆ m_parent

ControlRPtr castor3d::Control::m_parent {}
protected

The parent control, if any.

Référencé par getParent().

◆ m_scene

SceneRPtr castor3d::Control::m_scene {}
protected

Référencé par getScene(), et hasScene().

◆ onChanged

OnControlChanged castor3d::Control::onChanged

Signal called when position, size, borders or visibility are changed.


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