summaryrefslogtreecommitdiff
path: root/src/glibext/gwidthtracker.c
diff options
context:
space:
mode:
authorCyrille Bagard <nocbos@gmail.com>2018-07-19 23:16:29 (GMT)
committerCyrille Bagard <nocbos@gmail.com>2018-07-19 23:16:29 (GMT)
commit5093663eb4e4aa17edd97cbd864ccb4a3d48a803 (patch)
tree48192ae6b37e1803d78ed81f5658ad9d2756cfd1 /src/glibext/gwidthtracker.c
parent12abead3f60d6f72c0d41672af87215dfc13c8fc (diff)
Given their own structure to rendering options.
Diffstat (limited to 'src/glibext/gwidthtracker.c')
-rw-r--r--src/glibext/gwidthtracker.c32
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;