From 994f4187e4c3c238346ded2373b5d7c650524c51 Mon Sep 17 00:00:00 2001 From: Sergio Valor Date: Wed, 8 Sep 2021 09:03:44 +0200 Subject: [PATCH] Renombrada la clase render a screen --- source/game.cpp | 17 ++++++++++------- source/game.h | 2 ++ source/render.cpp | 11 ----------- source/render.h | 21 --------------------- source/screen.cpp | 26 ++++++++++++++++++++++++++ source/screen.h | 27 +++++++++++++++++++++++++++ 6 files changed, 65 insertions(+), 39 deletions(-) delete mode 100644 source/render.cpp delete mode 100644 source/render.h create mode 100644 source/screen.cpp create mode 100644 source/screen.h diff --git a/source/game.cpp b/source/game.cpp index 512050be..a2aef64b 100644 --- a/source/game.cpp +++ b/source/game.cpp @@ -8,11 +8,12 @@ Game::Game(SDL_Renderer *renderer, std::string *filelist, Lang *lang, Input *inp mFileList = filelist; mLang = lang; mInput = input; - + + mScreen = new Screen(renderer); mEventHandler = new SDL_Event(); mTextureText = new LTexture(); - mText = new Text(mFileList[5], mTextureText, mRenderer); - mFade = new Fade(mRenderer); + mText = new Text(mFileList[5], mTextureText, renderer); + mFade = new Fade(renderer); } Game::~Game() @@ -24,11 +25,14 @@ Game::~Game() delete mEventHandler; mEventHandler = nullptr; - + mTextureText->unload(); delete mTextureText; mTextureText = nullptr; + delete mScreen; + mScreen = nullptr; + delete mText; mText = nullptr; @@ -89,13 +93,12 @@ section_t Game::run() } // Limpia la pantalla - SDL_SetRenderDrawColor(mRenderer, 0xAA, 0x44, 0x44, 0xFF); - SDL_RenderClear(mRenderer); + mScreen->clean(); mText->writeCentered(SCREEN_CENTER_X, SCREEN_CENTER_Y, "Pepe el Cazavampiros", 0); // Actualiza la pantalla - SDL_RenderPresent(mRenderer); + mScreen->blit(); } } diff --git a/source/game.h b/source/game.h index 752d0b7a..b86c720e 100644 --- a/source/game.h +++ b/source/game.h @@ -13,6 +13,7 @@ #include "input.h" #include "fade.h" #include "lang.h" +#include "screen.h" #include "jail_audio.h" #ifndef GAME_H @@ -23,6 +24,7 @@ class Game { private: SDL_Renderer *mRenderer; // El renderizador de la ventana + Screen *mScreen; // El objeto encargado de manejar el renderizador SDL_Event *mEventHandler; // Manejador de eventos std::string *mFileList; // Lista de ficheros con los recursos Lang *mLang; // Objeto para gestionar los textos en diferentes idiomas diff --git a/source/render.cpp b/source/render.cpp deleted file mode 100644 index 75c714a2..00000000 --- a/source/render.cpp +++ /dev/null @@ -1,11 +0,0 @@ -#include "render.h" - -// Constructor -Render::Render() -{ -} - -// Destructor -Render::~Render() -{ -} diff --git a/source/render.h b/source/render.h deleted file mode 100644 index 6b4a55b0..00000000 --- a/source/render.h +++ /dev/null @@ -1,21 +0,0 @@ -#pragma once -#include "ifdefs.h" - -#ifndef RENDER_H -#define RENDER_H - -// Clase Render -class Render -{ -private: - -public: - // Constructor - Render(); - - // Destructor - ~Render(); - -}; - -#endif diff --git a/source/screen.cpp b/source/screen.cpp new file mode 100644 index 00000000..6207a837 --- /dev/null +++ b/source/screen.cpp @@ -0,0 +1,26 @@ +#include "screen.h" + +// Constructor +Screen::Screen(SDL_Renderer *renderer) +{ + mRenderer = renderer; +} + +// Destructor +Screen::~Screen() +{ + mRenderer = nullptr; +} + +// Limpia la pantalla +void Screen::clean() +{ + SDL_SetRenderDrawColor(mRenderer, 0xAA, 0x44, 0x44, 0xFF); + SDL_RenderClear(mRenderer); +} + +// Vuelca el contenido del renderizador en pantalla +void Screen::blit() +{ + SDL_RenderPresent(mRenderer); +} \ No newline at end of file diff --git a/source/screen.h b/source/screen.h new file mode 100644 index 00000000..4b145c5e --- /dev/null +++ b/source/screen.h @@ -0,0 +1,27 @@ +#pragma once +#include "ifdefs.h" + +#ifndef SCREEN_H +#define SCREEN_H + +// Clase Screen +class Screen +{ +private: + SDL_Renderer *mRenderer; // El renderizador de la ventana + +public: + // Constructor + Screen(SDL_Renderer *renderer); + + // Destructor + ~Screen(); + + // Limpia la pantalla + void clean(); + + // Vuelca el contenido del renderizador en pantalla + void blit(); +}; + +#endif