fix: corregir guard de padding inferior en HelpOverlay
El guard usaba `current_y + line_height >= box_height_ - padding`, lo que cortaba la última línea de col0 (Num/) por un solo píxel. Cambiado a `current_y + glyph_height > box_height_ - padding` para usar el alto visual real del glifo en lugar del line_height completo. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -31,15 +31,15 @@ HelpOverlay::HelpOverlay()
|
|||||||
{"1-8", "Escenarios (10 a 50.000 pelotas)"},
|
{"1-8", "Escenarios (10 a 50.000 pelotas)"},
|
||||||
{"F", "Cambia entre figura y física"},
|
{"F", "Cambia entre figura y física"},
|
||||||
{"B", "Cambia entre boids y física"},
|
{"B", "Cambia entre boids y física"},
|
||||||
{"ESPACIO", "Impulso contra gravedad"},
|
{"ESPACIO", "Impulso contra la gravedad"},
|
||||||
{"G", "Activar / Desactivar gravedad"},
|
{"G", "Activar / Desactivar gravedad"},
|
||||||
{"CURSORES", "Dirección de gravedad"},
|
{"CURSORES", "Dirección de la gravedad"},
|
||||||
{"", ""}, // Separador
|
{"", ""}, // Separador
|
||||||
|
|
||||||
// COLUMNA 1: FIGURAS 3D
|
// COLUMNA 1: FIGURAS 3D
|
||||||
{"FIGURAS 3D", ""},
|
{"FIGURAS 3D", ""},
|
||||||
{"Q/W/E/R", "Esfera/Lissajous/Hélice/Toroide"},
|
{"Q/W/E/R", "Esfera / Lissajous / Hélice / Toroide"},
|
||||||
{"T/Y/U/I", "Cubo/Cilindro/Icosaedro/Átomo"},
|
{"T/Y/U/I", "Cubo / Cilindro / Icosaedro / Átomo"},
|
||||||
{"Num+/-", "Escalar figura"},
|
{"Num+/-", "Escalar figura"},
|
||||||
{"Num*", "Reset escala"},
|
{"Num*", "Reset escala"},
|
||||||
{"Num/", "Activar / Desactivar profundidad"},
|
{"Num/", "Activar / Desactivar profundidad"},
|
||||||
@@ -74,7 +74,7 @@ HelpOverlay::HelpOverlay()
|
|||||||
{"", ""}, // Separador
|
{"", ""}, // Separador
|
||||||
|
|
||||||
// COLUMNA 3: DEBUG/AYUDA
|
// COLUMNA 3: DEBUG/AYUDA
|
||||||
{"DEBUG/AYUDA", ""},
|
{"DEBUG / AYUDA", ""},
|
||||||
{"F12", "Activar / Desactivar info debug"},
|
{"F12", "Activar / Desactivar info debug"},
|
||||||
{"H", "Esta ayuda"},
|
{"H", "Esta ayuda"},
|
||||||
{"ESC", "Salir"}};
|
{"ESC", "Salir"}};
|
||||||
@@ -252,6 +252,7 @@ void HelpOverlay::calculateBoxDimensions() {
|
|||||||
// Centrar en pantalla
|
// Centrar en pantalla
|
||||||
box_x_ = (physical_width_ - box_width_) / 2;
|
box_x_ = (physical_width_ - box_width_) / 2;
|
||||||
box_y_ = (physical_height_ - box_height_) / 2;
|
box_y_ = (physical_height_ - box_height_) / 2;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void HelpOverlay::rebuildCachedTexture() {
|
void HelpOverlay::rebuildCachedTexture() {
|
||||||
@@ -353,6 +354,7 @@ void HelpOverlay::rebuildCachedTexture() {
|
|||||||
// Ancho de cada columna (para centrado interno)
|
// Ancho de cada columna (para centrado interno)
|
||||||
int col_width[3] = {column1_width_, column2_width_, column3_width_};
|
int col_width[3] = {column1_width_, column2_width_, column3_width_};
|
||||||
|
|
||||||
|
int glyph_height = text_renderer_->getGlyphHeight();
|
||||||
int current_y = padding;
|
int current_y = padding;
|
||||||
int current_column = 0;
|
int current_column = 0;
|
||||||
|
|
||||||
@@ -369,7 +371,8 @@ void HelpOverlay::rebuildCachedTexture() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// CHECK PADDING INFERIOR ANTES de escribir la línea
|
// CHECK PADDING INFERIOR ANTES de escribir la línea
|
||||||
if (current_y + line_height >= box_height_ - padding) {
|
// Usamos glyph_height (no line_height) porque el gap después de la última línea no ocupa espacio visual
|
||||||
|
if (current_y + glyph_height > box_height_ - padding) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user