la classe Texture ja pot tindre un numero indefinit de paletes 😌
This commit is contained in:
@@ -3,6 +3,7 @@
|
||||
#include <SDL2/SDL.h>
|
||||
#include <stdio.h>
|
||||
#include <string>
|
||||
#include <vector>
|
||||
|
||||
#ifndef TEXTURE_H
|
||||
#define TEXTURE_H
|
||||
@@ -25,10 +26,11 @@ private:
|
||||
Surface surface; // Surface para usar imagenes en formato gif con paleta
|
||||
|
||||
// Variables
|
||||
int width; // Ancho de la imagen
|
||||
int height; // Alto de la imagen
|
||||
std::string path; // Ruta de la imagen de la textura
|
||||
Uint32 paleta[256]; // Paleta para la surface
|
||||
int width; // Ancho de la imagen
|
||||
int height; // Alto de la imagen
|
||||
std::string path; // Ruta de la imagen de la textura
|
||||
std::vector<std::vector<Uint32>> palettes; // Vector con las diferentes paletas
|
||||
int paletteIndex; // Indice de la paleta en uso
|
||||
|
||||
// Crea una nueva surface
|
||||
Surface newSurface(int w, int h);
|
||||
@@ -40,13 +42,10 @@ private:
|
||||
Surface loadSurface(const char *filename);
|
||||
|
||||
// Vuelca la surface en la textura
|
||||
void flipSurface();
|
||||
|
||||
// Establece un color de la paleta
|
||||
void setPal(int index, Uint32 color);
|
||||
void flipSurface();
|
||||
|
||||
// Carga una paleta desde un fichero
|
||||
void loadPal(const char *filename);
|
||||
std::vector<Uint32> loadPal(const char *filename);
|
||||
|
||||
public:
|
||||
// Constructor
|
||||
@@ -90,6 +89,15 @@ public:
|
||||
|
||||
// Obtiene la textura
|
||||
SDL_Texture *getSDLTexture();
|
||||
|
||||
// Añade una paleta a la lista
|
||||
void addPalette(std::string path);
|
||||
|
||||
// Establece un color de la paleta
|
||||
void setPaletteColor(int palette, int index, Uint32 color);
|
||||
|
||||
// Cambia la paleta de la textura
|
||||
void setPalette(int palette);
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user