#include typedef enum {PILG_BIN, PILG_NIV, PILG_RVB} PILG_Comp; typedef struct Pixel { PILG_Comp typeComposantes; int maxComposante; int r; int v; int b; int g; bool n; } Pixel; class Image { public: Image(int dimensionX, int dimensionY, int maxComposante, PILG_Comp typeComposantes); // Getters int g_dimensionX() const; int g_dimensionY() const; PILG_Comp g_typeComposantes() const; int g_maxComposante() const; int g_pixel(int x, int y, Pixel &pixel) const; // Setters int s_pixel(int x, int y, Pixel pixel); // Utilitaires Pixel g_pixelVide() const; Image g_vide() const; // Validateurs bool v_pixel(Pixel pixel) const; bool v_dimensions(int x, int y) const; private: // Variables int m_dimensionX; int m_dimensionY; PILG_Comp m_typeComposantes; int m_maxComposante; // Maximum de composante (sauf binaire) std::vector< std::vector< Pixel > > m_tab; };