diff --git a/gtk/gtkset.c b/gtk/gtkset.c index 69f1dea72e..b4e0ae7627 100644 --- a/gtk/gtkset.c +++ b/gtk/gtkset.c @@ -335,6 +335,38 @@ next_range: return TRUE; } +gboolean +gtk_set_is_empty (GtkSet *set) +{ + return set->ranges->len == 0; +} + +guint +gtk_set_get_min (GtkSet *set) +{ + Range *r; + + if (gtk_set_is_empty (set)) + return 0; + + r = &g_array_index (set->ranges, Range, 0); + + return r->first; +} + +guint +gtk_set_get_max (GtkSet *set) +{ + Range *r; + + if (gtk_set_is_empty (set)) + return 0; + + r = &g_array_index (set->ranges, Range, set->ranges->len - 1); + + return r->first + r->n_items; +} + #if 0 void gtk_set_dump (GtkSet *set) diff --git a/gtk/gtkset.h b/gtk/gtkset.h index d0ba4e1a96..1ab6c6d1a2 100644 --- a/gtk/gtkset.h +++ b/gtk/gtkset.h @@ -67,4 +67,8 @@ void gtk_set_iter_init (GtkSetIter *iter, gboolean gtk_set_iter_next (GtkSetIter *iter, guint *item); +gboolean gtk_set_is_empty (GtkSet *set); +guint gtk_set_get_min (GtkSet *set); +guint gtk_set_get_max (GtkSet *set); + #endif /* __GTK_SET_H__ */