/** * Triangles * Copyright (C) 2016 POSITIVE MENTAL ATTITUDE * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, version 3 of the License. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #pragma once #include /** * @class Camera * @author POSITIVE MENTAL ATTITUDE * @date 06/09/16 * @file Camera.hpp * @brief A comfy wrapper around sf::View handling this Mario camera, or Twilight camera as I call it. */ class Camera { public: Camera(); void setTwilightViewport(const sf::Vector2f twilightViewport); void setTwilightViewport(float x, float y); void setSize(const sf::Vector2f size); void setSize(float x, float y); void setCenter(const sf::Vector2f center); void setCenter(float x, float y); void move(const sf::Vector2f& offset); void move(float offsetX, float offsetY); const sf::Vector2f getSize() const; const sf::Vector2f getCenter() const; const sf::View* getView() const; private: sf::Vector2f _offset; sf::Vector2f _twilightViewport; sf::View _view; };