diff --git a/callback.c b/callback.c index 07b6f24..122fb24 100644 --- a/callback.c +++ b/callback.c @@ -5,6 +5,8 @@ #include "contain.h" #include "texts.h" #include "in_depth.h" +#include "parsing.h" +#include "graph_area.h" /******************************************************************************/ /* M A I N W I N D O W A C T I V A T I O N */ @@ -18,6 +20,26 @@ void ui_main_window (GtkApplication *self, gpointer user_data) gtk_window_present (GTK_WINDOW (main_window)); } +void ui_send_internal_notification(const char *message) +{ + /* Ignored (2024-06-06) because I don't know how to get "main_window" easily + + if (window->toast_revealer == NULL) { + g_printerr("Can't find self->toast_overlay !\n"); + return; + } + + if (window->toast_text == NULL) { + g_printerr("Can't find self->toast_overlay !\n"); + return; + } + + gtk_label_set_label(window->toast_text, message); + gtk_revealer_set_reveal_child(window->toast_revealer, true); + */ + g_printerr("%s\n", message); +} + /******************************************************************************/ /* T R E E */ /******************************************************************************/ @@ -40,6 +62,74 @@ void on_bind_user_tree_factory (GtkSignalListItemFactory *factory, GObject* obje gtk_widget_set_margin_start(expander, gtk_tree_list_row_get_depth(row) * 20); } +/******************************************************************************/ +/* G L A R E A */ +/******************************************************************************/ +gboolean on_glarea_render(GtkGLArea *area, GdkGLContext *context) +{ + // Check if the widget is a glarea + if(gtk_gl_area_get_error(area) != NULL) { +////////////////////////// ui_send_internal_notification("An OpenGL error occured !"); + return false; + } + +////////////////////////// if (ui_render_stack(gtk_widget_get_parent(GTK_WIDGET(area))) == false) { +////////////////////////// ui_send_internal_notification("Failed to render corresponding graphic stack !"); +////////////////////////// return false; +////////////////////////// } + + return true; +} + + +/* We need to set up our state when we realize the GtkGLArea widget */ +void on_glarea_realize(GtkWidget *widget) +{ + GError *internal_error = NULL; + + // Make the GL context current to be able to call the GL API + gtk_gl_area_make_current(GTK_GL_AREA(widget)); + + // Check if the widget is a glarea + if(gtk_gl_area_get_error(GTK_GL_AREA(widget)) != NULL) { + ui_send_internal_notification("An OpenGL error occured !"); + return; + } + + // Link graphical stack to widget + if (ui_init_graphic_stack(gtk_widget_get_parent(widget), + internal_error) == false) { + ui_send_internal_notification( + "Failed to link the graphic stack to widgets !"); + return; + } + + gtk_gl_area_set_auto_render(GTK_GL_AREA(widget), true); +} + +/* We should tear down the state when unrealizing */ +void on_glarea_unrealize(GtkWidget *widget) +{ + GError *internal_error = NULL; + + // Make the GL context current to be able to call the GL API + gtk_gl_area_make_current(GTK_GL_AREA(widget)); + + // Check if the widget is a glarea + if(gtk_gl_area_get_error(GTK_GL_AREA(widget)) != NULL) { + ui_send_internal_notification("An OpenGL error occured !"); + return; + } + + // Destroy graphic stack + if (ui_shutdown_graphic_stack(gtk_widget_get_parent(widget), + internal_error) == false) { + ui_send_internal_notification( + "Failed to shutdown the graphic stack !"); + return; + } +} + /******************************************************************************/ /* B U T T O N S */ /******************************************************************************/ diff --git a/callback.d b/callback.d new file mode 100644 index 0000000..72ca2c2 --- /dev/null +++ b/callback.d @@ -0,0 +1,5 @@ +callback.o: callback.c tree.h \ + /gnu/store/hsby4biv4wjywr7slvjf0ykk1xzf31xb-glib-2.78.0/include/glib-2.0/glib.h \ + display.h contain.h texts.h in_depth.h parsing.h base.h graph_area.h \ + /gnu/store/0gxl8awg16qysdmxsflwnz0gyynrgs99-mesa-24.0.4/include/GL/glext.h \ + /gnu/store/0gxl8awg16qysdmxsflwnz0gyynrgs99-mesa-24.0.4/include/KHR/khrplatform.h diff --git a/callback.h b/callback.h index 3b19d68..3fb290e 100644 --- a/callback.h +++ b/callback.h @@ -2,10 +2,15 @@ void ui_main_window (GtkApplication *app, gpointer user_data); +void ui_send_internal_notification(const char *message); void on_user_tree_expander_toggled (GtkExpander *expander, gpointer user_data); void on_bind_user_tree_factory (GtkSignalListItemFactory *factory, GObject* object, gpointer user_data); +gboolean on_glarea_render(GtkGLArea *area, GdkGLContext *context); +void on_glarea_realize(GtkWidget *widget); +void on_glarea_unrealize(GtkWidget *widget); + void ui_toggle_exec_edit (GtkWidget *btt_exec_xor_edit, gpointer data); void ui_toggle_model_exec (GtkWidget *btt_run_stop_model_exec, gpointer data); diff --git a/callback.o b/callback.o new file mode 100644 index 0000000..cd95bd6 Binary files /dev/null and b/callback.o differ diff --git a/contain.d b/contain.d new file mode 100644 index 0000000..dbb58bb --- /dev/null +++ b/contain.d @@ -0,0 +1,3 @@ +contain.o: contain.c callback.h display.h tree.h \ + /gnu/store/hsby4biv4wjywr7slvjf0ykk1xzf31xb-glib-2.78.0/include/glib-2.0/glib.h \ + contain.h texts.h diff --git a/contain.o b/contain.o new file mode 100644 index 0000000..d661340 Binary files /dev/null and b/contain.o differ diff --git a/display.d b/display.d new file mode 100644 index 0000000..fb49706 --- /dev/null +++ b/display.d @@ -0,0 +1,3 @@ +display.o: display.c contain.h tree.h \ + /gnu/store/hsby4biv4wjywr7slvjf0ykk1xzf31xb-glib-2.78.0/include/glib-2.0/glib.h \ + display.h texts.h diff --git a/display.o b/display.o new file mode 100644 index 0000000..2bd4e21 Binary files /dev/null and b/display.o differ diff --git a/graph_area.c b/graph_area.c index fb4cdc6..8fe7d66 100644 --- a/graph_area.c +++ b/graph_area.c @@ -27,6 +27,7 @@ #include "contain.h" #include "graph_area.h" +#include "callback.h" struct stack_index_t { long stack_id; @@ -286,9 +287,9 @@ bool ui_setup_glarea(int target_mode, GtkWidget *target_widget) //gtk_widget_set_valign(gl_area, GTK_ALIGN_CENTER); // The main "draw" call for GtkGLArea -////////////////////////// g_signal_connect(GTK_GL_AREA(gl_area), "render", G_CALLBACK(on_glarea_render), NULL); -////////////////////////// g_signal_connect(gl_area, "realize", G_CALLBACK(on_glarea_realize), NULL); -////////////////////////// g_signal_connect(gl_area, "unrealize", G_CALLBACK(on_glarea_unrealize), NULL); + g_signal_connect(GTK_GL_AREA(gl_area), "render", G_CALLBACK(on_glarea_render), NULL); + g_signal_connect(gl_area, "realize", G_CALLBACK(on_glarea_realize), NULL); + g_signal_connect(gl_area, "unrealize", G_CALLBACK(on_glarea_unrealize), NULL); stack_index[stack_index_size-1].container_widget = (void*)target_widget; diff --git a/graph_area.d b/graph_area.d new file mode 100644 index 0000000..19fb827 --- /dev/null +++ b/graph_area.d @@ -0,0 +1,6 @@ +graph_area.o: graph_area.c \ + /gnu/store/hsby4biv4wjywr7slvjf0ykk1xzf31xb-glib-2.78.0/include/glib-2.0/glib.h \ + contain.h graph_area.h \ + /gnu/store/0gxl8awg16qysdmxsflwnz0gyynrgs99-mesa-24.0.4/include/GL/glext.h \ + /gnu/store/0gxl8awg16qysdmxsflwnz0gyynrgs99-mesa-24.0.4/include/KHR/khrplatform.h \ + base.h callback.h diff --git a/graph_area.h b/graph_area.h index 2181922..ccec84e 100644 --- a/graph_area.h +++ b/graph_area.h @@ -117,6 +117,9 @@ bool graphics_shutdown(const int stack_id, void *error_buffer); */ bool graphics_init_shaders(const int stack_id); +bool ui_init_graphic_stack(void *container_widget, GError *error_buffer); +bool ui_shutdown_graphic_stack(void *container_widget, GError *error_buffer); + /* Initializes the buffer of a gl_area * Calls according to the user preferences * @param gl_area, ptr to the gl_area widget diff --git a/graph_area.o b/graph_area.o new file mode 100644 index 0000000..f058996 Binary files /dev/null and b/graph_area.o differ diff --git a/graph_stack.c b/graph_stack.c index 32d9690..df628bb 100644 --- a/graph_stack.c +++ b/graph_stack.c @@ -28,6 +28,7 @@ #include "contain.h" #include "graph_area.h" +#include "parsing.h" #define TEST 0 @@ -277,7 +278,7 @@ void graphics_model_setup (const int stack_id) stack->arrows_nb = 0; multiplicity = model_get_multiplicity(); - g_print("[GRAPH DEBUG] site_multiplicity = %ld\n", multiplicity); + g_print("[GRAPH DEBUG] site_multiplicity = %d, density_max = %d\n", multiplicity, density_max); /*------------------------------------------------------------------------*/ @@ -285,10 +286,10 @@ void graphics_model_setup (const int stack_id) /*------------------------------------------------------------------------*/ - draw_space_ridges_vertex (stack_id, stack->buffer_vertex_size, space_X, space_Y, space_Z); - draw_space_ridges_lines (stack_id); - draw_grids_on_space_faces_vertex (stack_id, space_X, space_Y, space_Z); - draw_grids_on_space_faces_lines (stack_id, stack->buffer_lines_size, space_X, space_Y, space_Z); +////////////////////////// draw_space_ridges_vertex (stack_id, stack->buffer_vertex_size, space_X, space_Y, space_Z); +////////////////////////// draw_space_ridges_lines (stack_id); +////////////////////////// draw_grids_on_space_faces_vertex (stack_id, space_X, space_Y, space_Z); +////////////////////////// draw_grids_on_space_faces_lines (stack_id, stack->buffer_lines_size, space_X, space_Y, space_Z); stack->buffer_vertex_0_arrow = stack->buffer_vertex_size; stack->buffer_colors_0_arrow = stack->buffer_colors_size; @@ -303,7 +304,7 @@ void graphics_model_setup (const int stack_id) char state_id[30] = {0}; struct arrow_t arrow = {0}; - assert(model_get_next_state(&state_id)); + assert(model_get_next_state((char *)&state_id)); g_print("[GRAPH DEBUG] first state is = %s\n", state_id); @@ -311,7 +312,7 @@ void graphics_model_setup (const int stack_id) g_print("[GRAPH DEBUG] announced_arrows_nb is = %ld\n", announced_arrows_nb); - while (model_get_next_arrow(&arrow, &state_id, dimension)) { + while (model_get_next_arrow(&arrow, (char *)&state_id, dimension)) { g_print("[GRAPH DEBUG] cur arrow has x = %d\n", arrow.x); ////////////////////////// stack->arrows_nb = set_arrow (stack_id, stack->arrows_nb, space_X, space_Y, space_Z, arrow.load, arrow.site, arrow.x, arrow.y, arrow.z); } diff --git a/graph_stack.d b/graph_stack.d new file mode 100644 index 0000000..252928c --- /dev/null +++ b/graph_stack.d @@ -0,0 +1,6 @@ +graph_stack.o: graph_stack.c contain.h graph_area.h \ + /gnu/store/0gxl8awg16qysdmxsflwnz0gyynrgs99-mesa-24.0.4/include/GL/glext.h \ + /gnu/store/0gxl8awg16qysdmxsflwnz0gyynrgs99-mesa-24.0.4/include/KHR/khrplatform.h \ + base.h \ + /gnu/store/hsby4biv4wjywr7slvjf0ykk1xzf31xb-glib-2.78.0/include/glib-2.0/glib.h \ + parsing.h diff --git a/graph_stack.o b/graph_stack.o new file mode 100644 index 0000000..4a3f5c7 Binary files /dev/null and b/graph_stack.o differ diff --git a/in_depth.d b/in_depth.d new file mode 100644 index 0000000..cced342 --- /dev/null +++ b/in_depth.d @@ -0,0 +1 @@ +in_depth.o: in_depth.c callback.h diff --git a/in_depth.o b/in_depth.o new file mode 100644 index 0000000..d78f4ff Binary files /dev/null and b/in_depth.o differ diff --git a/init.d b/init.d new file mode 100644 index 0000000..23f08cd --- /dev/null +++ b/init.d @@ -0,0 +1,91 @@ +init.o: init.c base.h \ + /gnu/store/hsby4biv4wjywr7slvjf0ykk1xzf31xb-glib-2.78.0/include/glib-2.0/glib.h \ + /gnu/store/hsby4biv4wjywr7slvjf0ykk1xzf31xb-glib-2.78.0/include/glib-2.0/glib/galloca.h \ + /gnu/store/hsby4biv4wjywr7slvjf0ykk1xzf31xb-glib-2.78.0/include/glib-2.0/glib/gtypes.h \ + /gnu/store/hsby4biv4wjywr7slvjf0ykk1xzf31xb-glib-2.78.0/lib/glib-2.0/include/glibconfig.h \ + /gnu/store/hsby4biv4wjywr7slvjf0ykk1xzf31xb-glib-2.78.0/include/glib-2.0/glib/gmacros.h \ + /gnu/store/hsby4biv4wjywr7slvjf0ykk1xzf31xb-glib-2.78.0/include/glib-2.0/glib/gversionmacros.h \ + /gnu/store/hsby4biv4wjywr7slvjf0ykk1xzf31xb-glib-2.78.0/include/glib-2.0/glib/glib-visibility.h \ + /gnu/store/hsby4biv4wjywr7slvjf0ykk1xzf31xb-glib-2.78.0/include/glib-2.0/glib/garray.h \ + /gnu/store/hsby4biv4wjywr7slvjf0ykk1xzf31xb-glib-2.78.0/include/glib-2.0/glib/gasyncqueue.h \ + /gnu/store/hsby4biv4wjywr7slvjf0ykk1xzf31xb-glib-2.78.0/include/glib-2.0/glib/gthread.h \ + /gnu/store/hsby4biv4wjywr7slvjf0ykk1xzf31xb-glib-2.78.0/include/glib-2.0/glib/gatomic.h \ + /gnu/store/hsby4biv4wjywr7slvjf0ykk1xzf31xb-glib-2.78.0/include/glib-2.0/glib/glib-typeof.h \ + /gnu/store/hsby4biv4wjywr7slvjf0ykk1xzf31xb-glib-2.78.0/include/glib-2.0/glib/gerror.h \ + /gnu/store/hsby4biv4wjywr7slvjf0ykk1xzf31xb-glib-2.78.0/include/glib-2.0/glib/gquark.h \ + /gnu/store/hsby4biv4wjywr7slvjf0ykk1xzf31xb-glib-2.78.0/include/glib-2.0/glib/gutils.h \ + /gnu/store/hsby4biv4wjywr7slvjf0ykk1xzf31xb-glib-2.78.0/include/glib-2.0/glib/gbacktrace.h \ + /gnu/store/hsby4biv4wjywr7slvjf0ykk1xzf31xb-glib-2.78.0/include/glib-2.0/glib/gbase64.h \ + /gnu/store/hsby4biv4wjywr7slvjf0ykk1xzf31xb-glib-2.78.0/include/glib-2.0/glib/gbitlock.h \ + /gnu/store/hsby4biv4wjywr7slvjf0ykk1xzf31xb-glib-2.78.0/include/glib-2.0/glib/gbookmarkfile.h \ + /gnu/store/hsby4biv4wjywr7slvjf0ykk1xzf31xb-glib-2.78.0/include/glib-2.0/glib/gdatetime.h \ + /gnu/store/hsby4biv4wjywr7slvjf0ykk1xzf31xb-glib-2.78.0/include/glib-2.0/glib/gtimezone.h \ + /gnu/store/hsby4biv4wjywr7slvjf0ykk1xzf31xb-glib-2.78.0/include/glib-2.0/glib/gbytes.h \ + /gnu/store/hsby4biv4wjywr7slvjf0ykk1xzf31xb-glib-2.78.0/include/glib-2.0/glib/gcharset.h \ + /gnu/store/hsby4biv4wjywr7slvjf0ykk1xzf31xb-glib-2.78.0/include/glib-2.0/glib/gchecksum.h \ + /gnu/store/hsby4biv4wjywr7slvjf0ykk1xzf31xb-glib-2.78.0/include/glib-2.0/glib/gconvert.h \ + /gnu/store/hsby4biv4wjywr7slvjf0ykk1xzf31xb-glib-2.78.0/include/glib-2.0/glib/gdataset.h \ + /gnu/store/hsby4biv4wjywr7slvjf0ykk1xzf31xb-glib-2.78.0/include/glib-2.0/glib/gdate.h \ + /gnu/store/hsby4biv4wjywr7slvjf0ykk1xzf31xb-glib-2.78.0/include/glib-2.0/glib/gdir.h \ + /gnu/store/hsby4biv4wjywr7slvjf0ykk1xzf31xb-glib-2.78.0/include/glib-2.0/glib/genviron.h \ + /gnu/store/hsby4biv4wjywr7slvjf0ykk1xzf31xb-glib-2.78.0/include/glib-2.0/glib/gfileutils.h \ + /gnu/store/hsby4biv4wjywr7slvjf0ykk1xzf31xb-glib-2.78.0/include/glib-2.0/glib/ggettext.h \ + /gnu/store/hsby4biv4wjywr7slvjf0ykk1xzf31xb-glib-2.78.0/include/glib-2.0/glib/ghash.h \ + /gnu/store/hsby4biv4wjywr7slvjf0ykk1xzf31xb-glib-2.78.0/include/glib-2.0/glib/glist.h \ + /gnu/store/hsby4biv4wjywr7slvjf0ykk1xzf31xb-glib-2.78.0/include/glib-2.0/glib/gmem.h \ + /gnu/store/hsby4biv4wjywr7slvjf0ykk1xzf31xb-glib-2.78.0/include/glib-2.0/glib/gnode.h \ + /gnu/store/hsby4biv4wjywr7slvjf0ykk1xzf31xb-glib-2.78.0/include/glib-2.0/glib/ghmac.h \ + /gnu/store/hsby4biv4wjywr7slvjf0ykk1xzf31xb-glib-2.78.0/include/glib-2.0/glib/gchecksum.h \ + /gnu/store/hsby4biv4wjywr7slvjf0ykk1xzf31xb-glib-2.78.0/include/glib-2.0/glib/ghook.h \ + /gnu/store/hsby4biv4wjywr7slvjf0ykk1xzf31xb-glib-2.78.0/include/glib-2.0/glib/ghostutils.h \ + /gnu/store/hsby4biv4wjywr7slvjf0ykk1xzf31xb-glib-2.78.0/include/glib-2.0/glib/giochannel.h \ + /gnu/store/hsby4biv4wjywr7slvjf0ykk1xzf31xb-glib-2.78.0/include/glib-2.0/glib/gmain.h \ + /gnu/store/hsby4biv4wjywr7slvjf0ykk1xzf31xb-glib-2.78.0/include/glib-2.0/glib/gpoll.h \ + /gnu/store/hsby4biv4wjywr7slvjf0ykk1xzf31xb-glib-2.78.0/include/glib-2.0/glib/gslist.h \ + /gnu/store/hsby4biv4wjywr7slvjf0ykk1xzf31xb-glib-2.78.0/include/glib-2.0/glib/gstring.h \ + /gnu/store/hsby4biv4wjywr7slvjf0ykk1xzf31xb-glib-2.78.0/include/glib-2.0/glib/gunicode.h \ + /gnu/store/hsby4biv4wjywr7slvjf0ykk1xzf31xb-glib-2.78.0/include/glib-2.0/glib/gstrfuncs.h \ + /gnu/store/hsby4biv4wjywr7slvjf0ykk1xzf31xb-glib-2.78.0/include/glib-2.0/glib/gkeyfile.h \ + /gnu/store/hsby4biv4wjywr7slvjf0ykk1xzf31xb-glib-2.78.0/include/glib-2.0/glib/gmappedfile.h \ + /gnu/store/hsby4biv4wjywr7slvjf0ykk1xzf31xb-glib-2.78.0/include/glib-2.0/glib/gmarkup.h \ + /gnu/store/hsby4biv4wjywr7slvjf0ykk1xzf31xb-glib-2.78.0/include/glib-2.0/glib/gmessages.h \ + /gnu/store/hsby4biv4wjywr7slvjf0ykk1xzf31xb-glib-2.78.0/include/glib-2.0/glib/gvariant.h \ + /gnu/store/hsby4biv4wjywr7slvjf0ykk1xzf31xb-glib-2.78.0/include/glib-2.0/glib/gvarianttype.h \ + /gnu/store/hsby4biv4wjywr7slvjf0ykk1xzf31xb-glib-2.78.0/include/glib-2.0/glib/goption.h \ + /gnu/store/hsby4biv4wjywr7slvjf0ykk1xzf31xb-glib-2.78.0/include/glib-2.0/glib/gpathbuf.h \ + /gnu/store/hsby4biv4wjywr7slvjf0ykk1xzf31xb-glib-2.78.0/include/glib-2.0/glib/gpattern.h \ + /gnu/store/hsby4biv4wjywr7slvjf0ykk1xzf31xb-glib-2.78.0/include/glib-2.0/glib/gprimes.h \ + /gnu/store/hsby4biv4wjywr7slvjf0ykk1xzf31xb-glib-2.78.0/include/glib-2.0/glib/gqsort.h \ + /gnu/store/hsby4biv4wjywr7slvjf0ykk1xzf31xb-glib-2.78.0/include/glib-2.0/glib/gqueue.h \ + /gnu/store/hsby4biv4wjywr7slvjf0ykk1xzf31xb-glib-2.78.0/include/glib-2.0/glib/grand.h \ + /gnu/store/hsby4biv4wjywr7slvjf0ykk1xzf31xb-glib-2.78.0/include/glib-2.0/glib/grcbox.h \ + /gnu/store/hsby4biv4wjywr7slvjf0ykk1xzf31xb-glib-2.78.0/include/glib-2.0/glib/grefcount.h \ + /gnu/store/hsby4biv4wjywr7slvjf0ykk1xzf31xb-glib-2.78.0/include/glib-2.0/glib/grefstring.h \ + /gnu/store/hsby4biv4wjywr7slvjf0ykk1xzf31xb-glib-2.78.0/include/glib-2.0/glib/gmem.h \ + /gnu/store/hsby4biv4wjywr7slvjf0ykk1xzf31xb-glib-2.78.0/include/glib-2.0/glib/gmacros.h \ + /gnu/store/hsby4biv4wjywr7slvjf0ykk1xzf31xb-glib-2.78.0/include/glib-2.0/glib/gregex.h \ + /gnu/store/hsby4biv4wjywr7slvjf0ykk1xzf31xb-glib-2.78.0/include/glib-2.0/glib/gscanner.h \ + /gnu/store/hsby4biv4wjywr7slvjf0ykk1xzf31xb-glib-2.78.0/include/glib-2.0/glib/gsequence.h \ + /gnu/store/hsby4biv4wjywr7slvjf0ykk1xzf31xb-glib-2.78.0/include/glib-2.0/glib/gshell.h \ + /gnu/store/hsby4biv4wjywr7slvjf0ykk1xzf31xb-glib-2.78.0/include/glib-2.0/glib/gslice.h \ + /gnu/store/hsby4biv4wjywr7slvjf0ykk1xzf31xb-glib-2.78.0/include/glib-2.0/glib/gspawn.h \ + /gnu/store/hsby4biv4wjywr7slvjf0ykk1xzf31xb-glib-2.78.0/include/glib-2.0/glib/gstringchunk.h \ + /gnu/store/hsby4biv4wjywr7slvjf0ykk1xzf31xb-glib-2.78.0/include/glib-2.0/glib/gstrvbuilder.h \ + /gnu/store/hsby4biv4wjywr7slvjf0ykk1xzf31xb-glib-2.78.0/include/glib-2.0/glib/gtestutils.h \ + /gnu/store/hsby4biv4wjywr7slvjf0ykk1xzf31xb-glib-2.78.0/include/glib-2.0/glib/gthreadpool.h \ + /gnu/store/hsby4biv4wjywr7slvjf0ykk1xzf31xb-glib-2.78.0/include/glib-2.0/glib/gtimer.h \ + /gnu/store/hsby4biv4wjywr7slvjf0ykk1xzf31xb-glib-2.78.0/include/glib-2.0/glib/gtrashstack.h \ + /gnu/store/hsby4biv4wjywr7slvjf0ykk1xzf31xb-glib-2.78.0/include/glib-2.0/glib/gtree.h \ + /gnu/store/hsby4biv4wjywr7slvjf0ykk1xzf31xb-glib-2.78.0/include/glib-2.0/glib/guri.h \ + /gnu/store/hsby4biv4wjywr7slvjf0ykk1xzf31xb-glib-2.78.0/include/glib-2.0/glib/guuid.h \ + /gnu/store/hsby4biv4wjywr7slvjf0ykk1xzf31xb-glib-2.78.0/include/glib-2.0/glib/gversion.h \ + /gnu/store/hsby4biv4wjywr7slvjf0ykk1xzf31xb-glib-2.78.0/include/glib-2.0/glib/deprecated/gallocator.h \ + /gnu/store/hsby4biv4wjywr7slvjf0ykk1xzf31xb-glib-2.78.0/include/glib-2.0/glib/deprecated/gcache.h \ + /gnu/store/hsby4biv4wjywr7slvjf0ykk1xzf31xb-glib-2.78.0/include/glib-2.0/glib/deprecated/gcompletion.h \ + /gnu/store/hsby4biv4wjywr7slvjf0ykk1xzf31xb-glib-2.78.0/include/glib-2.0/glib/deprecated/gmain.h \ + /gnu/store/hsby4biv4wjywr7slvjf0ykk1xzf31xb-glib-2.78.0/include/glib-2.0/glib/deprecated/grel.h \ + /gnu/store/hsby4biv4wjywr7slvjf0ykk1xzf31xb-glib-2.78.0/include/glib-2.0/glib/deprecated/gthread.h \ + /gnu/store/hsby4biv4wjywr7slvjf0ykk1xzf31xb-glib-2.78.0/include/glib-2.0/glib/glib-autocleanups.h \ + contain.h graph_area.h \ + /gnu/store/0gxl8awg16qysdmxsflwnz0gyynrgs99-mesa-24.0.4/include/GL/glext.h \ + /gnu/store/0gxl8awg16qysdmxsflwnz0gyynrgs99-mesa-24.0.4/include/KHR/khrplatform.h diff --git a/init.o b/init.o new file mode 100644 index 0000000..3368af8 Binary files /dev/null and b/init.o differ diff --git a/main.d b/main.d new file mode 100644 index 0000000..6c89c45 --- /dev/null +++ b/main.d @@ -0,0 +1 @@ +main.o: main.c callback.h diff --git a/main.o b/main.o new file mode 100644 index 0000000..396a812 Binary files /dev/null and b/main.o differ diff --git a/myprogram b/myprogram new file mode 100755 index 0000000..1ef1ebe Binary files /dev/null and b/myprogram differ diff --git a/parsing.d b/parsing.d new file mode 100644 index 0000000..329b8de --- /dev/null +++ b/parsing.d @@ -0,0 +1,112 @@ +parsing.o: parsing.c \ + /gnu/store/dla8vj5s4gbndcikqsgdq2ydaisngf5b-libxml2-2.9.14/include/libxml2/libxml/tree.h \ + /gnu/store/dla8vj5s4gbndcikqsgdq2ydaisngf5b-libxml2-2.9.14/include/libxml2/libxml/xmlversion.h \ + /gnu/store/dla8vj5s4gbndcikqsgdq2ydaisngf5b-libxml2-2.9.14/include/libxml2/libxml/xmlexports.h \ + /gnu/store/dla8vj5s4gbndcikqsgdq2ydaisngf5b-libxml2-2.9.14/include/libxml2/libxml/xmlstring.h \ + /gnu/store/dla8vj5s4gbndcikqsgdq2ydaisngf5b-libxml2-2.9.14/include/libxml2/libxml/xmlregexp.h \ + /gnu/store/dla8vj5s4gbndcikqsgdq2ydaisngf5b-libxml2-2.9.14/include/libxml2/libxml/dict.h \ + /gnu/store/dla8vj5s4gbndcikqsgdq2ydaisngf5b-libxml2-2.9.14/include/libxml2/libxml/xmlmemory.h \ + /gnu/store/dla8vj5s4gbndcikqsgdq2ydaisngf5b-libxml2-2.9.14/include/libxml2/libxml/threads.h \ + /gnu/store/dla8vj5s4gbndcikqsgdq2ydaisngf5b-libxml2-2.9.14/include/libxml2/libxml/globals.h \ + /gnu/store/dla8vj5s4gbndcikqsgdq2ydaisngf5b-libxml2-2.9.14/include/libxml2/libxml/parser.h \ + /gnu/store/dla8vj5s4gbndcikqsgdq2ydaisngf5b-libxml2-2.9.14/include/libxml2/libxml/hash.h \ + /gnu/store/dla8vj5s4gbndcikqsgdq2ydaisngf5b-libxml2-2.9.14/include/libxml2/libxml/valid.h \ + /gnu/store/dla8vj5s4gbndcikqsgdq2ydaisngf5b-libxml2-2.9.14/include/libxml2/libxml/xmlerror.h \ + /gnu/store/dla8vj5s4gbndcikqsgdq2ydaisngf5b-libxml2-2.9.14/include/libxml2/libxml/list.h \ + /gnu/store/dla8vj5s4gbndcikqsgdq2ydaisngf5b-libxml2-2.9.14/include/libxml2/libxml/xmlautomata.h \ + /gnu/store/dla8vj5s4gbndcikqsgdq2ydaisngf5b-libxml2-2.9.14/include/libxml2/libxml/entities.h \ + /gnu/store/dla8vj5s4gbndcikqsgdq2ydaisngf5b-libxml2-2.9.14/include/libxml2/libxml/encoding.h \ + /gnu/store/dla8vj5s4gbndcikqsgdq2ydaisngf5b-libxml2-2.9.14/include/libxml2/libxml/xmlIO.h \ + /gnu/store/dla8vj5s4gbndcikqsgdq2ydaisngf5b-libxml2-2.9.14/include/libxml2/libxml/SAX2.h \ + /gnu/store/dla8vj5s4gbndcikqsgdq2ydaisngf5b-libxml2-2.9.14/include/libxml2/libxml/xlink.h \ + /gnu/store/dla8vj5s4gbndcikqsgdq2ydaisngf5b-libxml2-2.9.14/include/libxml2/libxml/xmlreader.h \ + /gnu/store/dla8vj5s4gbndcikqsgdq2ydaisngf5b-libxml2-2.9.14/include/libxml2/libxml/relaxng.h \ + /gnu/store/dla8vj5s4gbndcikqsgdq2ydaisngf5b-libxml2-2.9.14/include/libxml2/libxml/xmlschemas.h \ + base.h \ + /gnu/store/hsby4biv4wjywr7slvjf0ykk1xzf31xb-glib-2.78.0/include/glib-2.0/glib.h \ + /gnu/store/hsby4biv4wjywr7slvjf0ykk1xzf31xb-glib-2.78.0/include/glib-2.0/glib/galloca.h \ + /gnu/store/hsby4biv4wjywr7slvjf0ykk1xzf31xb-glib-2.78.0/include/glib-2.0/glib/gtypes.h \ + /gnu/store/hsby4biv4wjywr7slvjf0ykk1xzf31xb-glib-2.78.0/lib/glib-2.0/include/glibconfig.h \ + /gnu/store/hsby4biv4wjywr7slvjf0ykk1xzf31xb-glib-2.78.0/include/glib-2.0/glib/gmacros.h \ + /gnu/store/hsby4biv4wjywr7slvjf0ykk1xzf31xb-glib-2.78.0/include/glib-2.0/glib/gversionmacros.h \ + /gnu/store/hsby4biv4wjywr7slvjf0ykk1xzf31xb-glib-2.78.0/include/glib-2.0/glib/glib-visibility.h \ + /gnu/store/hsby4biv4wjywr7slvjf0ykk1xzf31xb-glib-2.78.0/include/glib-2.0/glib/garray.h \ + /gnu/store/hsby4biv4wjywr7slvjf0ykk1xzf31xb-glib-2.78.0/include/glib-2.0/glib/gasyncqueue.h \ + /gnu/store/hsby4biv4wjywr7slvjf0ykk1xzf31xb-glib-2.78.0/include/glib-2.0/glib/gthread.h \ + /gnu/store/hsby4biv4wjywr7slvjf0ykk1xzf31xb-glib-2.78.0/include/glib-2.0/glib/gatomic.h \ + /gnu/store/hsby4biv4wjywr7slvjf0ykk1xzf31xb-glib-2.78.0/include/glib-2.0/glib/glib-typeof.h \ + /gnu/store/hsby4biv4wjywr7slvjf0ykk1xzf31xb-glib-2.78.0/include/glib-2.0/glib/gerror.h \ + /gnu/store/hsby4biv4wjywr7slvjf0ykk1xzf31xb-glib-2.78.0/include/glib-2.0/glib/gquark.h \ + /gnu/store/hsby4biv4wjywr7slvjf0ykk1xzf31xb-glib-2.78.0/include/glib-2.0/glib/gutils.h \ + /gnu/store/hsby4biv4wjywr7slvjf0ykk1xzf31xb-glib-2.78.0/include/glib-2.0/glib/gbacktrace.h \ + /gnu/store/hsby4biv4wjywr7slvjf0ykk1xzf31xb-glib-2.78.0/include/glib-2.0/glib/gbase64.h \ + /gnu/store/hsby4biv4wjywr7slvjf0ykk1xzf31xb-glib-2.78.0/include/glib-2.0/glib/gbitlock.h \ + /gnu/store/hsby4biv4wjywr7slvjf0ykk1xzf31xb-glib-2.78.0/include/glib-2.0/glib/gbookmarkfile.h \ + /gnu/store/hsby4biv4wjywr7slvjf0ykk1xzf31xb-glib-2.78.0/include/glib-2.0/glib/gdatetime.h \ + /gnu/store/hsby4biv4wjywr7slvjf0ykk1xzf31xb-glib-2.78.0/include/glib-2.0/glib/gtimezone.h \ + /gnu/store/hsby4biv4wjywr7slvjf0ykk1xzf31xb-glib-2.78.0/include/glib-2.0/glib/gbytes.h \ + /gnu/store/hsby4biv4wjywr7slvjf0ykk1xzf31xb-glib-2.78.0/include/glib-2.0/glib/gcharset.h \ + /gnu/store/hsby4biv4wjywr7slvjf0ykk1xzf31xb-glib-2.78.0/include/glib-2.0/glib/gchecksum.h \ + /gnu/store/hsby4biv4wjywr7slvjf0ykk1xzf31xb-glib-2.78.0/include/glib-2.0/glib/gconvert.h \ + /gnu/store/hsby4biv4wjywr7slvjf0ykk1xzf31xb-glib-2.78.0/include/glib-2.0/glib/gdataset.h \ + /gnu/store/hsby4biv4wjywr7slvjf0ykk1xzf31xb-glib-2.78.0/include/glib-2.0/glib/gdate.h \ + /gnu/store/hsby4biv4wjywr7slvjf0ykk1xzf31xb-glib-2.78.0/include/glib-2.0/glib/gdir.h \ + /gnu/store/hsby4biv4wjywr7slvjf0ykk1xzf31xb-glib-2.78.0/include/glib-2.0/glib/genviron.h \ + /gnu/store/hsby4biv4wjywr7slvjf0ykk1xzf31xb-glib-2.78.0/include/glib-2.0/glib/gfileutils.h \ + /gnu/store/hsby4biv4wjywr7slvjf0ykk1xzf31xb-glib-2.78.0/include/glib-2.0/glib/ggettext.h \ + /gnu/store/hsby4biv4wjywr7slvjf0ykk1xzf31xb-glib-2.78.0/include/glib-2.0/glib/ghash.h \ + /gnu/store/hsby4biv4wjywr7slvjf0ykk1xzf31xb-glib-2.78.0/include/glib-2.0/glib/glist.h \ + /gnu/store/hsby4biv4wjywr7slvjf0ykk1xzf31xb-glib-2.78.0/include/glib-2.0/glib/gmem.h \ + /gnu/store/hsby4biv4wjywr7slvjf0ykk1xzf31xb-glib-2.78.0/include/glib-2.0/glib/gnode.h \ + /gnu/store/hsby4biv4wjywr7slvjf0ykk1xzf31xb-glib-2.78.0/include/glib-2.0/glib/ghmac.h \ + /gnu/store/hsby4biv4wjywr7slvjf0ykk1xzf31xb-glib-2.78.0/include/glib-2.0/glib/gchecksum.h \ + /gnu/store/hsby4biv4wjywr7slvjf0ykk1xzf31xb-glib-2.78.0/include/glib-2.0/glib/ghook.h \ + /gnu/store/hsby4biv4wjywr7slvjf0ykk1xzf31xb-glib-2.78.0/include/glib-2.0/glib/ghostutils.h \ + /gnu/store/hsby4biv4wjywr7slvjf0ykk1xzf31xb-glib-2.78.0/include/glib-2.0/glib/giochannel.h \ + /gnu/store/hsby4biv4wjywr7slvjf0ykk1xzf31xb-glib-2.78.0/include/glib-2.0/glib/gmain.h \ + /gnu/store/hsby4biv4wjywr7slvjf0ykk1xzf31xb-glib-2.78.0/include/glib-2.0/glib/gpoll.h \ + /gnu/store/hsby4biv4wjywr7slvjf0ykk1xzf31xb-glib-2.78.0/include/glib-2.0/glib/gslist.h \ + /gnu/store/hsby4biv4wjywr7slvjf0ykk1xzf31xb-glib-2.78.0/include/glib-2.0/glib/gstring.h \ + /gnu/store/hsby4biv4wjywr7slvjf0ykk1xzf31xb-glib-2.78.0/include/glib-2.0/glib/gunicode.h \ + /gnu/store/hsby4biv4wjywr7slvjf0ykk1xzf31xb-glib-2.78.0/include/glib-2.0/glib/gstrfuncs.h \ + /gnu/store/hsby4biv4wjywr7slvjf0ykk1xzf31xb-glib-2.78.0/include/glib-2.0/glib/gkeyfile.h \ + /gnu/store/hsby4biv4wjywr7slvjf0ykk1xzf31xb-glib-2.78.0/include/glib-2.0/glib/gmappedfile.h \ + /gnu/store/hsby4biv4wjywr7slvjf0ykk1xzf31xb-glib-2.78.0/include/glib-2.0/glib/gmarkup.h \ + /gnu/store/hsby4biv4wjywr7slvjf0ykk1xzf31xb-glib-2.78.0/include/glib-2.0/glib/gmessages.h \ + /gnu/store/hsby4biv4wjywr7slvjf0ykk1xzf31xb-glib-2.78.0/include/glib-2.0/glib/gvariant.h \ + /gnu/store/hsby4biv4wjywr7slvjf0ykk1xzf31xb-glib-2.78.0/include/glib-2.0/glib/gvarianttype.h \ + /gnu/store/hsby4biv4wjywr7slvjf0ykk1xzf31xb-glib-2.78.0/include/glib-2.0/glib/goption.h \ + /gnu/store/hsby4biv4wjywr7slvjf0ykk1xzf31xb-glib-2.78.0/include/glib-2.0/glib/gpathbuf.h \ + /gnu/store/hsby4biv4wjywr7slvjf0ykk1xzf31xb-glib-2.78.0/include/glib-2.0/glib/gpattern.h \ + /gnu/store/hsby4biv4wjywr7slvjf0ykk1xzf31xb-glib-2.78.0/include/glib-2.0/glib/gprimes.h \ + /gnu/store/hsby4biv4wjywr7slvjf0ykk1xzf31xb-glib-2.78.0/include/glib-2.0/glib/gqsort.h \ + /gnu/store/hsby4biv4wjywr7slvjf0ykk1xzf31xb-glib-2.78.0/include/glib-2.0/glib/gqueue.h \ + /gnu/store/hsby4biv4wjywr7slvjf0ykk1xzf31xb-glib-2.78.0/include/glib-2.0/glib/grand.h \ + /gnu/store/hsby4biv4wjywr7slvjf0ykk1xzf31xb-glib-2.78.0/include/glib-2.0/glib/grcbox.h \ + /gnu/store/hsby4biv4wjywr7slvjf0ykk1xzf31xb-glib-2.78.0/include/glib-2.0/glib/grefcount.h \ + /gnu/store/hsby4biv4wjywr7slvjf0ykk1xzf31xb-glib-2.78.0/include/glib-2.0/glib/grefstring.h \ + /gnu/store/hsby4biv4wjywr7slvjf0ykk1xzf31xb-glib-2.78.0/include/glib-2.0/glib/gmem.h \ + /gnu/store/hsby4biv4wjywr7slvjf0ykk1xzf31xb-glib-2.78.0/include/glib-2.0/glib/gmacros.h \ + /gnu/store/hsby4biv4wjywr7slvjf0ykk1xzf31xb-glib-2.78.0/include/glib-2.0/glib/gregex.h \ + /gnu/store/hsby4biv4wjywr7slvjf0ykk1xzf31xb-glib-2.78.0/include/glib-2.0/glib/gscanner.h \ + /gnu/store/hsby4biv4wjywr7slvjf0ykk1xzf31xb-glib-2.78.0/include/glib-2.0/glib/gsequence.h \ + /gnu/store/hsby4biv4wjywr7slvjf0ykk1xzf31xb-glib-2.78.0/include/glib-2.0/glib/gshell.h \ + /gnu/store/hsby4biv4wjywr7slvjf0ykk1xzf31xb-glib-2.78.0/include/glib-2.0/glib/gslice.h \ + /gnu/store/hsby4biv4wjywr7slvjf0ykk1xzf31xb-glib-2.78.0/include/glib-2.0/glib/gspawn.h \ + /gnu/store/hsby4biv4wjywr7slvjf0ykk1xzf31xb-glib-2.78.0/include/glib-2.0/glib/gstringchunk.h \ + /gnu/store/hsby4biv4wjywr7slvjf0ykk1xzf31xb-glib-2.78.0/include/glib-2.0/glib/gstrvbuilder.h \ + /gnu/store/hsby4biv4wjywr7slvjf0ykk1xzf31xb-glib-2.78.0/include/glib-2.0/glib/gtestutils.h \ + /gnu/store/hsby4biv4wjywr7slvjf0ykk1xzf31xb-glib-2.78.0/include/glib-2.0/glib/gthreadpool.h \ + /gnu/store/hsby4biv4wjywr7slvjf0ykk1xzf31xb-glib-2.78.0/include/glib-2.0/glib/gtimer.h \ + /gnu/store/hsby4biv4wjywr7slvjf0ykk1xzf31xb-glib-2.78.0/include/glib-2.0/glib/gtrashstack.h \ + /gnu/store/hsby4biv4wjywr7slvjf0ykk1xzf31xb-glib-2.78.0/include/glib-2.0/glib/gtree.h \ + /gnu/store/hsby4biv4wjywr7slvjf0ykk1xzf31xb-glib-2.78.0/include/glib-2.0/glib/guri.h \ + /gnu/store/hsby4biv4wjywr7slvjf0ykk1xzf31xb-glib-2.78.0/include/glib-2.0/glib/guuid.h \ + /gnu/store/hsby4biv4wjywr7slvjf0ykk1xzf31xb-glib-2.78.0/include/glib-2.0/glib/gversion.h \ + /gnu/store/hsby4biv4wjywr7slvjf0ykk1xzf31xb-glib-2.78.0/include/glib-2.0/glib/deprecated/gallocator.h \ + /gnu/store/hsby4biv4wjywr7slvjf0ykk1xzf31xb-glib-2.78.0/include/glib-2.0/glib/deprecated/gcache.h \ + /gnu/store/hsby4biv4wjywr7slvjf0ykk1xzf31xb-glib-2.78.0/include/glib-2.0/glib/deprecated/gcompletion.h \ + /gnu/store/hsby4biv4wjywr7slvjf0ykk1xzf31xb-glib-2.78.0/include/glib-2.0/glib/deprecated/gmain.h \ + /gnu/store/hsby4biv4wjywr7slvjf0ykk1xzf31xb-glib-2.78.0/include/glib-2.0/glib/deprecated/grel.h \ + /gnu/store/hsby4biv4wjywr7slvjf0ykk1xzf31xb-glib-2.78.0/include/glib-2.0/glib/deprecated/gthread.h \ + /gnu/store/hsby4biv4wjywr7slvjf0ykk1xzf31xb-glib-2.78.0/include/glib-2.0/glib/glib-autocleanups.h diff --git a/parsing.h b/parsing.h index de6af9b..1cf7ff8 100644 --- a/parsing.h +++ b/parsing.h @@ -36,3 +36,8 @@ bool model_get_next_state(char *new_state_id); bool model_get_next_arrow(struct arrow_t *new_arrow, const char *state_id, char dimension); + +long model_get_state_arrows_count(const char *state_id); +bool model_get_next_arrow(struct arrow_t *new_arrow, + const char *state_id, + char dimension); diff --git a/parsing.o b/parsing.o new file mode 100644 index 0000000..5821f88 Binary files /dev/null and b/parsing.o differ diff --git a/texts.c b/texts.c index ff71f3b..f14fdf9 100644 --- a/texts.c +++ b/texts.c @@ -14,6 +14,7 @@ char *get_space_run_edit_specif(){ return "\n\ + le buffer [elapsed time] qui montre le temps de simulation écoulé\n\n\ (2) les commandes qui modifient la perception de l'espace (la caméra)\n\ - son orientation (X,Y,Z),\n\ + + l'orientation (X,Y,Z) de l'état dans l'espace (six possibilités),\n\ + le zoom,\n\ + les paramètres qui définissent la perspective (distances oeil/écran, écran/objet virtuel) \n\n\ (3) les commandes qui modifient les apparences des objets et des situations d'intérêt\n\ @@ -23,6 +24,7 @@ char *get_space_run_edit_specif(){ return "\n\ >>> Dans : [space_page - mode EDIT] doivent être : ------------------------------------------------------\n\n\ (1) les commandes qui modifient la perception de l'espace (la caméra)\n\ - son orientation (X,Y,Z),\n\ + + l'orientation (X,Y,Z) de l'état dans l'espace (six possibilités),\n\ + le zoom,\n\ + les paramètres qui définissent la perspective (distances oeil/écran, écran/objet virtuel) \n\n\ (2) les commandes qui modifient les apparences des objets et des situations d'intérêt\n\ diff --git a/texts.d b/texts.d new file mode 100644 index 0000000..18de62c --- /dev/null +++ b/texts.d @@ -0,0 +1 @@ +texts.o: texts.c diff --git a/texts.o b/texts.o new file mode 100644 index 0000000..bc9f402 Binary files /dev/null and b/texts.o differ diff --git a/tree.d b/tree.d new file mode 100644 index 0000000..dccd5fb --- /dev/null +++ b/tree.d @@ -0,0 +1 @@ +tree.o: tree.c contain.h texts.h callback.h diff --git a/tree.o b/tree.o new file mode 100644 index 0000000..e01a976 Binary files /dev/null and b/tree.o differ