summaryrefslogtreecommitdiff
path: root/src/glibext/generators
diff options
context:
space:
mode:
Diffstat (limited to 'src/glibext/generators')
-rw-r--r--src/glibext/generators/Makefile.am20
-rw-r--r--src/glibext/generators/hex.c32
-rw-r--r--src/glibext/generators/prologue.c37
-rw-r--r--src/glibext/generators/rborder.c37
4 files changed, 112 insertions, 14 deletions
diff --git a/src/glibext/generators/Makefile.am b/src/glibext/generators/Makefile.am
index c448bb7..a332498 100644
--- a/src/glibext/generators/Makefile.am
+++ b/src/glibext/generators/Makefile.am
@@ -1,21 +1,21 @@
noinst_LTLIBRARIES = libglibextgenerators.la
-libglibextgenerators_la_SOURCES = \
- hex.h hex.c \
- prologue.h prologue.c \
- rborder.h rborder.c
-libglibextgenerators_la_LDFLAGS =
+libglibextgenerators_la_SOURCES = \
+ prologue.h prologue.c \
+ rborder.h rborder.c
+if BUILD_GTK_SUPPORT
-devdir = $(includedir)/chrysalide/$(subdir:src/%=core/%)
+libglibextgenerators_la_SOURCES += \
+ hex.h hex.c
-dev_HEADERS = $(libglibextgenerators_la_SOURCES:%c=)
+endif
+libglibextgenerators_la_CFLAGS = $(TOOLKIT_CFLAGS) $(LIBXML_CFLAGS)
-AM_CPPFLAGS = $(LIBGTK_CFLAGS) $(LIBXML_CFLAGS)
-AM_CFLAGS = $(DEBUG_CFLAGS) $(WARNING_FLAGS) $(COMPLIANCE_FLAGS)
+devdir = $(includedir)/chrysalide/$(subdir:src/%=core/%)
-SUBDIRS =
+dev_HEADERS = $(libglibextgenerators_la_SOURCES:%c=)
diff --git a/src/glibext/generators/hex.c b/src/glibext/generators/hex.c
index 7de2d6b..668ebae 100644
--- a/src/glibext/generators/hex.c
+++ b/src/glibext/generators/hex.c
@@ -32,11 +32,15 @@
#include "../gbinarycursor.h"
#include "../linegen-int.h"
#include "../linesegment.h"
+#include "../../core/columns.h"
#include "../../core/params.h"
#include "../../gtkext/hexdisplay.h"
+/* --------------------------- RENDU AMIQUE D'HEXADECIMAL --------------------------- */
+
+
/* Tampon pour générateur de lignes hexadécimales (instance) */
struct _GHexGenerator
{
@@ -79,15 +83,24 @@ static void g_hex_generator_dispose(GHexGenerator *);
/* Procède à la libération totale de la mémoire. */
static void g_hex_generator_finalize(GHexGenerator *);
+
+
+/* ------------------------ OFFRE DE CAPACITES DE GENERATION ------------------------ */
+
+
/* Indique le nombre de ligne prêtes à être générées. */
static size_t g_hex_generator_count_lines(const GHexGenerator *);
+#ifdef INCLUDE_GTK_SUPPORT
+
/* Retrouve l'emplacement correspondant à une position donnée. */
static void g_hex_generator_compute_cursor(const GHexGenerator *, gint, size_t, size_t, GLineCursor **);
/* Détermine si le conteneur s'inscrit dans une plage donnée. */
static int g_hex_generator_contain_cursor(const GHexGenerator *, size_t, size_t, const GLineCursor *);
+#endif
+
/* Renseigne sur les propriétés liées à un générateur. */
static BufferLineFlags g_hex_generator_get_flags(const GHexGenerator *, size_t, size_t);
@@ -96,6 +109,11 @@ static void g_hex_generator_print(GHexGenerator *, GBufferLine *, size_t, size_t
+/* ---------------------------------------------------------------------------------- */
+/* RENDU AMIQUE D'HEXADECIMAL */
+/* ---------------------------------------------------------------------------------- */
+
+
/* Détermine le type du générateur de lignes hexadécimales à la volée. */
G_DEFINE_TYPE_WITH_CODE(GHexGenerator, g_hex_generator, G_TYPE_OBJECT,
G_IMPLEMENT_INTERFACE(G_TYPE_LINE_GENERATOR, g_hex_generator_interface_init));
@@ -186,8 +204,10 @@ static void g_hex_generator_init(GHexGenerator *generator)
static void g_hex_generator_interface_init(GLineGeneratorInterface *iface)
{
iface->count = (linegen_count_lines_fc)g_hex_generator_count_lines;
+#ifdef INCLUDE_GTK_SUPPORT
iface->compute = (linegen_compute_fc)g_hex_generator_compute_cursor;
iface->contain = (linegen_contain_fc)g_hex_generator_contain_cursor;
+#endif
iface->get_flags = (linegen_get_flags_fc)g_hex_generator_get_flags;
iface->print = (linegen_print_fc)g_hex_generator_print;
@@ -262,6 +282,12 @@ GHexGenerator *g_hex_generator_new(GBinContent *content)
}
+
+/* ---------------------------------------------------------------------------------- */
+/* OFFRE DE CAPACITES DE GENERATION */
+/* ---------------------------------------------------------------------------------- */
+
+
/******************************************************************************
* *
* Paramètres : generator = générateur à consulter. *
@@ -291,6 +317,9 @@ static size_t g_hex_generator_count_lines(const GHexGenerator *generator)
}
+#ifdef INCLUDE_GTK_SUPPORT
+
+
/******************************************************************************
* *
* Paramètres : generator = générateur à consulter. *
@@ -407,6 +436,9 @@ static int g_hex_generator_contain_cursor(const GHexGenerator *generator, size_t
}
+#endif
+
+
/******************************************************************************
* *
* Paramètres : generator = générateur à consulter. *
diff --git a/src/glibext/generators/prologue.c b/src/glibext/generators/prologue.c
index e19107b..6b3260d 100644
--- a/src/glibext/generators/prologue.c
+++ b/src/glibext/generators/prologue.c
@@ -29,14 +29,19 @@
#include "../bufferline.h"
-#include "../gbinarycursor.h"
+#ifdef INCLUDE_GTK_SUPPORT
+# include "../gbinarycursor.h"
+#endif
#include "../linegen-int.h"
#include "../linesegment.h"
+#include "../../core/columns.h"
#include "../../format/executable.h"
-#include "../../gtkext/gtkblockdisplay.h"
+/* ------------------------- MARQUE D'INTRODUCTION DE RENDU ------------------------- */
+
+
/* Tampon pour générateur de lignes en prologue (instance) */
struct _GIntroGenerator
{
@@ -72,15 +77,24 @@ static void g_intro_generator_dispose(GIntroGenerator *);
/* Procède à la libération totale de la mémoire. */
static void g_intro_generator_finalize(GIntroGenerator *);
+
+
+/* ------------------------ OFFRE DE CAPACITES DE GENERATION ------------------------ */
+
+
/* Indique le nombre de ligne prêtes à être générées. */
static size_t g_intro_generator_count_lines(const GIntroGenerator *);
+#ifdef INCLUDE_GTK_SUPPORT
+
/* Retrouve l'emplacement correspondant à une position donnée. */
static void g_intro_generator_compute_cursor(const GIntroGenerator *, gint, size_t, size_t, GLineCursor **);
/* Détermine si le conteneur s'inscrit dans une plage donnée. */
static int g_intro_generator_contain_cursor(const GIntroGenerator *, size_t, size_t, const GLineCursor *);
+#endif
+
/* Renseigne sur les propriétés liées à un générateur. */
static BufferLineFlags g_intro_generator_get_flags(const GIntroGenerator *, size_t, size_t);
@@ -89,6 +103,11 @@ static void g_intro_generator_print(GIntroGenerator *, GBufferLine *, size_t, si
+/* ---------------------------------------------------------------------------------- */
+/* MARQUE D'INTRODUCTION DE RENDU */
+/* ---------------------------------------------------------------------------------- */
+
+
/* Détermine le type du générateur de lignes d'introduction à la volée. */
G_DEFINE_TYPE_WITH_CODE(GIntroGenerator, g_intro_generator, G_TYPE_OBJECT,
G_IMPLEMENT_INTERFACE(G_TYPE_LINE_GENERATOR, g_intro_generator_interface_init));
@@ -153,8 +172,10 @@ static void g_intro_generator_init(GIntroGenerator *generator)
static void g_intro_generator_interface_init(GLineGeneratorInterface *iface)
{
iface->count = (linegen_count_lines_fc)g_intro_generator_count_lines;
+#ifdef INCLUDE_GTK_SUPPORT
iface->compute = (linegen_compute_fc)g_intro_generator_compute_cursor;
iface->contain = (linegen_contain_fc)g_intro_generator_contain_cursor;
+#endif
iface->get_flags = (linegen_get_flags_fc)g_intro_generator_get_flags;
iface->print = (linegen_print_fc)g_intro_generator_print;
@@ -263,6 +284,12 @@ GIntroGenerator *g_intro_generator_new(const GBinFormat *format, const GCodingLa
}
+
+/* ---------------------------------------------------------------------------------- */
+/* OFFRE DE CAPACITES DE GENERATION */
+/* ---------------------------------------------------------------------------------- */
+
+
/******************************************************************************
* *
* Paramètres : generator = générateur à consulter. *
@@ -282,6 +309,9 @@ static size_t g_intro_generator_count_lines(const GIntroGenerator *generator)
}
+#ifdef INCLUDE_GTK_SUPPORT
+
+
/******************************************************************************
* *
* Paramètres : generator = générateur à consulter. *
@@ -338,6 +368,9 @@ static int g_intro_generator_contain_cursor(const GIntroGenerator *generator, si
}
+#endif
+
+
/******************************************************************************
* *
* Paramètres : generator = générateur à consulter. *
diff --git a/src/glibext/generators/rborder.c b/src/glibext/generators/rborder.c
index 97e7a22..8379c7a 100644
--- a/src/glibext/generators/rborder.c
+++ b/src/glibext/generators/rborder.c
@@ -30,13 +30,18 @@
#include "../bufferline.h"
-#include "../gbinarycursor.h"
+#ifdef INCLUDE_GTK_SUPPORT
+# include "../gbinarycursor.h"
+#endif
#include "../linegen-int.h"
#include "../linesegment.h"
-#include "../../gtkext/gtkblockdisplay.h"
+#include "../../core/columns.h"
+/* -------------------------- MARQUE DE BORDURE DE ROUTINE -------------------------- */
+
+
/* Tampon pour générateur de délimitations de routines (instance) */
struct _GBorderGenerator
{
@@ -79,15 +84,24 @@ static void g_border_generator_dispose(GBorderGenerator *);
/* Procède à la libération totale de la mémoire. */
static void g_border_generator_finalize(GBorderGenerator *);
+
+
+/* ------------------------ OFFRE DE CAPACITES DE GENERATION ------------------------ */
+
+
/* Indique le nombre de ligne prêtes à être générées. */
static size_t g_border_generator_count_lines(const GBorderGenerator *);
+#ifdef INCLUDE_GTK_SUPPORT
+
/* Retrouve l'emplacement correspondant à une position donnée. */
static void g_border_generator_compute_cursor(const GBorderGenerator *, gint, size_t, size_t, GLineCursor **);
/* Détermine si le conteneur s'inscrit dans une plage donnée. */
static int g_border_generator_contain_cursor(const GBorderGenerator *, size_t, size_t, const GLineCursor *);
+#endif
+
/* Renseigne sur les propriétés liées à un générateur. */
static BufferLineFlags g_border_generator_get_flags(const GBorderGenerator *, size_t, size_t);
@@ -96,6 +110,11 @@ static void g_border_generator_print(GBorderGenerator *, GBufferLine *, size_t,
+/* ---------------------------------------------------------------------------------- */
+/* MARQUE DE BORDURE DE ROUTINE */
+/* ---------------------------------------------------------------------------------- */
+
+
/* Détermine le type du générateur de délimitations de routines à la volée. */
G_DEFINE_TYPE_WITH_CODE(GBorderGenerator, g_border_generator, G_TYPE_OBJECT,
G_IMPLEMENT_INTERFACE(G_TYPE_LINE_GENERATOR, g_border_generator_interface_init));
@@ -158,8 +177,10 @@ static void g_border_generator_init(GBorderGenerator *generator)
static void g_border_generator_interface_init(GLineGeneratorInterface *iface)
{
iface->count = (linegen_count_lines_fc)g_border_generator_count_lines;
+#ifdef INCLUDE_GTK_SUPPORT
iface->compute = (linegen_compute_fc)g_border_generator_compute_cursor;
iface->contain = (linegen_contain_fc)g_border_generator_contain_cursor;
+#endif
iface->get_flags = (linegen_get_flags_fc)g_border_generator_get_flags;
iface->print = (linegen_print_fc)g_border_generator_print;
@@ -240,6 +261,12 @@ GBorderGenerator *g_border_generator_new(GCodingLanguage *lang, const vmpa2t *ad
}
+
+/* ---------------------------------------------------------------------------------- */
+/* OFFRE DE CAPACITES DE GENERATION */
+/* ---------------------------------------------------------------------------------- */
+
+
/******************************************************************************
* *
* Paramètres : generator = générateur à consulter. *
@@ -259,6 +286,9 @@ static size_t g_border_generator_count_lines(const GBorderGenerator *generator)
}
+#ifdef INCLUDE_GTK_SUPPORT
+
+
/******************************************************************************
* *
* Paramètres : generator = générateur à consulter. *
@@ -315,6 +345,9 @@ static int g_border_generator_contain_cursor(const GBorderGenerator *generator,
}
+#endif
+
+
/******************************************************************************
* *
* Paramètres : generator = générateur à consulter. *