50 lines
1.0 KiB
C++
50 lines
1.0 KiB
C++
#ifndef TEXTURE_H
|
|
#define TEXTURE_H
|
|
|
|
class Data // classe interne qui ne doit pas etre appelée par l'utilisateur
|
|
{
|
|
public:
|
|
Data(const unsigned char* contents,const int t_sizeO);
|
|
~Data();
|
|
unsigned char* data;
|
|
int sizeO; // taille en octets
|
|
}
|
|
// texture triangulaire :: triangle équilatéral
|
|
/*
|
|
une texture est en global au début du programme
|
|
Elle est automatiquement détruite à la fin
|
|
Elle est encapsulée de manière à ce qu'on ne puisse pas la modifier
|
|
Pour la création on utilise l'adresse de la texture
|
|
*/
|
|
class TextureMaster
|
|
{
|
|
public:
|
|
TextureMaster(const unsigned char* data, const int size); // pour la création du tableau de data
|
|
~TextureMaster();
|
|
private:
|
|
int m_size;
|
|
Data* m_data;
|
|
};
|
|
|
|
// la taille du tableau représente la somme des nombres de 1 à n
|
|
// n*(n+1)/2
|
|
|
|
|
|
class Texture // instance d'une texture avec les fonctions permettant de l'exploiter
|
|
{
|
|
public:
|
|
Texture(const TextureMaster& t_master,const int sens = 0,);
|
|
bool Get(int x,int y);
|
|
~Texture();
|
|
private:
|
|
int m_sens;
|
|
TextureMaster* m_master;
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#endif |