fix: solventat el problema amb els shaders i el canvi a pantalla completa en sistemes unix
This commit is contained in:
@@ -2,6 +2,7 @@
|
|||||||
#include <SDL3/SDL_log.h> // Para SDL_LogInfo, SDL_LogCategory
|
#include <SDL3/SDL_log.h> // Para SDL_LogInfo, SDL_LogCategory
|
||||||
#include "mouse.h" // Para handleEvent
|
#include "mouse.h" // Para handleEvent
|
||||||
#include "section.h" // Para Name, Options, name, options
|
#include "section.h" // Para Name, Options, name, options
|
||||||
|
#include "screen.h"
|
||||||
|
|
||||||
namespace GlobalEvents
|
namespace GlobalEvents
|
||||||
{
|
{
|
||||||
@@ -21,6 +22,7 @@ namespace GlobalEvents
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case SDL_EVENT_WINDOW_RESIZED:
|
case SDL_EVENT_WINDOW_RESIZED:
|
||||||
|
Screen::get()->initShaders();
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
|
|||||||
@@ -124,7 +124,6 @@ void Screen::renderScreen()
|
|||||||
void Screen::setFullscreenMode()
|
void Screen::setFullscreenMode()
|
||||||
{
|
{
|
||||||
SDL_SetWindowFullscreen(window_, Options::video.fullscreen);
|
SDL_SetWindowFullscreen(window_, Options::video.fullscreen);
|
||||||
initShaders();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Camibia entre pantalla completa y ventana
|
// 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_SetWindowPosition(window_, std::max(NEW_POS_X, WINDOWS_DECORATIONS_), std::max(NEW_POS_Y, 0));
|
||||||
SDL_SetWindowSize(window_, WIDTH, HEIGHT);
|
SDL_SetWindowSize(window_, WIDTH, HEIGHT);
|
||||||
|
|
||||||
initShaders();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -39,6 +39,7 @@ public:
|
|||||||
bool decWindowSize(); // Reduce el tamaño de la ventana
|
bool decWindowSize(); // Reduce el tamaño de la ventana
|
||||||
bool incWindowSize(); // Aumenta el tamaño de la ventana
|
bool incWindowSize(); // Aumenta el tamaño de la ventana
|
||||||
void applySettings(); // Aplica los valores de las opciones
|
void applySettings(); // Aplica los valores de las opciones
|
||||||
|
void initShaders(); // Inicializa los shaders
|
||||||
|
|
||||||
// --- Efectos visuales ---
|
// --- Efectos visuales ---
|
||||||
void shake() { shake_effect_.enable(src_rect_, dst_rect_); } // Agita la pantalla
|
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 renderInfo(); // Muestra información por pantalla
|
||||||
void renderScreen(); // Selecciona y ejecuta el método de renderizado adecuado
|
void renderScreen(); // Selecciona y ejecuta el método de renderizado adecuado
|
||||||
void loadShaders(); // Carga el contenido del archivo GLSL
|
void loadShaders(); // Carga el contenido del archivo GLSL
|
||||||
void initShaders(); // Inicializa los shaders
|
|
||||||
void adjustWindowSize(); // Calcula el tamaño de la ventana
|
void adjustWindowSize(); // Calcula el tamaño de la ventana
|
||||||
void getDisplayInfo(); // Obtiene información sobre la pantalla
|
void getDisplayInfo(); // Obtiene información sobre la pantalla
|
||||||
void renderOverlays(); // Renderiza todos los overlays y efectos
|
void renderOverlays(); // Renderiza todos los overlays y efectos
|
||||||
|
|||||||
Reference in New Issue
Block a user