Overload  1.1
Game engine with editor
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
OvEditor::Panels::AView Class Referenceabstract

#include <AView.h>

Inheritance diagram for OvEditor::Panels::AView:
OvUI::Panels::PanelWindow OvUI::Panels::APanelTransformable OvUI::Panels::APanel OvUI::API::IDrawable OvUI::Internal::WidgetContainer OvEditor::Panels::AViewControllable OvEditor::Panels::GameView OvEditor::Panels::AssetView OvEditor::Panels::SceneView

Public Member Functions

 AView (const std::string &p_title, bool p_opened, const OvUI::Settings::PanelWindowSettings &p_windowSettings)
 
virtual void Update (float p_deltaTime)
 
void _Draw_Impl () override
 
virtual void _Render_Impl ()=0
 
void Render ()
 
void SetCameraPosition (const OvMaths::FVector3 &p_position)
 
const OvMaths::FVector3GetCameraPosition () const
 
OvRendering::LowRenderer::CameraGetCamera ()
 
std::pair< uint16_t, uint16_t > GetSafeSize () const
 
const OvMaths::FVector3GetGridColor () const
 
void SetGridColor (const OvMaths::FVector3 &p_color)
 
void FillEngineUBO ()
 
- Public Member Functions inherited from OvUI::Panels::PanelWindow
 PanelWindow (const std::string &p_name="", bool p_opened=true, const Settings::PanelWindowSettings &p_panelSettings=Settings::PanelWindowSettings{})
 
void Open ()
 
void Close ()
 
void Focus ()
 
void SetOpened (bool p_value)
 
bool IsOpened () const
 
bool IsHovered () const
 
bool IsFocused () const
 
bool IsAppearing () const
 
- Public Member Functions inherited from OvUI::Panels::APanelTransformable
 APanelTransformable (const OvMaths::FVector2 &p_defaultPosition=OvMaths::FVector2(-1.f, -1.f), const OvMaths::FVector2 &p_defaultSize=OvMaths::FVector2(-1.f, -1.f), Settings::EHorizontalAlignment p_defaultHorizontalAlignment=Settings::EHorizontalAlignment::LEFT, Settings::EVerticalAlignment p_defaultVerticalAlignment=Settings::EVerticalAlignment::TOP, bool p_ignoreConfigFile=false)
 
void SetPosition (const OvMaths::FVector2 &p_position)
 
void SetSize (const OvMaths::FVector2 &p_size)
 
void SetAlignment (Settings::EHorizontalAlignment p_horizontalAlignment, Settings::EVerticalAlignment p_verticalAligment)
 
const OvMaths::FVector2GetPosition () const
 
const OvMaths::FVector2GetSize () const
 
Settings::EHorizontalAlignment GetHorizontalAlignment () const
 
Settings::EVerticalAlignment GetVerticalAlignment () const
 
- Public Member Functions inherited from OvUI::Panels::APanel
 APanel ()
 
void Draw () override
 
const std::string & GetPanelID () const
 
- Public Member Functions inherited from OvUI::Internal::WidgetContainer
void RemoveWidget (Widgets::AWidget &p_widget)
 
void RemoveAllWidgets ()
 
void ConsiderWidget (Widgets::AWidget &p_widget, bool p_manageMemory=true)
 
void UnconsiderWidget (Widgets::AWidget &p_widget)
 
void CollectGarbages ()
 
void DrawWidgets ()
 
template<typename T , typename ... Args>
T & CreateWidget (Args &&... p_args)
 
std::vector< std::pair< OvUI::Widgets::AWidget *, Internal::EMemoryMode > > & GetWidgets ()
 

Protected Member Functions

void PrepareCamera ()
 
- Protected Member Functions inherited from OvUI::Panels::PanelWindow
void _Draw_Impl () override
 
- Protected Member Functions inherited from OvUI::Panels::APanelTransformable
void Update ()
 

Protected Attributes

OvEditor::Core::EditorRendererm_editorRenderer
 
OvRendering::LowRenderer::Camera m_camera
 
OvMaths::FVector3 m_cameraPosition
 
OvUI::Widgets::Visual::Imagem_image
 
OvMaths::FVector3 m_gridColor = OvMaths::FVector3::One
 
OvRendering::Buffers::Framebuffer m_fbo
 
- Protected Attributes inherited from OvUI::Panels::APanelTransformable
OvMaths::FVector2 m_defaultPosition
 
OvMaths::FVector2 m_defaultSize
 
Settings::EHorizontalAlignment m_defaultHorizontalAlignment
 
Settings::EVerticalAlignment m_defaultVerticalAlignment
 
bool m_ignoreConfigFile
 
OvMaths::FVector2 m_position = OvMaths::FVector2(0.0f, 0.0f)
 
OvMaths::FVector2 m_size = OvMaths::FVector2(0.0f, 0.0f)
 
bool m_positionChanged = false
 
