WIP: cleaning (modularity, licenses, dependences)

This commit is contained in:
Jean Sirmai 2024-06-30 17:18:18 +02:00
parent 6209ad9a09
commit 491e6c8d98
Signed by: jean
GPG Key ID: FB3115C340E057E3
19 changed files with 506 additions and 336 deletions

View File

@ -130,3 +130,48 @@ static inline char *read_file(char *filename)
return contents; return contents;
} }
/******************************************************************************/
/* T E X T S */
/******************************************************************************/
char *get_space_run_edit_specif();
char *get_rules_run_edit_specif();
/*
>>> Dans : [space_page - mode RUN] doivent être : ------------------------------------------------------
(1) les commandes de mouvement:
- run/stop, slow down/speed up, step by step, do/undo/redo
+ le buffer [elapsed time] qui montre le temps de simulation écoulé
(2) les commandes qui modifient la perception de l'espace (la caméra)
- son orientation (X,Y,Z),
+ le zoom,
+ les paramètres qui définissent la perspective (distances oeil/écran, écran/objet virtuel)
(3) les commandes qui modifient les apparences des objets et des situations d'intérêt
(+/- transparents, colorés, etc.)
(4) les commandes qui modifient l'apparence de l'espace (grilles, +/- surfaces, aspect des flèches, etc.)
(0) NB >>> AUCUNE COMMANDE NE DOIT PERMETTRE D'ÉDITER L'ESPACE ! <<<
>>> Dans : [space_page - mode EDIT] doivent être : ------------------------------------------------------
(1) les commandes qui modifient la perception de l'espace (la caméra)
- son orientation (X,Y,Z),
+ le zoom,
+ les paramètres qui définissent la perspective (distances oeil/écran, écran/objet virtuel)
(2) les commandes qui modifient les apparences des objets et des situations d'intérêt
(+/- transparents, colorés, etc.)
(3) les commandes qui modifient l'apparence de l'espace (grilles, +/- surfaces, aspect des flèches, etc.)
(4) les commandes d'édition locales (drag and drop une flèche)
('faire de la place' pour insérer)
(sélectionner pour déplacer ou enlever...)
NB ces commandes doivent être graphiques et/ou accessibles par raccourcis ou en ligne
(5) les commandes d'édition globales
(ex: introduire, retirer, transformer +/-aléatoirement (n) objets dans l'espace)
NB une action effectuée sur une zone d'intérêt devrait pouvoir être automatiquement appliquée
à d'autres zones d'intérêt identifiées comme similaires
(0) NB >>> AUCUNE COMMANDE NE DOIT PERMETTRE D'EXÉCUTER UN RUN ! <<<
>>> L'objectif est que l'utilisateur ait accès à une organsisation aussi ergonomique que possible -----
i.e : chaque utilisateur devrait disposer de 'préférences'
c'est-à-dire avoir la possiblité de faire des choix ergonomiques personnalisés.
*/

View File

@ -1,36 +1,36 @@
/* /* * * * * * * * * * * * * * * * * * * * * * * * * * *
* Gem-graph OpenGL experiments * *
* * Gem-graph client *
* Desc: OpenGL utils header * *
* * Graphics header *
* Copyright (C) 2023 Arthur Menges <arthur.menges@a-lec.org> * *
* Copyright (C) 2023 Adrien Bourmault <neox@a-lec.org> * Copyright © 2021 Libre en Communs <contact@a-lec.org> *
* Copyright (C) 2023 Jean Sirmai <jean@a-lec.org> * Copyright © 2023 Adrien Bourmault <neox@a-lec.org> *
* * Copyright © 2023 Arthur Menges <arthur.menges@a-lec.org> *
* This file is part of Gem-graph. * Copyright © 2024 Jean Sirmai <jean@a-lec.org> *
* * *
* This program is free software: you can redistribute it and/or modify * This file is part of Gem-graph. *
* it under the terms of the GNU Affero General Public License as published by * *
* the Free Software Foundation, either version 3 of the License, or * This program is free software: you can redistribute it and/or modify it *
* (at your option) any later version. * under the terms of the GNU Affero General Public License *
* * as publishedby the Free Software Foundation, *
* This program is distributed in the hope that it will be useful, * either version 3 of the License, or (at your option) any later version. *
* but WITHOUT ANY WARRANTY; without even the implied warranty of * *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * This program is distributed in the hope that it will be useful, *
* GNU Affero General Public License for more details. * but WITHOUT ANY WARRANTY; without even the implied warranty of *
* * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. *
* You should have received a copy of the GNU Affero General Public License * See the GNU Affero General Public License for more details. *
* along with this program. If not, see <http://www.gnu.org/licenses/>. * *
*/ * You should have received a copy of the GNU Affero General Public License *
* along with this program. If not, see <http://www.gnu.org/licenses/>. *
* *
* * * * * * * * * * * * * * * * * * * * * * * * * * */
#pragma once #pragma once
#include "base.h" #include "base.h"
#include <unistd.h>
#include <stdbool.h>
#include <epoxy/gl.h> #include <epoxy/gl.h>
#include <GL/glu.h> #include <GL/glu.h>
#include <GL/glext.h>
#include <cglm/cglm.h>
#define VERTEX_SHADER_FILE "src/shader.vert" #define VERTEX_SHADER_FILE "src/shader.vert"
#define FRAG_SHADER_FILE "src/shader.frag" #define FRAG_SHADER_FILE "src/shader.frag"

