# HG changeset patch # User Martin Stransky # Parent 436686833af095ee3a44f933228ea04890162778 Bug 1143686 - Gtk3 - render scrollbar thumb with margin, r=?karlt diff --git a/widget/gtk/gtk3drawing.c b/widget/gtk/gtk3drawing.c --- a/widget/gtk/gtk3drawing.c +++ b/widget/gtk/gtk3drawing.c @@ -1225,34 +1225,40 @@ moz_gtk_scrollbar_thumb_paint(GtkThemeWi cairo_t *cr, GdkRectangle* rect, GtkWidgetState* state, GtkTextDirection direction) { GtkStateFlags state_flags = GetStateFlagsFromGtkWidgetState(state); GtkStyleContext* style; GtkScrollbar *scrollbar; GtkAdjustment *adj; + GtkBorder margin; ensure_scrollbar_widget(); if (widget == MOZ_GTK_SCROLLBAR_THUMB_HORIZONTAL) scrollbar = GTK_SCROLLBAR(gHorizScrollbarWidget); else scrollbar = GTK_SCROLLBAR(gVertScrollbarWidget); gtk_widget_set_direction(GTK_WIDGET(scrollbar), direction); - + style = gtk_widget_get_style_context(GTK_WIDGET(scrollbar)); gtk_style_context_save(style); - + gtk_style_context_add_class(style, GTK_STYLE_CLASS_SLIDER); gtk_style_context_set_state(style, state_flags); - gtk_render_slider(style, cr, rect->x, rect->y, - rect->width, rect->height, + gtk_style_context_get_margin (style, state_flags, &margin); + + gtk_render_slider(style, cr, + rect->x + margin.left, + rect->y + margin.top, + rect->width - margin.left - margin.right, + rect->height - margin.top - margin.bottom, (widget == MOZ_GTK_SCROLLBAR_THUMB_HORIZONTAL) ? GTK_ORIENTATION_HORIZONTAL : GTK_ORIENTATION_VERTICAL); gtk_style_context_restore(style); return MOZ_GTK_SUCCESS; }