This repository has been archived on 2019-08-09. You can view files and clone it, but cannot push or open issues or pull requests.
PILG/src/image.h
Geoffrey Frogeye 22bcfb2b2f Mise en fonction de l'objet Image
Import du code de Geoffrey lors de la séance du 14/02/14, la plupart étant du travail à la maison
* Ajout d'un Makefile
	* Seul l'objet image a été découpé
	* Instruction test
* Modification de l'objet Image
	* Initialisation du tableau dans le constructeur
	* Changement de certains int en unsigned int (puisque ne pouvant pas avoir de valeurs négative)
	* typeComposantes est maintenant un ensemble de constantes
	* Correction de diverses fautes
	* Ajout de g_pixelVide pour créer un objet Pixel déjà compatible avec une image
* Modification de test_affichageFenetre.cpp en test.cpp
	* Vérifie désormais si l'objet Image est fonctionnel
* Changement de la façon dont la surface est bloquée dans affichageFenetreSDL.cpp
* Passage de tous les fichiers C++ au formatteur (d'où le nombre exageré de lignes modifiées)
* Correction de README.md
	* Syntaxe
	* Message de mise en garde sur la non-disponibilité d'un fichier binaire
* Mise à jour de TODO.md
* Correction de LICENCE.md
	* Respect de l'ordre alphabétique, et de la cohérence vis-à-vis des autres fichiers
* Ajout des dossiers bin/ et obj/ pour éviter de les créer après un clone
2014-04-28 15:01:14 +02:00

40 lines
1.2 KiB
C++

#include <vector>
typedef enum {PILG_BIN, PILG_NIV, PILG_RVB} PILG_Comp;
typedef struct Pixel {
PILG_Comp typeComposantes;
unsigned int maxComposante;
unsigned int r;
unsigned int v;
unsigned int b;
unsigned int g;
bool n;
} Pixel;
class Image {
public:
Image(unsigned int dimensionX, unsigned int dimensionY, unsigned int maxComposante, PILG_Comp typeComposantes);
// Getters
unsigned int g_dimensionX() const;
unsigned int g_dimensionY() const;
PILG_Comp g_typeComposantes() const;
unsigned int g_maxComposante() const;
int g_point(unsigned int x, unsigned int y, Pixel &pixel) const;
// Setters
int s_point(unsigned int x, unsigned int y, Pixel pixel);
// Utilitaires
Pixel g_pixelVide() const;
private:
// Utilitaires
static bool enLimitesComposantes(Pixel pixel);
bool enLimites(unsigned int x, unsigned int y) const;
// Variables
unsigned int m_dimensionX;
unsigned int m_dimensionY;
PILG_Comp m_typeComposantes; // 0 : N&B, 1 : Niveaux de gris, 2 : RVB
unsigned int m_maxComposante; // Maximum de composante (sauf binaire)
std::vector< std::vector< Pixel > > m_tab;
};