sculpto
Public Member Functions | List of all members
scl::viewport_window Class Reference

#include <viewport_window.h>

Public Member Functions

int GetViewportId () const
 
int GetViewportWidth () const
 
int GetViewportHegith () const
 
void SetViewportBuffer (const shared< frame_buffer > &ViewportBuffer)
 
void SetViewportId (int ViewportId)
 
 viewport_window (const shared< frame_buffer > &ViewportBuffer, int ViewportId=30)
 
void Draw ()
 

Detailed Description

Viewport window class.

Definition at line 19 of file viewport_window.h.

Constructor & Destructor Documentation

◆ viewport_window()

scl::viewport_window::viewport_window ( const shared< frame_buffer > &  ViewportBuffer,
int  ViewportId = 30 
)

Viewport window methods.

  • Viewport window default constructor.
Parameters
ViewportBuffer- frame buffer to be displayed in viewport window.
ViewportId- viewport window viewport id.

Definition at line 20 of file viewport_window.cpp.

20 :
21 ViewportBuffer(ViewportBuffer) { SetViewportId(ViewportId); }
void SetViewportId(int ViewportId)

Member Function Documentation

◆ Draw()

void scl::viewport_window::Draw ( )
  • Draw viewport window function.
Parameters
None.
Returns
None.

Definition at line 23 of file viewport_window.cpp.

24{
25 ImGui::Begin("Viewport");
26 {
27 const ImVec2 window_size = ImGui::GetContentRegionAvail();
28 if ((window_size.x != ViewportWidth || window_size.y != ViewportHeight) &&
29 window_size.x > 0 && window_size.y > 0)
30 {
31 ViewportWidth = window_size.x, ViewportHeight = window_size.y;
32 viewport_resize_event e { ViewportWidth, ViewportHeight, ViewportId };
34 }
35
36 if (auto viewport_buffer = ViewportBuffer.lock())
37 ImGui::Image((ImTextureID)viewport_buffer->GetColorAttachment()->GetHandle(), window_size, {0, 1}, {1, 0});
38
39 if (ImGui::IsItemHovered()) ImGui::SetNextFrameWantCaptureMouse(false);
40 if (ImGui::IsItemActive()) ImGui::SetNextFrameWantCaptureKeyboard(false);
41 }
42 ImGui::End();
43}
static void Invoke(Tevent &Event)

◆ GetViewportHegith()

int scl::viewport_window::GetViewportHegith ( ) const
inline

Viewport window viewport height getter function.

Definition at line 33 of file viewport_window.h.

33{ return ViewportHeight; }

◆ GetViewportId()

int scl::viewport_window::GetViewportId ( ) const
inline

Viewport window data getter/setter functinos.

Viewport window viewport id getter function. Viewport resize event invoked with it.

Definition at line 29 of file viewport_window.h.

29{ return ViewportId; }

◆ GetViewportWidth()

int scl::viewport_window::GetViewportWidth ( ) const
inline

Viewport window viewport width getter function.

Definition at line 31 of file viewport_window.h.

31{ return ViewportWidth; }

◆ SetViewportBuffer()

void scl::viewport_window::SetViewportBuffer ( const shared< frame_buffer > &  ViewportBuffer)
inline

Definition at line 35 of file viewport_window.h.

35{ this->ViewportBuffer = ViewportBuffer; }

◆ SetViewportId()

void scl::viewport_window::SetViewportId ( int  ViewportId)
inline

Viewport window viewport id setter function. Viewport resize event invoked with it.

Definition at line 37 of file viewport_window.h.

37 {
38 SCL_CORE_ASSERT(ViewportId != 0, "ViewportId = 0 is not allowed, it is reserved by main application window.");
39 this->ViewportId = ViewportId;
40 }
#define SCL_CORE_ASSERT(expr,...)
Definition: assert.h:69

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