diff options
author | Cyrille Bagard <nocbos@gmail.com> | 2016-10-23 16:22:50 (GMT) |
---|---|---|
committer | Cyrille Bagard <nocbos@gmail.com> | 2016-10-23 18:53:25 (GMT) |
commit | 56f7524c4fd0fc14a509be7689f4820b31564dbc (patch) | |
tree | 9c84e11279cd5711a4e0af907ca6160b62317528 /src/glibext/gbufferline.h | |
parent | 3f05bacd4fec23824489b51d964a7ce3565bb85b (diff) |
Deleted a level of data to reduce the memory fingerprint.
Diffstat (limited to 'src/glibext/gbufferline.h')
-rw-r--r-- | src/glibext/gbufferline.h | 31 |
1 files changed, 21 insertions, 10 deletions
diff --git a/src/glibext/gbufferline.h b/src/glibext/gbufferline.h index 9403d80..b5d70b2 100644 --- a/src/glibext/gbufferline.h +++ b/src/glibext/gbufferline.h @@ -29,7 +29,7 @@ #include <stdbool.h> -#include "gbuffersegment.h" +#include "linesegment.h" #include "../analysis/content.h" #include "../arch/archbase.h" #include "../arch/vmpa.h" @@ -117,15 +117,12 @@ void g_buffer_line_fill_for_instr(GBufferLine *, MemoryDataSize, MemoryDataSize, /* Recherche le premier créateur enregistré dans des segments. */ GObject *g_buffer_line_find_first_segment_creator(const GBufferLine *, BufferLineColumn); -/* Fournit le segment créé par un objet particulier. */ -GBufferSegment *g_buffer_line_find_segment_from_creator(const GBufferLine *, GObject *); - -/* Ajoute du texte à formater dans une ligne donnée. */ -GBufferSegment *g_buffer_line_insert_text(GBufferLine *, BufferLineColumn, const char *, size_t, RenderingTagType) __attribute__ ((deprecated)); - /* Ajoute du texte à formater dans une ligne donnée. */ void g_buffer_line_append_text(GBufferLine *, BufferLineColumn, const char *, size_t, RenderingTagType, GObject *); +/* Remplace du texte dans une ligne donnée. */ +bool g_buffer_line_replace_text(GBufferLine *, const GObject *, const char *, size_t); + /* Indique si du texte est présent dans une ligne de tampon. */ bool g_buffer_line_has_text(const GBufferLine *, BufferLineColumn, BufferLineColumn); @@ -177,6 +174,14 @@ typedef struct _line_width_summary } line_width_summary; +/* Identification d'un contenu de colonne */ +typedef struct _col_coord_t +{ + BufferLineColumn column; /* Colonne concernée */ + size_t index; /* Indice d'insertion */ + +} col_coord_t; + /* Fait remonter les largeurs requises par une ligne donnée. */ void g_buffer_line_collect_widths(GBufferLine *, line_width_summary *); @@ -184,14 +189,20 @@ void g_buffer_line_collect_widths(GBufferLine *, line_width_summary *); /* Fournit la largeur d'une colonne finalement appliquée. */ gint g_buffer_line_compute_max_width(const GBufferLine *, BufferLineColumn, const line_width_summary *); +/* Fournit le segment présent à une position donnée. */ +const line_segment *g_buffer_line_get_segment_from_coord(const GBufferLine *, const col_coord_t *); + +/* Fournit les coordonnées correspondant à une abscisse donnée. */ +bool g_buffer_line_get_coord_at(const GBufferLine *, const line_width_summary *, const bool *, gint *, gint *, GdkScrollDirection, bool, col_coord_t *); + /* Donne le segment présent à une abscisse donnée. */ -GBufferSegment *g_buffer_line_get_segment_at(const GBufferLine *, const line_width_summary *, const bool *, gint *, gint *, GdkScrollDirection, bool); +const line_segment *g_buffer_line_get_segment_at(const GBufferLine *, const line_width_summary *, const bool *, gint *, gint *, GdkScrollDirection, bool); /* Donne le créateur présent à une abscisse donnée. */ GObject *g_buffer_line_get_creator_at(const GBufferLine *, const line_width_summary *, const bool *, gint *, gint *, GdkScrollDirection, bool); -/* Fournit le segment voisin d'un autre segment identifié. */ -GBufferSegment *g_buffer_line_find_near_segment(const GBufferLine *, GBufferSegment *, const line_width_summary *, const bool *, GdkScrollDirection, gint *); +/* Fournit des coordonnées voisines selon une direction donnée. */ +bool g_buffer_line_find_near_coord(const GBufferLine *, col_coord_t *, const line_width_summary *, const bool *, GdkScrollDirection, gint *); /* Imprime la ligne de texte représentée. */ void g_buffer_line_draw(GBufferLine *, cairo_t *, const line_width_summary *, gint, gint, const bool *, const segcnt_list *); |