From 2bde8e466a4451c7319e3a072d118917957d6554 Mon Sep 17 00:00:00 2001 From: Steve Block Date: Wed, 25 May 2011 19:08:45 +0100 Subject: Merge WebKit at r82507: Initial merge by git Change-Id: I60ce9d780725b58b45e54165733a8ffee23b683e --- Source/WebCore/platform/gtk/ScrollbarThemeGtk3.cpp | 36 +++------------------- 1 file changed, 5 insertions(+), 31 deletions(-) (limited to 'Source/WebCore/platform/gtk/ScrollbarThemeGtk3.cpp') diff --git a/Source/WebCore/platform/gtk/ScrollbarThemeGtk3.cpp b/Source/WebCore/platform/gtk/ScrollbarThemeGtk3.cpp index d000063..b0b5146 100644 --- a/Source/WebCore/platform/gtk/ScrollbarThemeGtk3.cpp +++ b/Source/WebCore/platform/gtk/ScrollbarThemeGtk3.cpp @@ -135,40 +135,16 @@ void ScrollbarThemeGtk::paintButton(GraphicsContext* context, Scrollbar* scrollb flags |= GTK_STATE_FLAG_INSENSITIVE; gtk_style_context_set_state(m_context, static_cast(flags)); - guint sides = gtk_style_context_get_junction_sides(m_context); - if (scrollbar->orientation() == VerticalScrollbar) - sides &= ~(GTK_JUNCTION_TOP | GTK_JUNCTION_BOTTOM); - else - sides &= ~(GTK_JUNCTION_LEFT | GTK_JUNCTION_RIGHT); - - switch (part) { - case BackButtonStartPart: - sides |= (scrollbar->orientation() == VerticalScrollbar) ? GTK_JUNCTION_BOTTOM : GTK_JUNCTION_RIGHT; - break; - case BackButtonEndPart: - case ForwardButtonEndPart: - sides |= (scrollbar->orientation() == VerticalScrollbar) ? - GTK_JUNCTION_TOP | GTK_JUNCTION_BOTTOM : GTK_JUNCTION_RIGHT | GTK_JUNCTION_LEFT; - break; - case ForwardButtonStartPart: - sides |= (scrollbar->orientation() == VerticalScrollbar) ? GTK_JUNCTION_TOP : GTK_JUNCTION_LEFT; - break; - default: - ASSERT_NOT_REACHED(); - } - gtk_style_context_set_junction_sides(m_context, static_cast(sides)); gtk_style_context_add_class(m_context, GTK_STYLE_CLASS_BUTTON); - gtk_render_background(m_context, context->platformContext(), rect.x(), rect.y(), rect.width(), rect.height()); gtk_render_frame(m_context, context->platformContext(), rect.x(), rect.y(), rect.width(), rect.height()); gfloat arrowScaling; gtk_style_context_get_style(m_context, "arrow-scaling", &arrowScaling, NULL); - IntSize arrowSize = rect.size(); - arrowSize.scale(arrowScaling); - IntPoint arrowPoint(rect.x() + (rect.width() - arrowSize.width()) / 2, - rect.y() + (rect.height() - arrowSize.height()) / 2); + double arrowSize = std::min(rect.width(), rect.height()) * arrowScaling; + FloatPoint arrowPoint(rect.x() + (rect.width() - arrowSize) / 2, + rect.y() + (rect.height() - arrowSize) / 2); if (flags & GTK_STATE_FLAG_ACTIVE) { gint arrowDisplacementX, arrowDisplacementY; @@ -179,16 +155,14 @@ void ScrollbarThemeGtk::paintButton(GraphicsContext* context, Scrollbar* scrollb arrowPoint.move(arrowDisplacementX, arrowDisplacementY); } - gdouble angle, size; + gdouble angle; if (scrollbar->orientation() == VerticalScrollbar) { - size = arrowSize.width(); angle = (part == ForwardButtonEndPart || part == ForwardButtonStartPart) ? G_PI : 0; } else { - size = arrowSize.height(); angle = (part == ForwardButtonEndPart || part == ForwardButtonStartPart) ? G_PI / 2 : 3 * (G_PI / 2); } - gtk_render_arrow(m_context, context->platformContext(), angle, arrowPoint.x(), arrowPoint.y(), size); + gtk_render_arrow(m_context, context->platformContext(), angle, arrowPoint.x(), arrowPoint.y(), arrowSize); gtk_style_context_restore(m_context); } -- cgit v1.1