#ifndef CAMERA_H
#define CAMERA_H

#include <glm/glm.hpp>

class OrtographicCamera
{
  private:
    glm::vec2 cameraPos;
    float zoom;

  public:
    OrtographicCamera() : cameraPos(glm::vec2(-5.0f, -5.0f)), zoom(0.05f) {}

    void setPosition(glm::vec2);
    glm::vec2 getPosition();

    void setZoomLevel(float newZoom);
    void zoomIn(float targetZoom);

    void translate(glm::vec2 target);
    void smoothTranslate(glm::vec2 target);

    glm::mat4 getViewMatrix();
    glm::mat4 getProjectionMatrix();
    glm::mat4 getCombinedMatrix();

    void update();
};

#endif