sdl2dll
Loading...
Searching...
No Matches
sdl_button.h
1/*
2 * Clases para manejar botones en SDL2
3 */
4#ifndef _SDL_BUTTON
5#define _SDL_BUTTON
6
7#define EXPORT __declspec(dllexport)
8
9#include <string>
10#include <SDL.h>
11#include "sdl_renderer.h"
12#include "sdl_texturearray.h"
13#include "sdl_font.h"
14
15namespace sdl {
24class Button {
25protected:
28 int index;
30 std::string line;
34 bool active;
35 bool visible;
38 int margen;
46 bool TestPoint(Point& p) { return SDL_PointInRect(p.Get(), rect.Get()); }
47public:
60 EXPORT Button(Renderer& r, Point pos, TextureArray* t, int i, std::string str, Font& f, int ts, Color c);
66 EXPORT void SetPos(Point &pos) { rect.X() = pos.X(); rect.Y() = pos.Y(); }
70 EXPORT void Render();
76 EXPORT void SetActive(bool a) { active=a; if(active) visible=true; }
82 EXPORT void SetVisible(bool v) { visible=v; }
89 EXPORT bool Pushed(Point p);
90};
91
92} // namespace
93
94#endif // _SDL_BUTTON
Encapsula un botón.
Definition sdl_button.h:24
Point posText
Definition sdl_button.h:37
bool active
Definition sdl_button.h:34
int margen
Definition sdl_button.h:38
bool visible
Definition sdl_button.h:35
EXPORT void SetActive(bool a)
Permite activar o desactivar el botón. Un botón desactivado no puede ser pulsado.
Definition sdl_button.h:76
Renderer & renderer
Definition sdl_button.h:26
EXPORT void SetPos(Point &pos)
Modifica la posición del botón.
Definition sdl_button.h:66
Color color
Definition sdl_button.h:32
EXPORT void Render()
Muestra el botón en pantalla.
Definition sdl_button.cpp:29
Point posTexture
Definition sdl_button.h:36
TextureArray * texture
Definition sdl_button.h:27
int index
Definition sdl_button.h:28
EXPORT Button(Renderer &r, Point pos, TextureArray *t, int i, std::string str, Font &f, int ts, Color c)
Constructor.
Definition sdl_button.cpp:5
EXPORT bool Pushed(Point p)
Indica si el botón ha sido pulsado.
Definition sdl_button.cpp:53
Rect rect
Definition sdl_button.h:33
EXPORT void SetVisible(bool v)
Permite ocultar o mostrar el botón.
Definition sdl_button.h:82
std::string line
Definition sdl_button.h:30
Font & font
Definition sdl_button.h:29
int textsize
Definition sdl_button.h:31
bool TestPoint(Point &p)
Verifica si un punto está dentro del área del botón.
Definition sdl_button.h:46
Encapsula un color.
Definition sdl_color.h:18
Clase para encapsular una fuente de caracteres SDL.
Definition sdl_font.h:24
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 SDL_Point * Get()
Obtiene un puntero a la estructura SDL_Point.
Definition sdl_point.h:45
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
EXPORT int & X()
Obtiene una referencia a la coordenada x de la esquina superior izquierda.
Definition sdl_rect.h:62
EXPORT int & Y()
Obtiene una referencia a la coordenada y de la esquina superior izquierda.
Definition sdl_rect.h:68
Clase para manipular un contexto de renderizado.
Definition sdl_renderer.h:29
Clase que encapsula una única textura compuesta.
Definition sdl_texturearray.h:22
Espacio con nombre para el wrapper de SDL2.
Definition sdl_music.h:14