#pragma once class Camera { public: Camera( ); Camera( const Point2f& position, float scale = 1); 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; private: Point2f m_Position; float m_Scale; };