#pragma once class Camera { public: Camera( ); Camera( const Point2f& position, float scale = 1); virtual ~Camera(); void SetPosition( const Point2f& position ) { m_Position = position; } void SetScale( const float scale ) { m_Scale = scale; } const Point2f& GetPosition( ) const { return m_Position; } float GetScale( ) const { return m_Scale; } void BeginRendering() const; void EndRendering() const; Point2f TransformMouse (const Point2f& mousePos) const; Rectf Viewport = Rectf{ 0, 0, 846.f, 500.f }; //TODO: Remove this and make it some static private: Point2f m_Position; float m_Scale; };