class Camera {
private:
sf::View view;
public:
// I wanted to change this to setSize(...) but view already has a setSize method
void setViewportSize(const sf::Vector2f& size, const sf::Vector2u& targetSize);
void setViewportSize(float width, float height, const sf::Vector2u& targetSize);
// I'm still thinking about changing this to set position
void setViewportPosition(const sf::Vector2f& position, const sf::Vector2u& targetSize);
void setViewportPosition(float x, float y, const sf::Vector2u& targetSize);
// ... the rest of the interface goes here
// ... I cut it from the post for sake of space, but it's just setter and getting methods for the sf::View
};