Eliminado todo el código de las notificaciones

This commit is contained in:
2024-05-31 19:38:25 +02:00
parent d13e4daf25
commit ff1227010b
11 changed files with 123 additions and 615 deletions

View File

@@ -11,13 +11,10 @@ Screen::Screen(SDL_Window *window, SDL_Renderer *renderer, Asset *asset, options
this->options = options;
this->asset = asset;
// Crea los objetos
notify = new Notify(renderer, asset->get("notify.png"), asset->get("smb2.png"), asset->get("smb2.txt"), asset->get("notify.wav"), options);
gameCanvasWidth = options->video.gameWidth;
gameCanvasHeight = options->video.gameHeight;
borderWidth = options->video.borderWidth * 2;
borderHeight = options->video.borderHeight * 2;
borderWidth = options->video.border.width * 2;
borderHeight = options->video.border.height * 2;
notificationLogicalWidth = gameCanvasWidth;
notificationLogicalHeight = gameCanvasHeight;
@@ -39,7 +36,6 @@ Screen::Screen(SDL_Window *window, SDL_Renderer *renderer, Asset *asset, options
// Destructor
Screen::~Screen()
{
delete notify;
SDL_DestroyTexture(gameCanvas);
}
@@ -69,9 +65,6 @@ void Screen::blit()
// Copia la textura de juego en el renderizador en la posición adecuada
SDL_RenderCopy(renderer, gameCanvas, nullptr, &dest);
// Dibuja las notificaciones
renderNotifications();
// Muestra por pantalla el renderizador
SDL_RenderPresent(renderer);
}
@@ -91,7 +84,7 @@ void Screen::setVideoMode(int videoMode)
// Esconde la ventana
//SDL_HideWindow(window);
if (options->video.borderEnabled)
if (options->video.border.enabled)
{
windowWidth = gameCanvasWidth + borderWidth;
windowHeight = gameCanvasHeight + borderHeight;
@@ -106,11 +99,8 @@ void Screen::setVideoMode(int videoMode)
}
// Modifica el tamaño de la ventana
SDL_SetWindowSize(window, windowWidth * options->video.windowSize, windowHeight * options->video.windowSize);
SDL_SetWindowSize(window, windowWidth * options->video.window.size, windowHeight * options->video.window.size);
SDL_SetWindowPosition(window, SDL_WINDOWPOS_CENTERED, SDL_WINDOWPOS_CENTERED);
// Muestra la ventana
//SDL_ShowWindow(window);
}
// Si está activo el modo de pantalla completa añade el borde
@@ -168,11 +158,8 @@ void Screen::setVideoMode(int videoMode)
// Actualiza las opciones
options->video.mode = videoMode;
options->video.windowWidth = windowWidth;
options->video.windowHeight = windowHeight;
// Establece el tamaño de las notificaciones
setNotificationSize();
options->video.window.width = windowWidth;
options->video.window.height = windowHeight;
}
// Camibia entre pantalla completa y ventana
@@ -185,23 +172,23 @@ void Screen::switchVideoMode()
// Cambia el tamaño de la ventana
void Screen::setWindowSize(int size)
{
options->video.windowSize = size;
options->video.window.size = size;
setVideoMode(0);
}
// Reduce el tamaño de la ventana
void Screen::decWindowSize()
{
--options->video.windowSize;
options->video.windowSize = std::max(options->video.windowSize, 1);
--options->video.window.size;
options->video.window.size = std::max(options->video.window.size, 1);
setVideoMode(0);
}
// Aumenta el tamaño de la ventana
void Screen::incWindowSize()
{
++options->video.windowSize;
options->video.windowSize = std::min(options->video.windowSize, 4);
++options->video.window.size;
options->video.window.size = std::min(options->video.window.size, 4);
setVideoMode(0);
}
@@ -220,25 +207,25 @@ void Screen::setBlendMode(SDL_BlendMode blendMode)
// Establece el tamaño del borde
void Screen::setBorderWidth(int s)
{
options->video.borderWidth = s;
options->video.border.width = s;
}
// Establece el tamaño del borde
void Screen::setBorderHeight(int s)
{
options->video.borderHeight = s;
options->video.border.height = s;
}
// Establece si se ha de ver el borde en el modo ventana
void Screen::setBorderEnabled(bool value)
{
options->video.borderEnabled = value;
options->video.border.enabled = value;
}
// Cambia entre borde visible y no visible
void Screen::switchBorder()
{
options->video.borderEnabled = !options->video.borderEnabled;
options->video.border.enabled = !options->video.border.enabled;
setVideoMode(0);
}
@@ -325,54 +312,4 @@ void Screen::updateFX()
void Screen::renderFX()
{
renderFade();
}
// Actualiza el notificador
void Screen::updateNotifier()
{
notify->update();
notifyActive = notify->active();
}
// Muestra una notificación de texto por pantalla;
void Screen::showNotification(std::string text1, std::string text2, int icon)
{
notify->showText(text1, text2, icon);
}
// Dibuja las notificaciones
void Screen::renderNotifications()
{
if (!notifyActive)
{
return;
}
SDL_RenderSetLogicalSize(renderer, notificationLogicalWidth, notificationLogicalHeight);
notify->render();
SDL_RenderSetLogicalSize(renderer, windowWidth, windowHeight);
}
// Establece el tamaño de las notificaciones
void Screen::setNotificationSize()
{
if (options->video.mode == 0)
{
if (options->video.windowSize == 3)
{
notificationLogicalWidth = (windowWidth * 3) / 2;
notificationLogicalHeight = (windowHeight * 3) / 2;
}
else
{
notificationLogicalWidth = windowWidth * 2;
notificationLogicalHeight = windowHeight * 2;
}
}
if (options->video.mode == SDL_WINDOW_FULLSCREEN_DESKTOP)
{
notificationLogicalWidth = windowWidth / 3;
notificationLogicalHeight = windowHeight / 3;
}
}