View File

@ -1,30 +1,32 @@
/* /* * * * * * * * * * * * * * * * * * * * * * * * * * *
* Gem-graph OpenGL experiments * *
* * Gem-graph client *
* Desc: Model parsing header * *
* * Model parsing header *
* Copyright (C) 2023 Arthur Menges <arthur.menges@a-lec.org> * *
* Copyright (C) 2023 Adrien Bourmault <neox@a-lec.org> * Copyright © 2021 Libre en Communs <contact@a-lec.org> *
* * Copyright © 2023 Adrien Bourmault <neox@a-lec.org> *
* This file is part of Gem-graph. * Copyright © 2023 Arthur Menges <arthur.menges@a-lec.org> *
* * Copyright © 2024 Jean Sirmai <jean@a-lec.org> *
* This program is free software: you can redistribute it and/or modify * *
* it under the terms of the GNU Affero General Public License as published by * This file is part of Gem-graph. *
* the Free Software Foundation, either version 3 of the License, or * *
* (at your option) any later version. * This program is free software: you can redistribute it and/or modify it *
* * under the terms of the GNU Affero General Public License *
* This program is distributed in the hope that it will be useful, * as publishedby the Free Software Foundation, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of * either version 3 of the License, or (at your option) any later version. *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * *
* GNU Affero General Public License for more details. * This program is distributed in the hope that it will be useful, *
* * but WITHOUT ANY WARRANTY; without even the implied warranty of *
* You should have received a copy of the GNU Affero General Public License * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. *
* along with this program. If not, see <http://www.gnu.org/licenses/>. * See the GNU Affero General Public License for more details. *
*/ * *
* You should have received a copy of the GNU Affero General Public License *
* along with this program. If not, see <http://www.gnu.org/licenses/>. *
* *
* * * * * * * * * * * * * * * * * * * * * * * * * * */
#pragma once
#include <unistd.h>
#include "base.h"
bool model_init(const char *content, size_t length, const char *basename); bool model_init(const char *content, size_t length, const char *basename);
bool model_shutdown(void); bool model_shutdown(void);

View File

@ -1,39 +0,0 @@
char *get_space_run_edit_specif();
char *get_rules_run_edit_specif();
/*
>>> Dans : [space_page - mode RUN] doivent être : ------------------------------------------------------
(1) les commandes de mouvement:
- run/stop, slow down/speed up, step by step, do/undo/redo
+ le buffer [elapsed time] qui montre le temps de simulation écoulé
(2) les commandes qui modifient la perception de l'espace (la caméra)
- son orientation (X,Y,Z),
+ le zoom,
+ les paramètres qui définissent la perspective (distances oeil/écran, écran/objet virtuel)
(3) les commandes qui modifient les apparences des objets et des situations d'intérêt
(+/- transparents, colorés, etc.)
(4) les commandes qui modifient l'apparence de l'espace (grilles, +/- surfaces, aspect des flèches, etc.)
(0) NB >>> AUCUNE COMMANDE NE DOIT PERMETTRE D'ÉDITER L'ESPACE ! <<<
>>> Dans : [space_page - mode EDIT] doivent être : ------------------------------------------------------
(1) les commandes qui modifient la perception de l'espace (la caméra)
- son orientation (X,Y,Z),
+ le zoom,
+ les paramètres qui définissent la perspective (distances oeil/écran, écran/objet virtuel)
(2) les commandes qui modifient les apparences des objets et des situations d'intérêt
(+/- transparents, colorés, etc.)
(3) les commandes qui modifient l'apparence de l'espace (grilles, +/- surfaces, aspect des flèches, etc.)
(4) les commandes d'édition locales (drag and drop une flèche)
('faire de la place' pour insérer)
(sélectionner pour déplacer ou enlever...)
NB ces commandes doivent être graphiques et/ou accessibles par raccourcis ou en ligne
(5) les commandes d'édition globales
(ex: introduire, retirer, transformer +/-aléatoirement (n) objets dans l'espace)
NB une action effectuée sur une zone d'intérêt devrait pouvoir être automatiquement appliquée
à d'autres zones d'intérêt identifiées comme similaires
(0) NB >>> AUCUNE COMMANDE NE DOIT PERMETTRE D'EXÉCUTER UN RUN ! <<<
>>> L'objectif est que l'utilisateur ait accès à une organsisation aussi ergonomique que possible -----
i.e : chaque utilisateur devrait disposer de 'préférences'
c'est-à-dire avoir la possiblité de faire des choix ergonomiques personnalisés.
*/