bool m_sizeChanged = false
 
Settings::EHorizontalAlignment m_horizontalAlignment = Settings::EHorizontalAlignment::LEFT
 
Settings::EVerticalAlignment m_verticalAlignment = Settings::EVerticalAlignment::TOP
 
bool m_alignmentChanged = false
 
bool m_firstFrame = true
 
- Protected Attributes inherited from OvUI::Panels::APanel
std::string m_panelID
 
- Protected Attributes inherited from OvUI::Internal::WidgetContainer
std::vector< std::pair< OvUI::Widgets::AWidget *, Internal::EMemoryMode > > m_widgets
 

Additional Inherited Members

- Public Attributes inherited from OvUI::Panels::PanelWindow
std::string name
 
OvMaths::FVector2 minSize = { 0.f, 0.f }
 
OvMaths::FVector2 maxSize = { 0.f, 0.f }
 
bool resizable = true
 
bool closable = false
 
bool movable = true
 
bool dockable = false
 
bool hideBackground = false
 
bool forceHorizontalScrollbar = false
 
bool forceVerticalScrollbar = false
 
bool allowHorizontalScrollbar = false
 
bool bringToFrontOnFocus = true
 
bool collapsable = false
 
bool allowInputs = true
 
OvTools::Eventing::Event OpenEvent
 
OvTools::Eventing::Event CloseEvent
 
- Public Attributes inherited from OvUI::Panels::APanelTransformable
bool autoSize = true
 
- Public Attributes inherited from OvUI::Panels::APanel
bool enabled = true
 

Detailed Description

Base class for any view

Constructor & Destructor Documentation

◆ AView()

OvEditor::Panels::AView::AView ( const std::string &  p_title,
bool  p_opened,
const OvUI::Settings::PanelWindowSettings p_windowSettings 
)

Constructor

Parameters
p_title
p_opened
p_windowSettings@project: Overload
Author
: Overload Tech. @restrictions: This software may not be resold, redistributed or otherwise conveyed to a third party.

Member Function Documentation

◆ _Draw_Impl()

void OvEditor::Panels::AView::_Draw_Impl ( )
overridevirtual

Custom implementation of the draw method

Implements OvUI::Panels::APanelTransformable.

◆ _Render_Impl()

virtual void OvEditor::Panels::AView::_Render_Impl ( )
pure virtual

Custom implementation of the render method to define in dervied classes

Implemented in OvEditor::Panels::GameView, OvEditor::Panels::AssetView, and OvEditor::Panels::SceneView.

◆ FillEngineUBO()

void OvEditor::Panels::AView::FillEngineUBO ( )

Fill the UBO using the view settings

◆ GetCamera()

OvRendering::LowRenderer::Camera & OvEditor::Panels::AView::GetCamera ( )

Returns the camera used by this view

◆ GetCameraPosition()

const OvMaths::FVector3 & OvEditor::Panels::AView::GetCameraPosition ( ) const

Returns the camera position

◆ GetGridColor()

const OvMaths::FVector3 & OvEditor::Panels::AView::GetGridColor ( ) const

Returns the grid color of the view

◆ GetSafeSize()

std::pair< uint16_t, uint16_t > OvEditor::Panels::AView::GetSafeSize ( ) const

Returns the size of the panel ignoring its titlebar height

◆ PrepareCamera()

void OvEditor::Panels::AView::PrepareCamera ( )
protected

Update camera matrices

◆ Render()

void OvEditor::Panels::AView::Render ( )

Render the view

◆ SetCameraPosition()

void OvEditor::Panels::AView::SetCameraPosition ( const OvMaths::FVector3 p_position)

Defines the camera position

Parameters
p_position

◆ SetGridColor()

void OvEditor::Panels::AView::SetGridColor ( const OvMaths::FVector3 p_color)

Defines the grid color of the view

Parameters
p_color

◆ Update()

void OvEditor::Panels::AView::Update ( float  p_deltaTime)
virtual

Update the view

Parameters
p_deltaTime

Reimplemented in OvEditor::Panels::GameView, OvEditor::Panels::AViewControllable, and OvEditor::Panels::SceneView.

Member Data Documentation

◆ m_camera

OvRendering::LowRenderer::Camera OvEditor::Panels::AView::m_camera
protected

◆ m_cameraPosition

OvMaths::FVector3 OvEditor::Panels::AView::m_cameraPosition
protected

◆ m_editorRenderer

OvEditor::Core::EditorRenderer& OvEditor::Panels::AView::m_editorRenderer
protected

◆ m_fbo

OvRendering::Buffers::Framebuffer OvEditor::Panels::AView::m_fbo
protected

◆ m_gridColor

OvMaths::FVector3 OvEditor::Panels::AView::m_gridColor = OvMaths::FVector3::One
protected

◆ m_image

OvUI::Widgets::Visual::Image* OvEditor::Panels::AView::m_image
protected

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