diff options
Diffstat (limited to 'src/3rdparty/webkit/WebCore/platform/ScrollView.cpp')
-rw-r--r-- | src/3rdparty/webkit/WebCore/platform/ScrollView.cpp | 29 |
1 files changed, 20 insertions, 9 deletions
diff --git a/src/3rdparty/webkit/WebCore/platform/ScrollView.cpp b/src/3rdparty/webkit/WebCore/platform/ScrollView.cpp index d8c3318d37..ee8726a45b 100644 --- a/src/3rdparty/webkit/WebCore/platform/ScrollView.cpp +++ b/src/3rdparty/webkit/WebCore/platform/ScrollView.cpp @@ -751,6 +751,22 @@ void ScrollView::paintScrollCorner(GraphicsContext* context, const IntRect& corn ScrollbarTheme::nativeTheme()->paintScrollCorner(this, context, cornerRect); } +void ScrollView::paintScrollbars(GraphicsContext* context, const IntRect& rect) +{ + if (m_horizontalScrollbar) + m_horizontalScrollbar->paint(context, rect); + if (m_verticalScrollbar) + m_verticalScrollbar->paint(context, rect); + + paintScrollCorner(context, scrollCornerRect()); +} + +void ScrollView::paintPanScrollIcon(GraphicsContext* context) +{ + DEFINE_STATIC_LOCAL(Image*, panScrollIcon, (Image::loadPlatformResource("panIcon").releaseRef())); + context->drawImage(panScrollIcon, m_panScrollIconPoint); +} + void ScrollView::paint(GraphicsContext* context, const IntRect& rect) { if (platformWidget()) { @@ -785,20 +801,15 @@ void ScrollView::paint(GraphicsContext* context, const IntRect& rect) scrollViewDirtyRect.intersect(frameRect()); context->translate(x(), y()); scrollViewDirtyRect.move(-x(), -y()); - if (m_horizontalScrollbar) - m_horizontalScrollbar->paint(context, scrollViewDirtyRect); - if (m_verticalScrollbar) - m_verticalScrollbar->paint(context, scrollViewDirtyRect); - paintScrollCorner(context, scrollCornerRect()); + paintScrollbars(context, scrollViewDirtyRect); + context->restore(); } // Paint the panScroll Icon - if (m_drawPanScrollIcon) { - DEFINE_STATIC_LOCAL(RefPtr<Image>, panScrollIcon, (Image::loadPlatformResource("panIcon"))); - context->drawImage(panScrollIcon.get(), m_panScrollIconPoint); - } + if (m_drawPanScrollIcon) + paintPanScrollIcon(context); } bool ScrollView::isPointInScrollbarCorner(const IntPoint& windowPoint) |