summaryrefslogtreecommitdiff
path: root/src/glibext/gbuffersegment.h
diff options
context:
space:
mode:
authorCyrille Bagard <nocbos@gmail.com>2015-04-12 22:07:56 (GMT)
committerCyrille Bagard <nocbos@gmail.com>2015-04-12 22:07:56 (GMT)
commit90923fccb863075722d2ed17360e2c330b262e04 (patch)
treeb7588517a6437efa2d4cd885984e0b87ef8307fe /src/glibext/gbuffersegment.h
parent054d2d76f1951c20822286bce0128e60c26c4b9b (diff)
Highlighted the current segment on caret location changes.
git-svn-id: svn://svn.gna.org/svn/chrysalide/trunk@511 abbe820e-26c8-41b2-8c08-b7b2b41f8b0a
Diffstat (limited to 'src/glibext/gbuffersegment.h')
-rw-r--r--src/glibext/gbuffersegment.h42
1 files changed, 28 insertions, 14 deletions
diff --git a/src/glibext/gbuffersegment.h b/src/glibext/gbuffersegment.h
index 51bfb2a..67091fb 100644
--- a/src/glibext/gbuffersegment.h
+++ b/src/glibext/gbuffersegment.h
@@ -32,6 +32,13 @@
+/* Liste identifiant un ensemble de segments */
+typedef struct _segcnt_list segcnt_list;
+
+
+/* -------------------- NATURE DE BASE POUR UN FRAGMENT DE TEXTE -------------------- */
+
+
#define G_TYPE_BUFFER_SEGMENT (g_buffer_segment_get_type())
#define G_BUFFER_SEGMENT(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), G_TYPE_BUFFER_SEGMENT, GBufferSegment))
#define G_BUFFER_SEGMENT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), G_TYPE_BUFFER_SEGMENT, GBufferSegmentClass))
@@ -81,16 +88,6 @@ typedef enum _RenderingTagType
} RenderingTagType;
-/* Types de rendus */
-typedef enum _SegRenderingStyle
-{
- SRS_CLASSIC, /* Comportement par défaut */
- SRS_HIGHLIGHT_SAME, /* Surlignage des identiques */
-
- SRS_COUNT
-
-} SegRenderingStyle;
-
/* Fragment de caractères aux propriétés communes (instance) */
typedef struct _GBufferSegment GBufferSegment;
@@ -127,11 +124,8 @@ gint g_buffer_segment_get_caret_position(const GBufferSegment *, gint);
/* Déplace le curseur au sein d'un segment de tampon. */
bool g_buffer_segment_move_caret(const GBufferSegment *, gint *, bool, GdkScrollDirection);
-/* Module l'apparence finale du composant. */
-void g_buffer_segment_set_style(GBufferSegment *, SegRenderingStyle);
-
/* Imprime le fragment de texte représenté. */
-void g_buffer_segment_draw(GBufferSegment *, cairo_t *, gint *, gint);
+void g_buffer_segment_draw(GBufferSegment *, cairo_t *, gint *, gint, const segcnt_list *);
/* Types d'exportation */
typedef enum _BufferExportType
@@ -177,4 +171,24 @@ void g_buffer_segment_export(const GBufferSegment *, buffer_export_context *, Bu
+/* -------------------- GESTION OPTIMALE D'UNE LISTE DE CONTENUS -------------------- */
+
+
+/* Initilise une liste de contenus de segments. */
+segcnt_list *init_segment_content_list(void);
+
+/* Libère la mémoire occupée par une liste de contenus. */
+void exit_segment_content_list(segcnt_list *);
+
+/* Vide, si besoin est, une liste de contenus de segments. */
+bool reset_segment_content_list(segcnt_list *);
+
+/* Marque le contenu d'un segment comme remarquable. */
+bool add_segment_content_to_selection_list(segcnt_list *, const GBufferSegment *);
+
+/* Indique si le contenu d'un segment est notable ou non. */
+bool selection_list_has_segment_content(const segcnt_list *, const GBufferSegment *);
+
+
+
#endif /* _GLIBEXT_GBUFFERSEGMENT_H */