#pragma once

#include <SDL2/SDL_render.h> // Para SDL_Renderer
#include <SDL2/SDL_stdinc.h> // Para Uint8, Uint32

typedef struct jSurface_s *jSurface;

jSurface pNewSurface(int w, int h);
void pDeleteSurface(jSurface surf);
void pSetDest(jSurface surf);
void pSetSource(jSurface surf);

jSurface pLoadSurface(const char *filename);

void pPutPixel(int x, int y, Uint8 color);
Uint8 pGetPixel(int x, int y);

void pBlit(int dx, int dy, int sx, int sy, int w, int h);

void pInit(SDL_Renderer *renderer, int w, int h);

void pSetPal(int index, Uint32 color);
void pLoadPal(const char *filename);

void pCls(Uint8 color);

void pFlip(SDL_Renderer *renderer);

bool pFadePal();
