87 lines
2.0 KiB
C++
87 lines
2.0 KiB
C++
/**
|
|
*
|
|
* @file shape.h
|
|
* @author Alexandre Sollier
|
|
* @date Janvier 2020
|
|
* @version 1.0
|
|
* @brief Représente une forme
|
|
*
|
|
**/
|
|
|
|
#ifndef FIG2_H
|
|
#define FIG2_H
|
|
|
|
#include "../graphics/idrawable.h"
|
|
#include "../graphics/rgbacolor.h"
|
|
#include "../graphics/vec2d.h"
|
|
|
|
/**
|
|
* @namespace nsShape
|
|
* @brief Espace de nom pour différentes formes
|
|
*/
|
|
namespace nsShape
|
|
{
|
|
|
|
/**
|
|
* @class Shape
|
|
* @brief Classe de base pour une forme
|
|
*/
|
|
class Shape: public nsGraphics::IDrawable
|
|
{
|
|
|
|
public:
|
|
/**
|
|
* @brief Constructeur pour la classe Shape
|
|
* @param[in] fillColor : Couleur de remplissage de la forme
|
|
* @param[in] borderColor : Couleur de bord de la forme
|
|
* @fn Shape(const nsGraphics::RGBAcolor& fillColor, const nsGraphics::RGBAcolor& borderColor);
|
|
*/
|
|
Shape(const nsGraphics::RGBAcolor& fillColor, const nsGraphics::RGBAcolor& borderColor);
|
|
|
|
/**
|
|
* @brief Destructeur virtuel pour la classe Shape
|
|
* @fn virtual ~Shape() = default;
|
|
*/
|
|
virtual ~Shape() = default;
|
|
|
|
/**
|
|
* @brief Retourne la couleur de remplissage
|
|
* @fn const nsGraphics::RGBAcolor& getFillColor() const;
|
|
*/
|
|
const nsGraphics::RGBAcolor& getFillColor() const;
|
|
|
|
/**
|
|
* @brief Règle la couleur de remplissage
|
|
* @fn cvoid setFillColor(const nsGraphics::RGBAcolor& fillColor);
|
|
*/
|
|
void setFillColor(const nsGraphics::RGBAcolor& fillColor);
|
|
|
|
/**
|
|
* @brief Retourne la couleur de bord
|
|
* @fn const nsGraphics::RGBAcolor& getBorderColor() const;
|
|
*/
|
|
const nsGraphics::RGBAcolor& getBorderColor() const;
|
|
|
|
/**
|
|
* @brief Règle la couleur de bord
|
|
* @fn void setBorderColor(const RGBAcolor& borderColor);
|
|
*/
|
|
void setBorderColor(const nsGraphics::RGBAcolor& borderColor);
|
|
|
|
protected:
|
|
/**
|
|
* @brief m_fillColor : Couleur de remplissage
|
|
*/
|
|
nsGraphics::RGBAcolor m_fillColor;
|
|
|
|
/**
|
|
* @brief m_borderColor : Couleur de bord
|
|
*/
|
|
nsGraphics::RGBAcolor m_borderColor;
|
|
|
|
}; // class Shape
|
|
|
|
} // namespace nsShape
|
|
|
|
#endif // FIG2_H
|