fix: Help Overlay - ambas columnas respetan padding inferior

Problema:
- Solo columna 0 verificaba si cabía más texto antes de escribir
- Columna 1 (derecha) escribía fuera del overlay si no cabía
- En ventanas de 600px altura, columna 1 se desbordaba

Solución:
- Eliminada restricción `&& current_column == 0` del check de padding
- Ahora AMBAS columnas verifican si caben antes de escribir
- Si columna 1 está llena: omitir texto restante (continue)
- Si columna 0 está llena: cambiar a columna 1

Comportamiento preferido por el usuario:
"prefiero que 'falte texto' a que el texto se escriba por fuera del overlay"

Resultado:
 Columna 0 cambia a columna 1 cuando se llena
 Columna 1 omite texto que no cabe
 Overlay nunca muestra texto fuera de sus límites
 Funciona correctamente en ventanas pequeñas (600px)

🤖 Generated with Claude Code

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
2025-10-17 07:33:17 +02:00
parent bcceb94c9e
commit 7fac103c51

View File

@@ -385,12 +385,19 @@ void HelpOverlay::rebuildCachedTexture() {
continue; continue;
} }
// CHECK PADDING INFERIOR ANTES de escribir la línea (solo para columna 0) // CHECK PADDING INFERIOR ANTES de escribir la línea (AMBAS COLUMNAS)
// Verificar si la PRÓXIMA línea cabrá dentro del box con padding inferior // Verificar si la PRÓXIMA línea cabrá dentro del box con padding inferior
if (current_y + line_height >= box_height_ - padding && current_column == 0) { if (current_y + line_height >= box_height_ - padding) {
current_column = 1; if (current_column == 0) {
current_x = padding + column1_width_ + padding; // Columna 0 llena: cambiar a columna 1
current_y = content_start_y; current_column = 1;
current_x = padding + column1_width_ + padding;
current_y = content_start_y;
} else {
// Columna 1 llena: omitir resto de texto (no cabe)
// Preferible omitir que sobresalir del overlay
continue;
}
} }
if (binding.description[0] == '\0') { if (binding.description[0] == '\0') {