Castor3D 0.16.0
Multiplatform 3D engine
Public Types | Public Member Functions | Static Public Member Functions | List of all members
castor3d::PanelOverlay Class Reference

#include <PanelOverlay.hpp>

Inheritance diagram for castor3d::PanelOverlay:
Inheritance graph
[legend]
Collaboration diagram for castor3d::PanelOverlay:
Collaboration graph
[legend]

Public Types

enum class  ComputeBindingIdx { eCamera , eOverlays , eVertex }
 

Public Member Functions

C3D_API PanelOverlay ()
 Constructor.
 
C3D_API void accept (OverlayVisitor &visitor) const override
 Draws the overlay.
 
C3D_API uint32_t getCount (bool) const
 
- Public Member Functions inherited from castor3d::OverlayCategory
 CU_DeclareVector (Vertex, Vertex)
 
C3D_API OverlayCategory (OverlayType type)
 Constructor.
 
virtual C3D_API ~OverlayCategory () noexcept=default
 Destructor.
 
C3D_API void update (OverlayRenderer const &renderer)
 Updates the overlay position, size...
 
C3D_API void reset ()
 Marks this cetegory as clean.
 
virtual C3D_API void setMaterial (MaterialObs material)
 Sets the material.
 
C3D_API castor::String const & getOverlayName () const
 Retrieves the overlay name.
 
C3D_API castor::Position getAbsolutePosition (castor::Size const &size) const
 Retrieves the absolute overlay position, in pixels.
 
C3D_API castor::Size getAbsoluteSize (castor::Size const &size) const
 Retrieves the absolute overlay size, in pixels.
 
C3D_API castor::Point2d getRenderRatio (castor::Size const &size) const
 
C3D_API castor::Point2d getAbsolutePosition () const
 Retrieves the absolute overlay position.
 
C3D_API castor::Point2d getAbsoluteSize () const
 Retrieves the absolute overlay size.
 
C3D_API bool isSizeChanged () const
 
C3D_API bool isPositionChanged () const
 
C3D_API castor::Size computePixelSize () const
 Retrieves the overlay size.
 
C3D_API castor::Position computePixelPosition () const
 Retrieves the overlay position.
 
C3D_API castor::Point4d computeScissorRect () const
 Updates the scissor for this overlay.
 
virtual C3D_API bool isChanged () const noexcept
 
bool hasAnyChange () const noexcept
 
castor::Point4d const & getDisplayRect () const noexcept
 
castor::Point2d const & getRelativeSize () const noexcept
 
castor::Point2d const & getRelativePosition () const noexcept
 
OverlayType getType () const noexcept
 
bool isVisible () const noexcept
 
bool isDisplayable () const noexcept
 
MaterialObs getMaterial () const noexcept
 
uint32_t getIndex () const noexcept
 
uint32_t getLevel () const noexcept
 
Overlay const & getOverlay () const noexcept
 
OverlaygetOverlay () noexcept
 
castor::Point4d const & getUV () const noexcept
 
bool hasPixelPosition () const noexcept
 
bool hasPixelSize () const noexcept
 
castor::Position const & getPixelPosition () const noexcept
 
castor::Size const & getPixelSize () const noexcept
 
void setRelativePosition (castor::Point2d const &value) noexcept
 
void setRelativeSize (castor::Point2d const &value) noexcept
 
void setPixelPosition (castor::Position const &value) noexcept
 
void setPixelSize (castor::Size const &value) noexcept
 
void setOverlay (Overlay *value) noexcept
 
void setVisible (bool value) noexcept
 
void setOrder (uint32_t level, uint32_t index) noexcept
 
void setUV (castor::Point4d const &value) noexcept
 

Static Public Member Functions

static C3D_API OverlayCategoryUPtr create ()
 Creation function, used by the factory.
 
static C3D_API ashes::PipelineShaderStageCreateInfo createProgram (RenderDevice const &device)
 Creates the shader program used to compute the overlay's vertices.
 

Additional Inherited Members

- Protected Member Functions inherited from castor3d::OverlayCategory
C3D_API void updatePosition (OverlayRenderer const &renderer)
 Updates the overlay position, taking care of wanted pixel position.
 
C3D_API void updateSize (OverlayRenderer const &renderer)
 Updates the overlay size, taking care of wanted pixel size.
 
C3D_API void updateClientArea ()
 Updates the overlay size, taking care of wanted pixel size.
 
C3D_API castor::Point2d getParentSize () const
 
C3D_API bool isFullyCropped () const
 
- Protected Attributes inherited from castor3d::OverlayCategory
Overlaym_overlay { nullptr }
 
castor::Point2d m_relPosition
 
castor::Point2d m_relSize
 
std::optional< castor::Positionm_pxPosition
 
std::optional< castor::Sizem_pxSize
 
castor::Size m_computeSize
 
bool m_visible { true }
 
bool m_displayable { false }
 
MaterialObs m_material {}
 
uint32_t m_index { 0 }
 
uint32_t m_level { 0 }
 
OverlayType m_type
 
bool m_sizeChanged { true }
 
bool m_positionChanged { true }
 
castor::Point4d m_uv { 0.0, 0.0, 1.0, 1.0 }
 
castor::Point4d m_displayRect {}
 

Member Enumeration Documentation

◆ ComputeBindingIdx

Enumerator
eCamera 
eOverlays 
eVertex 

Constructor & Destructor Documentation

◆ PanelOverlay()

C3D_API castor3d::PanelOverlay::PanelOverlay ( )

Constructor.

Member Function Documentation

◆ accept()

C3D_API void castor3d::PanelOverlay::accept ( OverlayVisitor & visitor) const
overridevirtual

Draws the overlay.

Implements castor3d::OverlayCategory.

◆ create()

static C3D_API OverlayCategoryUPtr castor3d::PanelOverlay::create ( )
static

Creation function, used by the factory.

Returns
An overlay

◆ createProgram()

static C3D_API ashes::PipelineShaderStageCreateInfo castor3d::PanelOverlay::createProgram ( RenderDevice const & device)
static

Creates the shader program used to compute the overlay's vertices.

Returns
The program.

◆ getCount()

C3D_API uint32_t castor3d::PanelOverlay::getCount ( bool ) const
Returns
The vertex count needed for this overlay.

The documentation for this class was generated from the following file: