fix: solventat el problema amb els shaders i el canvi a pantalla completa en sistemes unix

This commit is contained in:
2025-06-30 11:26:44 +02:00
parent 2fbdf0753a
commit 6ce0e756fb
3 changed files with 3 additions and 4 deletions

View File

@@ -2,6 +2,7 @@
#include <SDL3/SDL_log.h> // Para SDL_LogInfo, SDL_LogCategory
#include "mouse.h" // Para handleEvent
#include "section.h" // Para Name, Options, name, options
#include "screen.h"
namespace GlobalEvents
{
@@ -21,6 +22,7 @@ namespace GlobalEvents
break;
case SDL_EVENT_WINDOW_RESIZED:
Screen::get()->initShaders();
break;
default:

View File

@@ -124,7 +124,6 @@ void Screen::renderScreen()
void Screen::setFullscreenMode()
{
SDL_SetWindowFullscreen(window_, Options::video.fullscreen);
initShaders();
}
// Camibia entre pantalla completa y ventana
@@ -291,8 +290,6 @@ void Screen::adjustWindowSize()
SDL_SetWindowPosition(window_, std::max(NEW_POS_X, WINDOWS_DECORATIONS_), std::max(NEW_POS_Y, 0));
SDL_SetWindowSize(window_, WIDTH, HEIGHT);
initShaders();
}
}

View File

@@ -39,6 +39,7 @@ public:
bool decWindowSize(); // Reduce el tamaño de la ventana
bool incWindowSize(); // Aumenta el tamaño de la ventana
void applySettings(); // Aplica los valores de las opciones
void initShaders(); // Inicializa los shaders
// --- Efectos visuales ---
void shake() { shake_effect_.enable(src_rect_, dst_rect_); } // Agita la pantalla
@@ -203,7 +204,6 @@ private:
void renderInfo(); // Muestra información por pantalla
void renderScreen(); // Selecciona y ejecuta el método de renderizado adecuado
void loadShaders(); // Carga el contenido del archivo GLSL
void initShaders(); // Inicializa los shaders
void adjustWindowSize(); // Calcula el tamaño de la ventana
void getDisplayInfo(); // Obtiene información sobre la pantalla
void renderOverlays(); // Renderiza todos los overlays y efectos