Updating branch refs/heads/andrzejr/wrapper3 to 20202a2432490490f4ff246babd37aa8205147cb (commit) from 866af5da283392b63ba23fe560154ec1e4c87582 (commit)
commit 20202a2432490490f4ff246babd37aa8205147cb Author: Andrzej <ndrwr...@gmail.com> Date: Wed Apr 17 21:10:09 2013 +0100 ArrowButton: better handling of minimum sizes. libxfce4panel/xfce-arrow-button.c | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/libxfce4panel/xfce-arrow-button.c b/libxfce4panel/xfce-arrow-button.c index bcd06b0..c571256 100644 --- a/libxfce4panel/xfce-arrow-button.c +++ b/libxfce4panel/xfce-arrow-button.c @@ -305,7 +305,7 @@ xfce_arrow_button_draw (GtkWidget *widget, { width = (gdouble) MIN (alloc.height - padding.top - padding.bottom - border.top - border.bottom, alloc.width - padding.left - padding.right - border.left - border.right); - width = (gdouble) CLAMP (width, 1.0, (gdouble) ARROW_WIDTH); + width = (gdouble) CLAMP (width, 0.0, (gdouble) ARROW_WIDTH); x = (gdouble) (alloc.width - width) / 2.0; y = (gdouble) (alloc.height - width) / 2.0; @@ -323,7 +323,8 @@ xfce_arrow_button_draw (GtkWidget *widget, } gtk_style_context_get_color (context, gtk_widget_get_state_flags (widget), &fg_rgba); gdk_cairo_set_source_rgba (cr, &fg_rgba); - gtk_render_arrow (context, cr, angle, x, y, width); + if (width > 0) + gtk_render_arrow (context, cr, angle, x, y, width); } return TRUE; @@ -354,7 +355,6 @@ xfce_arrow_button_get_preferred_width (GtkWidget *widget, { case GTK_ARROW_UP: case GTK_ARROW_DOWN: - minimum_child_width += ARROW_WIDTH; natural_child_width += ARROW_WIDTH; break; @@ -369,7 +369,7 @@ xfce_arrow_button_get_preferred_width (GtkWidget *widget, gtk_style_context_get_padding (context, gtk_widget_get_state_flags (widget), &padding); gtk_style_context_get_border (context, gtk_widget_get_state_flags (widget), &border); natural_child_width = (ARROW_WIDTH + padding.left + padding.right + border.left + border.right); - minimum_child_width = natural_child_width; + minimum_child_width = natural_child_width - ARROW_WIDTH; } if (minimum_width != NULL) @@ -404,7 +404,6 @@ xfce_arrow_button_get_preferred_height (GtkWidget *widget, { case GTK_ARROW_LEFT: case GTK_ARROW_RIGHT: - minimum_child_height += ARROW_WIDTH; natural_child_height += ARROW_WIDTH; break; @@ -419,7 +418,7 @@ xfce_arrow_button_get_preferred_height (GtkWidget *widget, gtk_style_context_get_padding (context, gtk_widget_get_state_flags (widget), &padding); gtk_style_context_get_border (context, gtk_widget_get_state_flags (widget), &border); natural_child_height = (ARROW_WIDTH + padding.top + padding.bottom + border.top + border.bottom); - minimum_child_height = natural_child_height; + minimum_child_height = natural_child_height - ARROW_WIDTH; } _______________________________________________ Xfce4-commits mailing list Xfce4-commits@xfce.org https://mail.xfce.org/mailman/listinfo/xfce4-commits