Hana
Loading...
Searching...
No Matches
WindowsWindow.h
1#pragma once
2
3#include "Hana/Core/Window.h"
4#include "Hana/Renderer/GraphicsContext.h"
5
6#include <GLFW/glfw3.h>
7
8namespace Hana
9{
10 class WindowsWindow : public Window
11 {
12 public:
13 WindowsWindow(const WindowProps& props);
14 virtual ~WindowsWindow();
15
16 void OnUpdate() override;
17
18 inline unsigned int GetWidth() const override { return m_Data.Width; }
19 inline unsigned int GetHeight() const override { return m_Data.Height; }
20
21 // Window attributes
22 inline void SetEventCallback(const EventCallbackFn& callback) override { m_Data.EventCallback = callback; }
23 void SetVSync(bool enabled) override;
24 bool IsVSync() const override;
25
26 inline virtual void* GetNativeWindow() const { return m_Window; }
27
28 private:
29 virtual void Init(const WindowProps& props);
30 virtual void Shutdown();
31 private:
32 GLFWwindow* m_Window;
33 Scope<GraphicsContext> m_Context;
34
35 struct WindowData
36 {
37 std::string Title;
38 unsigned int Width, Height;
39 bool VSync;
40
41 EventCallbackFn EventCallback;
42 };
43
44 WindowData m_Data;
45 };
46}
Definition Window.h:26
Definition Window.h:11