Implementar toggle de escalado INTEGER/STRETCH en fullscreen (F5)

Funcionalidad:
- Tecla F5 alterna entre escalado INTEGER y STRETCH
- Solo activo en modo fullscreen F3 (no aplica en F4)
- INTEGER: Mantiene aspecto 4:3 con bandas negras
- STRETCH: Estira imagen a pantalla completa
- Texto informativo: 'SCALING: INTEGER' o 'SCALING: STRETCH'

Implementación:
- Variable integer_scaling_enabled_ (true por defecto)
- toggleIntegerScaling() cambia SDL_RendererLogicalPresentation
- Solo funciona si fullscreen_enabled_ == true
- Ignora la tecla si no estás en modo F3

README actualizado:
- Añadida tecla F5 en controles de ventana
- Actualizada descripción de F3
- Nueva característica en lista principal

Comportamiento:
- Por defecto: INTEGER (mantiene aspecto)
- Presionar F5: Cambia a STRETCH (pantalla completa)
- Presionar F5 otra vez: Vuelve a INTEGER

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
2025-10-04 08:38:41 +02:00
parent 3be3833e55
commit 59c5ebe9be
3 changed files with 33 additions and 2 deletions

View File

@@ -61,6 +61,7 @@ private:
std::string vsync_text_ = "VSYNC ON";
bool fullscreen_enabled_ = false;
bool real_fullscreen_enabled_ = false;
bool integer_scaling_enabled_ = true; // Escalado entero (mantiene aspecto) por defecto
// Auto-restart system
Uint64 all_balls_stopped_start_time_ = 0; // Momento cuando todas se pararon
@@ -121,6 +122,7 @@ private:
void toggleVSync();
void toggleFullscreen();
void toggleRealFullscreen();
void toggleIntegerScaling();
std::string gravityDirectionToString(GravityDirection direction) const;
void initializeThemes();
void checkAutoRestart();