diff options
Diffstat (limited to 'src/glibext/gbufferline.h')
-rw-r--r-- | src/glibext/gbufferline.h | 50 |
1 files changed, 29 insertions, 21 deletions
diff --git a/src/glibext/gbufferline.h b/src/glibext/gbufferline.h index e4c2da5..6b213e3 100644 --- a/src/glibext/gbufferline.h +++ b/src/glibext/gbufferline.h @@ -114,12 +114,6 @@ void g_buffer_line_fill_mrange(GBufferLine *, MemoryDataSize, MemoryDataSize); /* Construit le tronc commun d'une ligne d'instruction. */ void g_buffer_line_fill_for_instr(GBufferLine *, MemoryDataSize, MemoryDataSize, const GBinContent *, phys_t); -/* Donne le segment présent à une abscisse donnée. */ -GBufferSegment *g_buffer_line_get_segment_at(const GBufferLine *, const gint [BLC_COUNT], 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 gint [BLC_COUNT], const bool *, GdkScrollDirection, gint *); - /* Recherche le premier créateur enregistré dans des segments. */ GObject *g_buffer_line_find_first_segment_creator(const GBufferLine *, BufferLineColumn); @@ -138,18 +132,6 @@ char *g_buffer_line_get_text(const GBufferLine *, BufferLineColumn, BufferLineCo /* Supprime du texte représenté par une ligne de tampon. */ void g_buffer_line_delete_text(GBufferLine *, BufferLineColumn, BufferLineColumn); -/* Retient les largeurs d'une ligne si maximales. */ -void g_buffer_line_update_max_widths(GBufferLine *, GBufferLine *); - -/* Renvoie la ligne comptabilisant les largeurs pour un groupe. */ -GBufferLine *g_buffer_line_get_width_manager(GBufferLine *); - -/* Filtre des largeurs de lignes et ne garde que les maximales. */ -void g_buffer_line_apply_max_widths(GBufferLine *, gint *, gint *); - -/* Fournit la largeur d'une colonne finalement appliquée. */ -gint g_buffer_line_compute_max_width(const GBufferLine *, BufferLineColumn, const gint *); - /* Fournit la colonne à partir de laquelle une fusion opère. */ BufferLineColumn g_buffer_line_get_merge_start(const GBufferLine *); @@ -165,9 +147,6 @@ BufferLineFlags g_buffer_line_get_flags(const GBufferLine *); /* Retire une propriété particulière à une ligne donnée. */ void g_buffer_line_remove_flag(GBufferLine *, BufferLineFlags); -/* Imprime la ligne de texte représentée. */ -void g_buffer_line_draw(GBufferLine *, cairo_t *, const gint [BLC_COUNT], gint, gint, const bool *, const segcnt_list *); - /* Exporte la ligne de texte représentée. */ void g_buffer_line_export(GBufferLine *, buffer_export_context *, BufferExportType, const bool *); @@ -184,4 +163,33 @@ void g_buffer_line_export(GBufferLine *, buffer_export_context *, BufferExportTy +/* ----------------------- MANIPULATION DES LARGEURS REQUISES ----------------------- */ + + +/* Mémorisation des largeurs pour un groupe de lignes */ +typedef struct _line_width_summary +{ + gint max_widths[BLC_COUNT]; /* Taille cachée des colonnes */ + gint merged_width; /* Largeur cumulée avant fusion*/ + +} line_width_summary; + + +/* Fait remonter les largeurs requises par une ligne donnée. */ +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 *); + +/* 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); + +/* 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 *); + +/* 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 *); + + + #endif /* _GLIBEXT_GBUFFERLINE_H */ |