Argentum Online - Cliente
sdl_window.h
1 #ifndef __SDL_WINDOW_H
2 #define __SDL_WINDOW_H
3 
4 #include <cstdint>
5 
6 #include "SDL2/SDL.h"
7 #include "SDL2/SDL_image.h"
8 #include "SDL2/SDL_mixer.h"
9 #include "sdl_animated_sprite.h"
10 #include "sdl_text.h"
11 #include "sdl_texture.h"
12 
17 class SDLWindow {
18  private:
19  SDL_Window *window;
20  SDL_Renderer *renderer;
21  bool vsync;
22 
23  public:
24  /* Constructor. Recibe ancho y alto de la ventana en pixeles. */
25 
35  SDLWindow(int width, int height, const std::string &title, bool fullscreen,
36  bool vsync);
37  ~SDLWindow();
38 
39  /* Llena toda la ventana con el color indicado en los parametros. */
48  void fill(int r, int g, int b, int alpha);
49 
50  /* Renderiza la ventana con todos sus contenidos.*/
56  void render() const;
57 
63  void set_viewport(SDL_Rect viewport_area);
64 
69  void reset_viewport();
70 
76  SDL_Renderer *init_renderer();
77 
83  SDL_Renderer *get_renderer();
84 
90  int get_width() const;
91 
97  int get_height() const;
98 
103  void hide();
104 
109  void show();
110 };
111 
112 #endif
SDLWindow
Objeto ventana de SDL.
Definition: sdl_window.h:17
SDLWindow::SDLWindow
SDLWindow(int width, int height, const std::string &title, bool fullscreen, bool vsync)
Crea un objeto SDLWindow.
Definition: sdl_window.cpp:10
SDLWindow::set_viewport
void set_viewport(SDL_Rect viewport_area)
Setea el viewport del renderer.
Definition: sdl_window.cpp:69
SDLWindow::get_height
int get_height() const
Devuelve el alto de la ventana.
Definition: sdl_window.cpp:79
SDLWindow::fill
void fill(int r, int g, int b, int alpha)
Limpia la ventana, y la pinta de un color.
Definition: sdl_window.cpp:64
SDLWindow::get_width
int get_width() const
Devuelve el ancho de la ventana.
Definition: sdl_window.cpp:85
SDLWindow::reset_viewport
void reset_viewport()
Restaura el viewport a la totalidad de la ventana.
Definition: sdl_window.cpp:73
SDLWindow::render
void render() const
Renderiza todos los contenidos cargados en el buffer de renderizado.
Definition: sdl_window.cpp:77
SDLWindow::show
void show()
Muestra la ventana.
Definition: sdl_window.cpp:95
SDLWindow::init_renderer
SDL_Renderer * init_renderer()
Inicia el renderer de la ventana.
Definition: sdl_window.cpp:36
SDLWindow::get_renderer
SDL_Renderer * get_renderer()
Devuelve el renderer asociado a la ventana.
Definition: sdl_window.cpp:91
SDLWindow::hide
void hide()
Oculta la ventana.
Definition: sdl_window.cpp:93