View File

@ -1,31 +1,32 @@
//=-------------------------------------------------------------------------=// /* * * * * * * * * * * * * * * * * * * * * * * * * * *
// Main // * *
// // * Gem-graph client *
// Copyright © 2021 Libre en Communs (contact@a-lec.org) // * *
// Copyright © 2024 Jean Sirmai (jean@a-lec.org) // * State machine *
// Copyright © 2024 Adrien Bourmault (neox@a-lec.org) // * *
// // * Copyright © 2021 Libre en Communs <contact@a-lec.org> *
// This file is part of gem-graph. // * Copyright © 2023 Adrien Bourmault <neox@a-lec.org> *
// // * Copyright © 2024 Jean Sirmai <jean@a-lec.org> *
// This program is free software: you can redistribute it and/or modify // * *
// it under the terms of the GNU Affero General Public License as // * This file is part of Gem-graph. *
// published by the Free Software Foundation, either version 3 of the // * *
// License, or (at your option) any later version. // * This program is free software: you can redistribute it and/or modify it *
// // * under the terms of the GNU Affero General Public License *
// This program is distributed in the hope that it will be useful, // * as publishedby the Free Software Foundation, *
// but WITHOUT ANY WARRANTY; without even the implied warranty of // * either version 3 of the License, or (at your option) any later version. *
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // * *
// GNU Affero General Public License for more details. // * This program is distributed in the hope that it will be useful, *
// // * but WITHOUT ANY WARRANTY; without even the implied warranty of *
// You should have received a copy of the GNU Affero General Public License // * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. *
// along with this program. If not, see <https://www.gnu.org/licenses/>. // * See the GNU Affero General Public License for more details. *
//=-------------------------------------------------------------------------=// * *
* You should have received a copy of the GNU Affero General Public License *
* along with this program. If not, see <http://www.gnu.org/licenses/>. *
* *
* * * * * * * * * * * * * * * * * * * * * * * * * * */
#include <gtk-4.0/gtk/gtk.h>
#include <assert.h>
#include "../include/base.h" #include "../include/base.h"
#include "../include/callback.h"
/******************************************************************************/ /******************************************************************************/

View File

@ -1,36 +1,33 @@
//----------------------------------------------------------------------------// /* * * * * * * * * * * * * * * * * * * * * * * * * * *
// // * *
// callback // * Gem-graph client *
// // * *
// Copyright © 2021 Libre en Communs (contact@a-lec.org) // * Callbacks *
// Copyright © 2024 Jean Sirmai (jean@a-lec.org) // * *
// Copyright © 2024 Adrien Bourmault (neox@a-lec.org) // * Copyright © 2021 Libre en Communs <contact@a-lec.org> *
// // * Copyright © 2023 Adrien Bourmault <neox@a-lec.org> *
// This file is part of gem-graph. // * Copyright © 2024 Jean Sirmai <jean@a-lec.org> *
// // * *
// This program is free software: you can redistribute it and/or modify // * This file is part of Gem-graph. *
// it under the terms of the GNU Affero General Public License as // * *
// published by the Free Software Foundation, either version 3 of the // * This program is free software: you can redistribute it and/or modify it *
// License, or (at your option) any later version. // * under the terms of the GNU Affero General Public License *
// // * as publishedby the Free Software Foundation, *
// This program is distributed in the hope that it will be useful, // * either version 3 of the License, or (at your option) any later version. *
// but WITHOUT ANY WARRANTY; without even the implied warranty of // * *
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // * This program is distributed in the hope that it will be useful, *
// GNU Affero General Public License for more details. // * but WITHOUT ANY WARRANTY; without even the implied warranty of *
// // * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. *
// You should have received a copy of the GNU Affero General Public License // * See the GNU Affero General Public License for more details. *
// along with this program. If not, see <https://www.gnu.org/licenses/>. // * *
//---------------------------------------------------------------------------// * You should have received a copy of the GNU Affero General Public License *
* along with this program. If not, see <http://www.gnu.org/licenses/>. *
* *
* * * * * * * * * * * * * * * * * * * * * * * * * * */
#include <stdio.h>
#include <gtk-4.0/gtk/gtk.h>
#include "../include/base.h"
#include "../include/callback.h" #include "../include/callback.h"
#include "../include/widgets.h" #include "../include/widgets.h"
#include "../include/texts.h"
#include "../include/parsing.h"
#include "../include/graphics.h" #include "../include/graphics.h"
@ -254,7 +251,7 @@ void on_toggle_EXEC_EDIT (GtkWidget *toggled_button, gpointer user_data) {
"text-editor-symbolic"); "text-editor-symbolic");
// https://docs.gtk.org/gtk4/class.Window.html TODO 2024-06-30 // https://docs.gtk.org/gtk4/class.Window.html TODO 2024-06-30
gtk_window_present (GTK_WINDOW (dialog_window)); // works once only ! // gtk_window_present (GTK_WINDOW (dialog_window)); // works once only !
set_EXEC_EDIT (EDIT); set_EXEC_EDIT (EDIT);
} }

