ui better
This commit is contained in:
60
src/main.c
60
src/main.c
@@ -176,41 +176,67 @@ int main(void)
|
|||||||
|
|
||||||
/* Dibujando interfaz gráfica */
|
/* Dibujando interfaz gráfica */
|
||||||
{
|
{
|
||||||
|
/* Mejorar el diseño del UI */
|
||||||
nk_glfw3_new_frame(&glfw);
|
nk_glfw3_new_frame(&glfw);
|
||||||
|
|
||||||
if (nk_begin(context, "MANIGRAPH", nk_rect(0, 0, 500, 500),
|
if (nk_begin(context, "MANIGRAPH", nk_rect(10, 10, 480, 480),
|
||||||
NK_WINDOW_BORDER | NK_WINDOW_TITLE | NK_WINDOW_MINIMIZABLE | NK_WINDOW_MOVABLE | NK_WINDOW_SCALABLE)) {
|
NK_WINDOW_BORDER | NK_WINDOW_TITLE | NK_WINDOW_SCALABLE | NK_WINDOW_MOVABLE | NK_WINDOW_MINIMIZABLE)) {
|
||||||
|
|
||||||
nk_label(context, "MANIGRAPH", NK_TEXT_ALIGN_CENTERED);
|
/* Encabezado del UI */
|
||||||
nk_layout_row_dynamic(context, 30, 1);
|
nk_layout_row_dynamic(context, 30, 1);
|
||||||
nk_label(context, "No sé que poner aki", NK_TEXT_ALIGN_LEFT);
|
nk_label_colored(context, "MANIGRAPH", NK_TEXT_ALIGN_CENTERED, nk_rgb(255, 255, 0)); // Título en amarillo
|
||||||
|
|
||||||
// Botón estilizado
|
/* Información sobre la gráfica */
|
||||||
nk_layout_row_static(context, 40, 200, 1);
|
nk_layout_row_dynamic(context, 20, 1);
|
||||||
if (nk_button_label(context, "Botón")) {
|
nk_label(context, "Información de la gráfica:", NK_TEXT_ALIGN_LEFT);
|
||||||
printf("Botón Azul presionado\n");
|
|
||||||
}
|
|
||||||
|
|
||||||
// Texto con colores personalizados
|
/* Mostrar la función de la gráfica */
|
||||||
nk_label_colored(context, "Texto en rojo", NK_TEXT_ALIGN_LEFT, nk_rgb(255, 0, 0));
|
nk_label_colored(context, "Función actual: z = x^2 + y^2", NK_TEXT_ALIGN_LEFT, nk_rgb(0, 255, 0)); // Texto verde
|
||||||
|
|
||||||
// Color Picker
|
/* Color picker para personalización */
|
||||||
nk_layout_row_dynamic(context, 120, 1); // Crear espacio para el selector de color
|
nk_layout_row_dynamic(context, 120, 1); // Área para selector de color
|
||||||
picked_color = nk_color_picker(context, picked_color, NK_RGBA);
|
picked_color = nk_color_picker(context, picked_color, NK_RGBA);
|
||||||
|
|
||||||
// Aplicar el color seleccionado al gráfico
|
/* Aplicar color a la gráfica */
|
||||||
graph_color[0] = picked_color.r; // Rojo
|
graph_color[0] = picked_color.r;
|
||||||
graph_color[1] = picked_color.g; // Verde
|
graph_color[1] = picked_color.g;
|
||||||
graph_color[2] = picked_color.b; // Azul
|
graph_color[2] = picked_color.b;
|
||||||
|
|
||||||
glUseProgram(shader);
|
glUseProgram(shader);
|
||||||
glUniform3fv(glGetUniformLocation(shader, "uColor"), 1, graph_color);
|
glUniform3fv(glGetUniformLocation(shader, "uColor"), 1, graph_color);
|
||||||
|
|
||||||
|
/* Opciones de configuración */
|
||||||
|
nk_layout_row_dynamic(context, 30, 2); // Filas divididas en dos columnas
|
||||||
|
if (nk_button_label(context, "Restablecer")) {
|
||||||
|
printf("Color restablecido\n");
|
||||||
|
picked_color.r = 1.0f;
|
||||||
|
picked_color.g = 1.0f;
|
||||||
|
picked_color.b = 1.0f;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (nk_button_label(context, "Exportar")) {
|
||||||
|
printf("Exportar gráfica\n");
|
||||||
|
// Lógica de exportación aquí
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Sección de ayuda */
|
||||||
|
nk_layout_row_dynamic(context, 20, 1);
|
||||||
|
nk_label_colored(context, "Atajos de teclado:", NK_TEXT_ALIGN_LEFT, nk_rgb(255, 255, 255)); // Encabezado
|
||||||
|
nk_label(context, " - W/S: Rotar eje X", NK_TEXT_ALIGN_LEFT);
|
||||||
|
nk_label(context, " - A/D: Rotar eje Y", NK_TEXT_ALIGN_LEFT);
|
||||||
|
nk_label(context, " - Z/X: Rotar eje Z", NK_TEXT_ALIGN_LEFT);
|
||||||
|
|
||||||
|
/* Espacio para interacción adicional */
|
||||||
|
nk_layout_row_dynamic(context, 30, 1);
|
||||||
|
if (nk_button_label(context, "Salir")) {
|
||||||
|
printf("Cerrando aplicación\n");
|
||||||
|
break; // Salir del bucle principal
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
nk_end(context);
|
nk_end(context);
|
||||||
nk_glfw3_render(&glfw, NK_ANTI_ALIASING_ON, MAX_VERTEX_BUFFER, MAX_ELEMENT_BUFFER);
|
nk_glfw3_render(&glfw, NK_ANTI_ALIASING_ON, MAX_VERTEX_BUFFER, MAX_ELEMENT_BUFFER);
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
mlog("[MAIN LOOP] Terminando...\n");
|
mlog("[MAIN LOOP] Terminando...\n");
|
||||||
|
|||||||
Reference in New Issue
Block a user