sdl2dll
Loading...
Searching...
No Matches
sdl_texturearray.h
1/*
2 * Clases para manejar arrays de texturas en SDL2
3 */
4#ifndef _SDL_TEXTURE_ARRAY
5#define _SDL_TEXTURE_ARRAY
6
7#define EXPORT __declspec(dllexport)
8
9#include <vector>
10#include <string>
11#include <SDL.h>
12#include <SDL_image.h>
13#include "sdl_renderer.h"
14
15namespace sdl {
16
23protected:
25 SDL_Texture* texture;
26 std::vector<Rect> rect;
27 int w, h;
28 int rows, cols;
30public:
39 EXPORT TextureArray(Renderer& render, const std::string file, int tileWidth=0, int tileHeight=0);
45 EXPORT ~TextureArray() {
46 SDL_DestroyTexture(texture);
47 }
53 EXPORT int W() { return w; }
59 EXPORT int H() { return h; }
63 SDL_Texture* Get() { return texture; }
67 EXPORT operator SDL_Texture*() { return texture; }
74 EXPORT void Draw(Point punto, int index) {
75 Rect dest=Rect(punto.X(), punto.Y(), w, h);
76 SDL_RenderCopy(renderer, texture, rect[index].Get(), dest.Get());
77 }
78};
79
80} // namespace
81
82#endif // _SDL_TEXTURE_ARRAY
Clase para manipular puntos con coordenadas enteras.
Definition sdl_point.h:20
EXPORT int & X()
Obtiene una referencia a la coordenada x del punto.
Definition sdl_point.h:57
EXPORT int & Y()
Obtiene una referencia a la coordenada y del punto.
Definition sdl_point.h:63
Clase para manipular rectángulos con coordenadas enteras.
Definition sdl_rect.h:21
EXPORT SDL_Rect * Get()
Obtiene un puntero a la estructura SDL_Rect.
Definition sdl_rect.h:50
Clase para manipular un contexto de renderizado.
Definition sdl_renderer.h:29
Clase que encapsula una única textura compuesta.
Definition sdl_texturearray.h:22
SDL_Texture * Get()
Obtiene un puntero a la estructura SDL_Texture.
Definition sdl_texturearray.h:63
std::vector< Rect > rect
Definition sdl_texturearray.h:26
int h
Definition sdl_texturearray.h:27
EXPORT int W()
Obtiene la anchura de las subtexturas.
Definition sdl_texturearray.h:53
int cols
Definition sdl_texturearray.h:28
EXPORT ~TextureArray()
Destructor.
Definition sdl_texturearray.h:45
Renderer & renderer
Definition sdl_texturearray.h:24
SDL_Texture * texture
Definition sdl_texturearray.h:25
EXPORT TextureArray(Renderer &render, const std::string file, int tileWidth=0, int tileHeight=0)
Constructor.
Definition sdl_texturearray.cpp:4
EXPORT void Draw(Point punto, int index)
Traslada la subtextura al punto indicado.
Definition sdl_texturearray.h:74
EXPORT int H()
Obtiene la altura de las subtexturas.
Definition sdl_texturearray.h:59
Espacio con nombre para el wrapper de SDL2.
Definition sdl_music.h:14