Castor3D 0.16.0
Multiplatform 3D engine
|
#include <BorderPanelOverlay.hpp>
Public Types | |
enum class | ComputeBindingIdx { eCamera , eOverlays , eVertex } |
Public Member Functions | |
C3D_API | BorderPanelOverlay () |
Constructor. | |
C3D_API void | accept (OverlayVisitor &visitor) const override |
Draws the overlay. | |
C3D_API uint32_t | getCount (bool borders) const |
C3D_API void | setBorderMaterial (MaterialObs material) |
Sets the border material. | |
C3D_API castor::Point4ui | getAbsoluteBorderSize (castor::Size const &size) const |
Retrieves the absolute overlay borders size, in pixels. | |
C3D_API castor::Point4d | getAbsoluteBorderSize () const |
Retrieves the absolute overlay borders size. | |
C3D_API castor::Point4ui | computePixelBorderSize () const |
Retrieves the absolute overlay borders size. | |
Getters. | |
bool | isChanged () const noexcept override |
double | getRelativeLeftBorderSize () const noexcept |
double | getRelativeTopBorderSize () const noexcept |
double | getRelativeRightBorderSize () const noexcept |
double | getRelativeBottomBorderSize () const noexcept |
castor::Point4d const & | getRelativeBorderSize () const noexcept |
bool | hasPixelBorderSize () const noexcept |
uint32_t | getPixelLeftBorderSize () const noexcept |
uint32_t | getPixelTopBorderSize () const noexcept |
uint32_t | getPixelRightBorderSize () const noexcept |
uint32_t | getPixelBottomBorderSize () const noexcept |
castor::Point4ui const & | getPixelBorderSize () const noexcept |
MaterialObs | getBorderMaterial () const noexcept |
BorderPosition | getBorderPosition () const noexcept |
castor::Point4d const & | getBorderOuterUV () const noexcept |
castor::Point4d const & | getBorderInnerUV () const noexcept |
Mutators. | |
void | setRelativeLeftBorderSize (double size) noexcept |
void | setRelativeTopBorderSize (double size) noexcept |
void | setRelativeRightBorderSize (double size) noexcept |
void | setRelativeBottomBorderSize (double size) noexcept |
void | setRelativeBorderSize (castor::Point4d const &size) noexcept |
void | setPixelLeftBorderSize (uint32_t size) noexcept |
void | setPixelRightBorderSize (uint32_t size) noexcept |
void | setPixelTopBorderSize (uint32_t size) noexcept |
void | setPixelBottomBorderSize (uint32_t size) noexcept |
void | setPixelBorderSize (castor::Point4ui const &size) noexcept |
void | setBorderPosition (BorderPosition position) noexcept |
void | setBorderOuterUV (castor::Point4d const &value) noexcept |
void | setBorderInnerUV (castor::Point4d const &value) noexcept |
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. | |
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 |
Overlay & | getOverlay () 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 | |
Overlay * | m_overlay { nullptr } |
castor::Point2d | m_relPosition |
castor::Point2d | m_relSize |
std::optional< castor::Position > | m_pxPosition |
std::optional< castor::Size > | m_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 {} |
|
strong |
C3D_API castor3d::BorderPanelOverlay::BorderPanelOverlay | ( | ) |
Constructor.
|
overridevirtual |
Draws the overlay.
Implements castor3d::OverlayCategory.
C3D_API castor::Point4ui castor3d::BorderPanelOverlay::computePixelBorderSize | ( | ) | const |
Retrieves the absolute overlay borders size.
|
static |
Creation function, used by the factory.
|
static |
Creates the shader program used to compute the overlay's vertices.
C3D_API castor::Point4d castor3d::BorderPanelOverlay::getAbsoluteBorderSize | ( | ) | const |
Retrieves the absolute overlay borders size.
C3D_API castor::Point4ui castor3d::BorderPanelOverlay::getAbsoluteBorderSize | ( | castor::Size const & | size | ) | const |
Retrieves the absolute overlay borders size, in pixels.
[in] | size | The screen size |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
C3D_API uint32_t castor3d::BorderPanelOverlay::getCount | ( | bool | borders | ) | const |
[in] | borders | true for borders, false for center. |
|
inlinenoexcept |
References CU_Require, and hasPixelBorderSize().
Referenced by getPixelBottomBorderSize(), getPixelLeftBorderSize(), getPixelRightBorderSize(), and getPixelTopBorderSize().
|
inlinenoexcept |
References CU_Require, getPixelBorderSize(), and hasPixelBorderSize().
|
inlinenoexcept |
References CU_Require, getPixelBorderSize(), and hasPixelBorderSize().
|
inlinenoexcept |
References CU_Require, getPixelBorderSize(), and hasPixelBorderSize().
|
inlinenoexcept |
References CU_Require, getPixelBorderSize(), and hasPixelBorderSize().
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
Referenced by getPixelBorderSize(), getPixelBottomBorderSize(), getPixelLeftBorderSize(), getPixelRightBorderSize(), and getPixelTopBorderSize().
|
inlineoverridevirtualnoexcept |
Reimplemented from castor3d::OverlayCategory.
|
inlinenoexcept |
C3D_API void castor3d::BorderPanelOverlay::setBorderMaterial | ( | MaterialObs | material | ) |
Sets the border material.
[in] | material | The new value |
|
inlinenoexcept |
|
inlinenoexcept |
References castor3d::OverlayCategory::m_sizeChanged.
|
inlinenoexcept |
References castor3d::OverlayCategory::m_sizeChanged.
|
inlinenoexcept |
References castor3d::OverlayCategory::m_sizeChanged.
|
inlinenoexcept |
References castor3d::OverlayCategory::m_sizeChanged.
|
inlinenoexcept |
References castor3d::OverlayCategory::m_sizeChanged.
|
inlinenoexcept |
References castor3d::OverlayCategory::m_sizeChanged.
|
inlinenoexcept |
References castor3d::OverlayCategory::m_sizeChanged.
|
inlinenoexcept |
References castor3d::OverlayCategory::m_sizeChanged.
|
inlinenoexcept |
References castor3d::OverlayCategory::m_sizeChanged.
|
inlinenoexcept |
References castor3d::OverlayCategory::m_sizeChanged.
|
inlinenoexcept |
References castor3d::OverlayCategory::m_sizeChanged.