sculpto
viewport_window.h
Go to the documentation of this file.
1/*!****************************************************************//*!*
2 * \file editor_viewport_window.h
3 * \brief Viewport window class definition module.
4 *
5 * \author Sabitov Kirill
6 * \date 09 July 2022
7 *********************************************************************/
8
9#pragma once
10
11#include "base.h"
12
13namespace scl
14{
16 class frame_buffer;
17
20 {
21 private:
22 weak<frame_buffer> ViewportBuffer;
23 int ViewportId { 30 };
24 int ViewportWidth { 16 };
25 int ViewportHeight { 16 };
26
27 public:
29 int GetViewportId() const { return ViewportId; }
31 int GetViewportWidth() const { return ViewportWidth; }
33 int GetViewportHegith() const { return ViewportHeight; }
34
35 void SetViewportBuffer(const shared<frame_buffer> &ViewportBuffer) { this->ViewportBuffer = ViewportBuffer; }
37 void SetViewportId(int ViewportId) {
38 SCL_CORE_ASSERT(ViewportId != 0, "ViewportId = 0 is not allowed, it is reserved by main application window.");
39 this->ViewportId = ViewportId;
40 }
41
42 public:
43 /*!*
44 * Viewport window default constructor.
45 *
46 * \param ViewportBuffer - frame buffer to be displayed in viewport window.
47 * \param ViewportId - viewport window viewport id.
48 */
49 viewport_window(const shared<frame_buffer> &ViewportBuffer, int ViewportId = 30);
50
51 /*!*
52 * Draw viewport window function.
53 *
54 * \param None.
55 * \return None.
56 */
57 void Draw();
58 };
59}
#define SCL_CORE_ASSERT(expr,...)
Definition: assert.h:69
Topology object basis class for mesh creating implementation module.
viewport_window(const shared< frame_buffer > &ViewportBuffer, int ViewportId=30)
void SetViewportId(int ViewportId)
int GetViewportHegith() const
void SetViewportBuffer(const shared< frame_buffer > &ViewportBuffer)
int GetViewportWidth() const
int GetViewportId() const
Definition: base.h:33
std::shared_ptr< T > shared
Definition: smart_ptr.h:15
std::weak_ptr< T > weak
Definition: smart_ptr.h:35