44 lines
1.3 KiB
C++
44 lines
1.3 KiB
C++
#pragma once
|
|
#include <SDL2/SDL.h>
|
|
#include "utils.h"
|
|
|
|
#ifndef SCREEN_H
|
|
#define SCREEN_H
|
|
|
|
// Clase Screen
|
|
class Screen
|
|
{
|
|
private:
|
|
SDL_Window *window; // Ventana de la aplicación
|
|
SDL_Renderer *renderer; // El renderizador de la ventana
|
|
SDL_Texture *gameCanvas; // Textura para completar la ventana de juego hasta la pantalla completa
|
|
|
|
int screenWidth; // Ancho de la pantalla
|
|
int screenHeight; // Alto de la pantalla
|
|
int gameCanvasWidth; // Ancho de la textura donde se dibuja el juego
|
|
int gameCanvasHeight; // Alto de la textura donde se dibuja el juego
|
|
int gameCanvasPosX; // Posicion en el eje X donde se dibujará la textura del juego dentro de la pantalla
|
|
int gameCanvasPosY; // Posicion en el eje Y donde se dibujará la textura del juego dentro de la pantalla
|
|
|
|
SDL_Rect dest; // Rectangulo de destino donde se dibujarà la textura con el juego
|
|
color_t borderColor; // Color del borde añadido a la textura de juego para rellenar la pantalla
|
|
|
|
public:
|
|
// Constructor
|
|
Screen(SDL_Window *window, SDL_Renderer *renderer, int scr_w = 0, int scr_h = 0, int gc_w = 0, int gc_h = 0);
|
|
|
|
// Destructor
|
|
~Screen();
|
|
|
|
// Limpia la pantalla
|
|
void clean(color_t color = {0x00, 0x00, 0x00});
|
|
|
|
// Prepara para empezar a dibujar en la textura de juego
|
|
void start();
|
|
|
|
// Vuelca el contenido del renderizador en pantalla
|
|
void blit();
|
|
};
|
|
|
|
#endif
|