Corregidos ~2570 issues automáticamente con clang-tidy --fix-errors más ajustes manuales posteriores: - modernize: designated-initializers, trailing-return-type, use-auto, avoid-c-arrays (→ std::array<>), use-ranges, use-emplace, deprecated-headers, use-equals-default, pass-by-value, return-braced-init-list, use-default-member-init - readability: math-missing-parentheses, implicit-bool-conversion, braces-around-statements, isolate-declaration, use-std-min-max, identifier-naming, else-after-return, redundant-casting, convert-member-functions-to-static, make-member-function-const, static-accessed-through-instance - performance: avoid-endl, unnecessary-value-param, type-promotion, inefficient-vector-operation - dead code: XOR_KEY (orphan tras eliminar encryptData/decryptData), dead stores en engine.cpp y png_shape.cpp - NOLINT justificado en 10 funciones con alta complejidad cognitiva (initialize, render, main, processEvents, update×3, performDemoAction, randomizeOnDemoStart, renderDebugHUD, AppLogo::update) Compilación: gcc -Wall sin warnings. clang-tidy: 0 issues. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
33 lines
1.1 KiB
C++
33 lines
1.1 KiB
C++
#pragma once
|
|
|
|
#include <SDL3/SDL_events.h> // for SDL_Event
|
|
|
|
// Forward declaration para evitar dependencia circular
|
|
class Engine;
|
|
|
|
/**
|
|
* @class InputHandler
|
|
* @brief Procesa eventos de entrada (teclado, ratón, ventana) y los traduce a acciones del Engine
|
|
*
|
|
* Responsabilidad única: Manejo de input SDL y traducción a comandos de alto nivel
|
|
*
|
|
* Características:
|
|
* - Procesa todos los eventos SDL (teclado, ratón, quit)
|
|
* - Traduce inputs a llamadas de métodos del Engine
|
|
* - Mantiene el Engine desacoplado de la lógica de input SDL
|
|
* - Soporta todos los controles del proyecto (gravedad, figuras, temas, zoom, fullscreen)
|
|
*/
|
|
class InputHandler {
|
|
public:
|
|
/**
|
|
* @brief Procesa todos los eventos SDL pendientes
|
|
* @param engine Referencia al engine para ejecutar acciones
|
|
* @return true si se debe salir de la aplicación (ESC o cerrar ventana), false en caso contrario
|
|
*/
|
|
static bool processEvents(Engine& engine);
|
|
|
|
private:
|
|
// Sin estado interno por ahora - el InputHandler es stateless
|
|
// Todos los estados se delegan al Engine
|
|
};
|