[gtk+/wip/baedert/drawing: 3/3] levelbar: Don't underallocate block widgets
- From: Timm Bäder <baedert src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk+/wip/baedert/drawing: 3/3] levelbar: Don't underallocate block widgets
- Date: Thu, 29 Jun 2017 18:16:23 +0000 (UTC)
commit 77ffd3c2a358e80123f8ee8e4038d7bc09cced9d
Author: Timm Bäder <mail baedert org>
Date: Thu Jun 29 15:28:47 2017 +0200
levelbar: Don't underallocate block widgets
gtk/gtklevelbar.c | 6 ++++++
1 files changed, 6 insertions(+), 0 deletions(-)
---
diff --git a/gtk/gtklevelbar.c b/gtk/gtklevelbar.c
index 077ea00..969fe47 100644
--- a/gtk/gtklevelbar.c
+++ b/gtk/gtklevelbar.c
@@ -430,6 +430,7 @@ gtk_level_bar_allocate_trough_continuous (GtkLevelBar *self,
GtkAllocation block_area, clip;
gdouble fill_percentage;
gboolean inverted;
+ int block_min;
inverted = gtk_level_bar_get_real_inverted (self);
@@ -445,9 +446,13 @@ gtk_level_bar_allocate_trough_continuous (GtkLevelBar *self,
fill_percentage = (self->priv->cur_value - self->priv->min_value) /
(self->priv->max_value - self->priv->min_value);
+ gtk_widget_measure (self->priv->block_widget[inverted ? 1 : 0], self->priv->orientation, -1,
+ &block_min, NULL, NULL, NULL);
+
if (self->priv->orientation == GTK_ORIENTATION_HORIZONTAL)
{
block_area.width = (gint) floor (block_area.width * fill_percentage);
+ block_area.width = MAX (block_area.width, block_min);
if (inverted)
block_area.x += allocation->width - block_area.width;
@@ -455,6 +460,7 @@ gtk_level_bar_allocate_trough_continuous (GtkLevelBar *self,
else
{
block_area.height = (gint) floor (block_area.height * fill_percentage);
+ block_area.height = MAX (block_area.height, block_min);
if (inverted)
block_area.y += allocation->height - block_area.height;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]