Hubris Engine Dev
A Project to learn and get into Game Engine developement.
 
Loading...
Searching...
No Matches
Window.h
Go to the documentation of this file.
1#pragma once
2#ifdef HBR_WINDOW
3#else
4#define HBR_WINDOW
5#include "glm/glm.hpp"
6#include "Format.h"
7
11namespace Hubris::Graphics
12{
16 struct Viewport{
18 float Xpos = 0.0f, Ypos = 0.0f, MinDepth = 0.0f, MaxDepth = 1.0f;
19 };
20
23 class Window{
24 public:
25 // Window() = default;
26 virtual ~Window() = default;
31 virtual void Init() = 0;
35 virtual void Update()noexcept = 0;
39 virtual void Close()noexcept = 0;
45 virtual Viewport GetViewport()const noexcept = 0;
49 virtual bool IsValid()const noexcept = 0;
50
51 virtual bool IsRunning()const noexcept = 0;
57 virtual void* GetNative()const noexcept = 0;
58 };
59} // namespace Hubris::Graphics
60
61#endif
virtual Viewport GetViewport() const noexcept=0
Gets the window dimension.
virtual bool IsRunning() const noexcept=0
virtual void Init()=0
Intializes the rendering backend and creates the Window.
virtual void * GetNative() const noexcept=0
Get the Native object.
virtual void Close() noexcept=0
Closes the Window and frees resources.
virtual ~Window()=default
virtual bool IsValid() const noexcept=0
virtual void Update() noexcept=0
Poll events.
Contains all graphics related classes and structs.
Definition Format.h:9
Screen-space Dimensions. The Depth Values are used by the pipelines.
Definition Window.h:16