diff options
author | Cyrille Bagard <nocbos@gmail.com> | 2018-07-19 23:16:29 (GMT) |
---|---|---|
committer | Cyrille Bagard <nocbos@gmail.com> | 2018-07-19 23:16:29 (GMT) |
commit | 5093663eb4e4aa17edd97cbd864ccb4a3d48a803 (patch) | |
tree | 48192ae6b37e1803d78ed81f5658ad9d2756cfd1 /src/glibext/gwidthtracker.c | |
parent | 12abead3f60d6f72c0d41672af87215dfc13c8fc (diff) |
Given their own structure to rendering options.
Diffstat (limited to 'src/glibext/gwidthtracker.c')
-rw-r--r-- | src/glibext/gwidthtracker.c | 32 |
1 files changed, 22 insertions, 10 deletions
diff --git a/src/glibext/gwidthtracker.c b/src/glibext/gwidthtracker.c index 0741133..44a7ff0 100644 --- a/src/glibext/gwidthtracker.c +++ b/src/glibext/gwidthtracker.c @@ -1149,7 +1149,7 @@ void g_width_tracker_get_local_width_summary(GWidthTracker *tracker, size_t inde /****************************************************************************** * * * Paramètres : tracker = suivi de largeurs à consulter. * -* display = règles d'affichage des colonnes modulables. * +* options = règles d'affichage des colonnes modulables. * * * * Description : Fournit la largeur requise par une visualisation. * * * @@ -1159,13 +1159,14 @@ void g_width_tracker_get_local_width_summary(GWidthTracker *tracker, size_t inde * * ******************************************************************************/ -gint g_width_tracker_get_width(GWidthTracker *tracker, const bool *display) +gint g_width_tracker_get_width(GWidthTracker *tracker, const GDisplayOptions *options) { gint result; /* Taille à retourner */ const line_width_summary *summary; /* Accès rapide aux mesures */ gint col_width; /* Calcul selon les colonnes */ gint full_width; /* Calcul selon les fusions */ - BufferLineColumn i; /* Boucle de parcours */ + size_t count; /* Qté de colonnes en option */ + size_t i; /* Boucle de parcours */ g_width_tracker_ensure_valid_required_widths(tracker); @@ -1176,11 +1177,17 @@ gint g_width_tracker_get_width(GWidthTracker *tracker, const bool *display) col_width = 0; full_width = 0; + count = g_display_options_count(options); + /* Première méthode */ for (i = 0; i < BLC_COUNT; i++) { - if (i < BLC_DISPLAY && !display[i]) continue; + if (i < count) + { + if (!g_display_options_get(options, i)) + continue; + } col_width += summary->max_widths[i]; @@ -1191,9 +1198,10 @@ gint g_width_tracker_get_width(GWidthTracker *tracker, const bool *display) /* Seconde méthode */ - for (i = 0; i < BLC_DISPLAY; i++) + for (i = 0; i < count; i++) { - if (!display[i]) continue; + if (!g_display_options_get(options, i)) + continue; full_width += summary->max_widths[i] + COL_MARGIN; @@ -1223,11 +1231,12 @@ gint g_width_tracker_get_width(GWidthTracker *tracker, const bool *display) * * ******************************************************************************/ -gint g_width_tracker_get_margin(GWidthTracker *tracker, const bool *display) +gint g_width_tracker_get_margin(GWidthTracker *tracker, const GDisplayOptions *options) { gint result; /* Taille à retourner */ const line_width_summary *summary; /* Accès rapide aux mesures */ - BufferLineColumn i; /* Boucle de parcours */ + size_t count; /* Qté de colonnes en option */ + size_t i; /* Boucle de parcours */ g_width_tracker_ensure_valid_required_widths(tracker); @@ -1235,9 +1244,12 @@ gint g_width_tracker_get_margin(GWidthTracker *tracker, const bool *display) summary = &tracker->summary; - for (i = 0; i < BLC_DISPLAY; i++) + count = g_display_options_count(options); + + for (i = 0; i < count; i++) { - if (!display[i]) continue; + if (!g_display_options_get(options, i)) + continue; result += summary->max_widths[i] + COL_MARGIN; |