/** * @file Rectangle.hpp * @brief The primitive Rectangle shape * @author Lauchmelder23 * @date 23.05.2020 */ #pragma once #include "Shape.hpp" namespace sdlu { class Rectangle : public Shape { public: /** * @brief Default constructor */ Rectangle(); /** * @brief Constructor with default parameters * * @param[in] position A 2D position vector * @param[in] size A 2D size vector */ Rectangle(const Vector2f& position, const Vector2f& size); /** * @brief Gets the size of the rectangle * * @return A 2D vector with the size information */ Vector2f GetSize(); /** * @brief Sets a new size for the rectangle * * @param[in] size A 2D vector with the size information */ void SetSize(const Vector2f& size); /** * @brief Sets a new size for the rectangle * * @param[in] x The new size in x direction * @param[in] y The new size in y direction */ void SetSize(float x, float y); /** * @brief Draws the Rectangle to the target * * @param[in] target The RenderTarget to draw to */ virtual void Draw(SDL_Renderer* const target) const override; private: Vector2f size; ///< Size of the rectangle }; }