Treballant en la caché de les paletes

This commit is contained in:
2025-03-05 22:58:26 +01:00
parent 5cc163dd14
commit 10debde847
11 changed files with 150 additions and 323 deletions

View File

@@ -6,6 +6,11 @@
#include <memory>
#include <string>
// Alias
using Palette = std::array<Uint32, 256>;
Palette loadPalette(const std::string &file_path);
struct SurfaceData
{
Uint8 *data; // Listado de indices de la paleta que conforman la imagen almacenada
@@ -61,7 +66,7 @@ class Surface
{
private:
std::shared_ptr<SurfaceData> surface_data_; // Datos a dibujar
std::array<Uint32, 256> palette_; // Paleta para volcar la SurfaceData a una Textura
Palette palette_; // Paleta para volcar la SurfaceData a una Textura
int transparent_color_; // Indice de la paleta que se omite en la copia de datos
public:
@@ -77,6 +82,7 @@ public:
// Carga una paleta desde un archivo
void loadPalette(const std::string &file_path);
void loadPalette(Palette palette);
// Copia una región de la SurfaceData de origen a la SurfaceData de destino
void render(int dx, int dy, int sx, int sy, int w, int h);