#pragma once #include #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