View File

@ -1,3 +1,30 @@
/* * * * * * * * * * * * * * * * * * * * * * * * * * *
* *
* Gem-graph client *
* *
* Dialog window *
* *
* Copyright © 2021 Libre en Communs <contact@a-lec.org> *
* Copyright © 2024 Jean Sirmai <jean@a-lec.org> *
* *
* This file is part of Gem-graph. *
* *
* This program is free software: you can redistribute it and/or modify it *
* under the terms of the GNU Affero General Public License *
* as publishedby the Free Software Foundation, *
* either version 3 of the License, or (at your option) any later version. *
* *
* This program is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. *
* See the GNU Affero General Public License for more details. *
* *
* You should have received a copy of the GNU Affero General Public License *
* along with this program. If not, see <http://www.gnu.org/licenses/>. *
* *
* * * * * * * * * * * * * * * * * * * * * * * * * * */
#include "../include/callback.h" #include "../include/callback.h"
void dialog_window_design (GtkWindow *main_window, GtkWindow *dialog_window){ void dialog_window_design (GtkWindow *main_window, GtkWindow *dialog_window){

View File

@ -1,26 +1,35 @@
/* /* * * * * * * * * * * * * * * * * * * * * * * * * * *
* Gem-graph OpenGL experiments * *
* * Gem-graph client *
* Desc: GL functions * *
* * Drawing *
* Copyright (C) 2023 Adrien Bourmault <neox@a-lec.org> * *
* Copyright (C) 2023 Jean Sirmai <jean@a-lec.org> * Copyright © 2021 Libre en Communs <contact@a-lec.org> *
* * Copyright © 2023 Adrien Bourmault <neox@a-lec.org> *
* This file is part of Gem-graph. * Copyright © 2024 Jean Sirmai <jean@a-lec.org> *
* * *
* This program is free software: you can redistribute it and/or modify * This file is part of Gem-graph. *
* it under the terms of the GNU Affero General Public License as published by * *
* the Free Software Foundation, either version 3 of the License, or * This program is free software: you can redistribute it and/or modify it *
* (at your option) any later version. * under the terms of the GNU Affero General Public License *
* * as publishedby the Free Software Foundation, *
* This program is distributed in the hope that it will be useful, * either version 3 of the License, or (at your option) any later version. *
* but WITHOUT ANY WARRANTY; without even the implied warranty of * *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * This program is distributed in the hope that it will be useful, *
* GNU Affero General Public License for more details. * but WITHOUT ANY WARRANTY; without even the implied warranty of *
* * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. *
* You should have received a copy of the GNU Affero General Public License * See the GNU Affero General Public License for more details. *
* along with this program. If not, see <http://www.gnu.org/licenses/>. * *
*/ * You should have received a copy of the GNU Affero General Public License *
* along with this program. If not, see <http://www.gnu.org/licenses/>. *
* *
* * * * * * * * * * * * * * * * * * * * * * * * * * */
#include <cglm/cglm.h>
#include "../include/base.h"
#include "../include/graphics.h"
/* /*
* Writes values to describe a vertex at (x,y,z) intoq the vertex buffer * Writes values to describe a vertex at (x,y,z) intoq the vertex buffer
@ -29,14 +38,6 @@
* *
* @return void * @return void
*/ */
#include <stdlib.h>
#include <time.h>
#include <cglm/cglm.h>
#include "../include/base.h"
//#include "../include/ui.h"
#include "../include/graphics.h"
void graphics_draw_vertex (const int stack_id, void graphics_draw_vertex (const int stack_id,
GLfloat x, GLfloat x,
GLfloat y, GLfloat y,

View File

@ -1,31 +1,30 @@
/* /* * * * * * * * * * * * * * * * * * * * * * * * * * *
* Gem-graph OpenGL experiments * *
* * Gem-graph client *
* Desc: User interface functions * *
* * Callbacks *
* Copyright (C) 2023 Adrien Bourmault <neox@a-lec.org> * *
* * Copyright © 2021 Libre en Communs <contact@a-lec.org> *
* This file is part of Gem-graph. * Copyright © 2023 Adrien Bourmault <neox@a-lec.org> *
* * *
* This program is free software: you can redistribute it and/or modify * This file is part of Gem-graph. *
* it under the terms of the GNU Affero General Public License as published by * *
* the Free Software Foundation, either version 3 of the License, or * This program is free software: you can redistribute it and/or modify it *
* (at your option) any later version. * under the terms of the GNU Affero General Public License *
* * as publishedby the Free Software Foundation, *
* This program is distributed in the hope that it will be useful, * either version 3 of the License, or (at your option) any later version. *
* but WITHOUT ANY WARRANTY; without even the implied warranty of * *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * This program is distributed in the hope that it will be useful, *
* GNU Affero General Public License for more details. * but WITHOUT ANY WARRANTY; without even the implied warranty of *
* * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. *
* You should have received a copy of the GNU Affero General Public License * See the GNU Affero General Public License for more details. *
* along with this program. If not, see <http://www.gnu.org/licenses/>. * *
*/ * You should have received a copy of the GNU Affero General Public License *
* along with this program. If not, see <http://www.gnu.org/licenses/>. *
* *
* * * * * * * * * * * * * * * * * * * * * * * * * * */
#include <unistd.h>
#include <gtk-4.0/gtk/gtk.h>
#include <glib-2.0/glib.h>
#include "../include/widgets.h"
#include "../include/graphics.h" #include "../include/graphics.h"
#include "../include/callback.h" #include "../include/callback.h"

View File

@ -1,32 +1,31 @@
/* /* * * * * * * * * * * * * * * * * * * * * * * * * * *
* Gem-graph OpenGL experiments * *
* * Gem-graph client *
* Desc: GL functions * *
* * Graph - stack *
* Copyright (C) 2023 Arthur Menges <arthur.menges@a-lec.org> * *
* Copyright (C) 2023 Adrien Bourmault <neox@a-lec.org> * Copyright © 2021 Libre en Communs <contact@a-lec.org> *
* Copyright (C) 2023 Jean Sirmai <jean@a-lec.org> * Copyright © 2023 Adrien Bourmault <neox@a-lec.org> *
* * Copyright © 2024 Jean Sirmai <jean@a-lec.org> *
* This file is part of Gem-graph. * *
* * This file is part of Gem-graph. *
* This program is free software: you can redistribute it and/or modify * *
* it under the terms of the GNU Affero General Public License as published by * This program is free software: you can redistribute it and/or modify it *
* the Free Software Foundation, either version 3 of the License, or * under the terms of the GNU Affero General Public License *
* (at your option) any later version. * as publishedby the Free Software Foundation, *
* * either version 3 of the License, or (at your option) any later version. *
* This program is distributed in the hope that it will be useful, * *
* but WITHOUT ANY WARRANTY; without even the implied warranty of * This program is distributed in the hope that it will be useful, *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * but WITHOUT ANY WARRANTY; without even the implied warranty of *
* GNU Affero General Public License for more details. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. *
* * See the GNU Affero General Public License for more details. *
* You should have received a copy of the GNU Affero General Public License * *
* along with this program. If not, see <http://www.gnu.org/licenses/>. * You should have received a copy of the GNU Affero General Public License *
*/ * along with this program. If not, see <http://www.gnu.org/licenses/>. *
* *
* * * * * * * * * * * * * * * * * * * * * * * * * * */
#include <stdlib.h>
#include <time.h>
#include "../include/widgets.h"
#include "../include/graphics.h" #include "../include/graphics.h"
#include "../include/parsing.h" #include "../include/parsing.h"

View File

@ -1,31 +1,31 @@
/* /* * * * * * * * * * * * * * * * * * * * * * * * * * *
* Gem-graph * *
* * Gem-graph client *
* Desc: OpenGL grid functions * *
* * Drawing empty space *
* Copyright (C) 2023 Jean Sirmai <jean@a-lec.org> * *
* Copyright (C) 2023 Adrien Bourmault <neox@a-lec.org> * Copyright © 2021 Libre en Communs <contact@a-lec.org> *
* * Copyright © 2023 Adrien Bourmault <neox@a-lec.org> *
* This file is part of Gem-graph. * Copyright © 2024 Jean Sirmai <jean@a-lec.org> *
* * *
* This program is free software: you can redistribute it and/or modify * This file is part of Gem-graph. *
* it under the terms of the GNU Affero General Public License as published by * *
* the Free Software Foundation, either version 3 of the License, or * This program is free software: you can redistribute it and/or modify it *
* (at your option) any later version. * under the terms of the GNU Affero General Public License *
* * as publishedby the Free Software Foundation, *
* This program is distributed in the hope that it will be useful, * either version 3 of the License, or (at your option) any later version. *
* but WITHOUT ANY WARRANTY; without even the implied warranty of * *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * This program is distributed in the hope that it will be useful, *
* GNU Affero General Public License for more details. * but WITHOUT ANY WARRANTY; without even the implied warranty of *
* * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. *
* You should have received a copy of the GNU Affero General Public License * See the GNU Affero General Public License for more details. *
* along with this program. If not, see <http://www.gnu.org/licenses/>. * *
*/ * You should have received a copy of the GNU Affero General Public License *
* along with this program. If not, see <http://www.gnu.org/licenses/>. *
* *
* * * * * * * * * * * * * * * * * * * * * * * * * * */
#include <stdlib.h>
#include <time.h>
#include "../include/base.h"
//#include "../include/ui.h"
#include "../include/graphics.h" #include "../include/graphics.h"
int draw_space_ridges_vertex (const int stack_id, int draw_space_ridges_vertex (const int stack_id,

View File

@ -1,33 +1,33 @@
/* /* * * * * * * * * * * * * * * * * * * * * * * * * * *
* Gem-graph OpenGL experiments * *
* * Gem-graph client *
* Desc: GL functions * *
* * Init OpenGL graphism *
* Copyright (C) 2023 Arthur Menges <arthur.menges@a-lec.org> * *
* Copyright (C) 2023 Adrien Bourmault <neox@a-lec.org> * Copyright © 2021 Libre en Communs <contact@a-lec.org> *
* * Copyright © 2023 Adrien Bourmault <neox@a-lec.org> *
* This file is part of Gem-graph. * Copyright © 2023 Arthur Menges <arthur.menges@a-lec.org> *
* * *
* This program is free software: you can redistribute it and/or modify * This file is part of Gem-graph. *
* it under the terms of the GNU Affero General Public License as published by * *
* the Free Software Foundation, either version 3 of the License, or * This program is free software: you can redistribute it and/or modify it *
* (at your option) any later version. * under the terms of the GNU Affero General Public License *
* * as publishedby the Free Software Foundation, *
* This program is distributed in the hope that it will be useful, * either version 3 of the License, or (at your option) any later version. *
* but WITHOUT ANY WARRANTY; without even the implied warranty of * *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * This program is distributed in the hope that it will be useful, *
* GNU Affero General Public License for more details. * but WITHOUT ANY WARRANTY; without even the implied warranty of *
* * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. *
* You should have received a copy of the GNU Affero General Public License * See the GNU Affero General Public License for more details. *
* along with this program. If not, see <http://www.gnu.org/licenses/>. * *
*/ * You should have received a copy of the GNU Affero General Public License *
* along with this program. If not, see <http://www.gnu.org/licenses/>. *
* *
* * * * * * * * * * * * * * * * * * * * * * * * * * */
/* -------------------------------------------------------------------------- */ /* -------------------------------------------------------------------------- */
#include <stdlib.h>
#include <time.h>
#include "../include/base.h"
#include "../include/widgets.h"
#include "../include/graphics.h" #include "../include/graphics.h"
/* Initializes the buffer of a gl_area /* Initializes the buffer of a gl_area

View File

@ -1,34 +1,31 @@
/* /* * * * * * * * * * * * * * * * * * * * * * * * * * *
* Gem-graph client * *
* * Gem-graph client *
* Desc: Model parsing functions * *
* * Parsing model XML *
* Copyright (C) 2023 Jean Sirmai <jean@a-lec.org> * *
* Copyright (C) 2024 Adrien Bourmault <neox@a-lec.org> * Copyright © 2021 Libre en Communs <contact@a-lec.org> *
* * Copyright © 2023 Adrien Bourmault <neox@a-lec.org> *
* This file is part of Gem-graph. * Copyright © 2024 Jean Sirmai <jean@a-lec.org> *
* * *
* This program is free software: you can redistribute it and/or modify * This file is part of Gem-graph. *
* it under the terms of the GNU Affero General Public License as published by * *
* the Free Software Foundation, either version 3 of the License, or * This program is free software: you can redistribute it and/or modify it *
* (at your option) any later version. * under the terms of the GNU Affero General Public License *
* * as publishedby the Free Software Foundation, *
* This program is distributed in the hope that it will be useful, * either version 3 of the License, or (at your option) any later version. *
* but WITHOUT ANY WARRANTY; without even the implied warranty of * *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * This program is distributed in the hope that it will be useful, *
* GNU Affero General Public License for more details. * but WITHOUT ANY WARRANTY; without even the implied warranty of *
* * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. *
* You should have received a copy of the GNU Affero General Public License * See the GNU Affero General Public License for more details. *
* along with this program. If not, see <http://www.gnu.org/licenses/>. * *
*/ * You should have received a copy of the GNU Affero General Public License *
* along with this program. If not, see <http://www.gnu.org/licenses/>. *
* *
* * * * * * * * * * * * * * * * * * * * * * * * * * */
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <stdbool.h>
#include <assert.h>
#include <limits.h>
#include <libxml/tree.h>
#include <libxml/parser.h> #include <libxml/parser.h>
#include <libxml/xmlreader.h> // http://xmlsoft.org/examples/#parse1.c #include <libxml/xmlreader.h> // http://xmlsoft.org/examples/#parse1.c
// https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/general.html // https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/general.html

View File

@ -1,3 +1,31 @@
/* * * * * * * * * * * * * * * * * * * * * * * * * * *
* *
* Gem-graph client *
* *
* Shader *
* *
* Copyright © 2021 Libre en Communs <contact@a-lec.org> *
* Copyright © 2023 Adrien Bourmault <neox@a-lec.org> *
* Copyright © 2023 Arthur Menges <arthur.menges@a-lec.org> *
* *
* This file is part of Gem-graph. *
* *
* This program is free software: you can redistribute it and/or modify it *
* under the terms of the GNU Affero General Public License *
* as publishedby the Free Software Foundation, *
* either version 3 of the License, or (at your option) any later version. *
* *
* This program is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. *
* See the GNU Affero General Public License for more details. *
* *
* You should have received a copy of the GNU Affero General Public License *
* along with this program. If not, see <http://www.gnu.org/licenses/>. *
* *
* * * * * * * * * * * * * * * * * * * * * * * * * * */
#version 330 core #version 330 core
in vec4 color; in vec4 color;

View File

@ -1,3 +1,31 @@
/* * * * * * * * * * * * * * * * * * * * * * * * * * *
* *
* Gem-graph client *
* *
* Shader *
* *
* Copyright © 2021 Libre en Communs <contact@a-lec.org> *
* Copyright © 2023 Adrien Bourmault <neox@a-lec.org> *
* Copyright © 2023 Arthur Menges <arthur.menges@a-lec.org> *
* *
* This file is part of Gem-graph. *
* *
* This program is free software: you can redistribute it and/or modify it *
* under the terms of the GNU Affero General Public License *
* as publishedby the Free Software Foundation, *
* either version 3 of the License, or (at your option) any later version. *
* *
* This program is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. *
* See the GNU Affero General Public License for more details. *
* *
* You should have received a copy of the GNU Affero General Public License *
* along with this program. If not, see <http://www.gnu.org/licenses/>. *
* *
* * * * * * * * * * * * * * * * * * * * * * * * * * */
#version 330 core #version 330 core
uniform mat4 projection_matrix; uniform mat4 projection_matrix;

View File

@ -1,11 +1,29 @@
/******************************************************************************/ /* * * * * * * * * * * * * * * * * * * * * * * * * * *
/* */ * *
/* E coli by David S. Goodsell (2009) */ * Gem-graph client *
/* --- */ * *
/* Let this freeze frame guide us towards the model */ * Texts *
/* that alone can account for the phenomenon ! */ * *
/* */ * Copyright © 2021 Libre en Communs <contact@a-lec.org> *
/******************************************************************************/ * Copyright © 2024 Jean Sirmai <jean@a-lec.org> *
* *
* This file is part of Gem-graph. *
* *
* This program is free software: you can redistribute it and/or modify it *
* under the terms of the GNU Affero General Public License *
* as publishedby the Free Software Foundation, *
* either version 3 of the License, or (at your option) any later version. *
* *
* This program is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. *
* See the GNU Affero General Public License for more details. *
* *
* You should have received a copy of the GNU Affero General Public License *
* along with this program. If not, see <http://www.gnu.org/licenses/>. *
* *
* * * * * * * * * * * * * * * * * * * * * * * * * * */
char *get_space_run_edit_specif(){ return "\n\ char *get_space_run_edit_specif(){ return "\n\
>>> Dans : [space_page - mode RUN] doivent être : ------------------------------------------------------\n\n\ >>> Dans : [space_page - mode RUN] doivent être : ------------------------------------------------------\n\n\

View File

@ -1,10 +1,31 @@
#include <stdio.h> /* * * * * * * * * * * * * * * * * * * * * * * * * * *
#include <gtk-4.0/gtk/gtk.h> * *
* Gem-graph client *
* *
* GTK4 Tree list *
* *
* Copyright © 2021 Libre en Communs <contact@a-lec.org> *
* Copyright © 2023 Adrien Bourmault <neox@a-lec.org> *
* Copyright © 2024 Jean Sirmai <jean@a-lec.org> *
* *
* This file is part of Gem-graph. *
* *
* This program is free software: you can redistribute it and/or modify it *
* under the terms of the GNU Affero General Public License *
* as publishedby the Free Software Foundation, *
* either version 3 of the License, or (at your option) any later version. *
* *
* This program is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. *
* See the GNU Affero General Public License for more details. *
* *
* You should have received a copy of the GNU Affero General Public License *
* along with this program. If not, see <http://www.gnu.org/licenses/>. *
* *
* * * * * * * * * * * * * * * * * * * * * * * * * * */
#include <assert.h>
#include "../include/widgets.h"
#include "../include/texts.h"
#include "../include/callback.h" #include "../include/callback.h"
// https://docs.gtk.org/gtk4/visual_index.html < widgets gallery // https://docs.gtk.org/gtk4/visual_index.html < widgets gallery

View File

@ -1,11 +1,34 @@
#include <stdio.h> /* * * * * * * * * * * * * * * * * * * * * * * * * * *
#include <gtk-4.0/gtk/gtk.h> * *
* Gem-graph client *
* *
* Widgets *
* *
* Copyright © 2021 Libre en Communs <contact@a-lec.org> *
* Copyright © 2023 Adrien Bourmault <neox@a-lec.org> *
* Copyright © 2023 Jean Sirmai <jean@a-lec.org> *
* *
* This file is part of Gem-graph. *
* *
* This program is free software: you can redistribute it and/or modify it *
* under the terms of the GNU Affero General Public License *
* as publishedby the Free Software Foundation, *
* either version 3 of the License, or (at your option) any later version. *
* *
* This program is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. *
* See the GNU Affero General Public License for more details. *
* *
* You should have received a copy of the GNU Affero General Public License *
* along with this program. If not, see <http://www.gnu.org/licenses/>. *
* *
* * * * * * * * * * * * * * * * * * * * * * * * * * */
#include "../include/base.h" #include "../include/base.h"
#include "../include/graphics.h"
#include "../include/callback.h" #include "../include/callback.h"
#include "../include/widgets.h" #include "../include/widgets.h"
#include "../include/texts.h"
// https://blog.gtk.org/2020/09/08/on-list-models/ < TODO // https://blog.gtk.org/2020/09/08/on-list-models/ < TODO
// https://docs.gtk.org/gtk4/visual_index.html < widgets gallery // https://docs.gtk.org/gtk4/visual_index.html < widgets gallery

View File

@ -1,8 +1,31 @@
#include <stdio.h> /* * * * * * * * * * * * * * * * * * * * * * * * * * *
#include <gtk-4.0/gtk/gtk.h> * *
* Gem-graph client *
* *
* Widgets *
* *
* Copyright © 2021 Libre en Communs <contact@a-lec.org> *
* Copyright © 2023 Jean Sirmai <jean@a-lec.org> *
* *
* This file is part of Gem-graph. *
* *
* This program is free software: you can redistribute it and/or modify it *
* under the terms of the GNU Affero General Public License *
* as publishedby the Free Software Foundation, *
* either version 3 of the License, or (at your option) any later version. *
* *
* This program is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. *
* See the GNU Affero General Public License for more details. *
* *
* You should have received a copy of the GNU Affero General Public License *
* along with this program. If not, see <http://www.gnu.org/licenses/>. *
* *
* * * * * * * * * * * * * * * * * * * * * * * * * * */
#include "../include/widgets.h" #include "../include/widgets.h"
#include "../include/texts.h"
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------