#include #include #define W 1920 #define H 960 #define W_GL_AREA 1920 - 64 #define H_GL_AREA 960 - 46 #define H_STYLES_PANE 60 void print_text(GtkWidget *widget, gpointer data); GtkWidget *get_a_space_test_image(); GtkScrolledWindow *get_scrolled_gl_area(); GtkBox *get_XYZ_gtk_box(); GtkWidget *get_scroll_speed(); void window_bar(GtkWindow *window, char *title); GtkWidget *get_objects_and_situations_horizontal_pane(); GtkProgressBar *get_simulation_time_extent_buffer(); void activate (GtkApplication *app, gpointer user_data); GtkWidget *get_space_page_new(); GtkWidget *get_rules_page_new(); GtkWidget *get_measures_page_new(); GtkWidget *get_results_page_new(); GtkWidget *get_discuss_page_new(); GtkWidget *get_help_page_new(); void click_print_do (GtkWindow *window, GtkWidget *grid, char *label, char *text, int x, int y, int w, int h); // https://docs.gtk.org/gtk4/visual_index.html < widgets gallery /* Dans : space_page_new() doivent être déclarées et organisées de façon aussi ergonomique que possible : - les commandes de mouvement (run/stop, slow down/speed up, step by step, do/undo/redo) et le buffer qui montre où on en est dans le temps de simulation (un seul bouton pour toutes ces commandes ?) - les commandes qui modifient l'orientation (X,Y,Z) de l'espace, le zoom, la perspective - les commandes qui modifient les apparences des grilles et des flèches - les commandes qui modifient les apparences des objets et des situations d'intérêt (+/- transparents, colorés, etc.) */