Hana
Loading...
Searching...
No Matches
OrthographicCameraController.h
1#pragma once
2
3#include "Hana/Renderer/OrthographicCamera.h"
4#include "Hana/Core/Timestep.h"
5
6#include "Hana/Events/ApplicationEvent.h"
7#include "Hana/Events/MouseEvent.h"
8
9namespace Hana
10{
11 class OrthographicCameraController
12 {
13 public:
14 OrthographicCameraController(float aspectRatio, bool rotation = false);
15
16 void OnUpdate(Timestep ts);
17 void OnEvent(Event& e);
18
19 OrthographicCamera& GetCamera() { return m_Camera; }
20 const OrthographicCamera& GetCamera() const { return m_Camera; }
21
22 float GetZoomLevel() const { return m_ZoomLevel; }
23 void SetZoomLevel(float level) { m_ZoomLevel = level; }
24 private:
25 bool OnMouseScrolled(MouseScrolledEvent& e);
26 bool OnWindowResized(WindowResizeEvent& e);
27
28 float m_AspectRatio = 1.7f;
29 float m_ZoomLevel = 1.0f;
30 OrthographicCamera m_Camera;
31
32 bool m_Rotation;
33
34 glm::vec3 m_CameraPosition = { 0.0f, 0.0f, 0.0f };
35 float m_CameraRotation = 0.0f; // In degrees, in the anti-clockwise direction
36 float m_CameraTranslationSpeed = 5.0f;
37 float m_CameraRotationSpeed = 180.0f;
38 };
39}
Definition Event.h:39
Definition MouseEvent.h:30
Definition OrthographicCamera.h:8
Definition Timestep.h:6
Definition ApplicationEvent.h:8