Begin disentangling of scrollbar logic in preparation for engine-implemented
scrollbars. Split ScrollBar into two classes, an abstract base (still named
ScrollBar) and a new PlatformScrollBar subclass. This subclass is used only
by platforms that want to continue to use a platform scrollbar (rather than
the engine one).
Reviewed by darin
* WebCore.xcodeproj/project.pbxproj:
* html/HTMLCanvasElement.h:
* page/Frame.cpp:
* platform/PlatformScrollBar.h: Added.
(WebCore::PlatformScrollBar::isWidget):
* platform/ScrollBar.h:
(WebCore::ScrollBarClient::~ScrollBarClient):
(WebCore::ScrollBar::~ScrollBar):
(WebCore::ScrollBar::orientation):
(WebCore::ScrollBar::value):
(WebCore::ScrollBar::client):
* platform/mac/PlatformScrollBarMac.mm: Added.
(-[WebCoreScrollBar initWithPlatformScrollBar:]):
(-[WebCoreScrollBar detachPlatformScrollBar]):
(-[WebCoreScrollBar scroll:]):
(-[WebCoreScrollBar widget]):
(-[WebCoreScrollBar mouseDown:]):
(WebCore::PlatformScrollBar::PlatformScrollBar):
(WebCore::PlatformScrollBar::~PlatformScrollBar):
(WebCore::PlatformScrollBar::setScrollBarValue):
(WebCore::PlatformScrollBar::setKnobProportion):
(WebCore::PlatformScrollBar::scrollbarHit):
(WebCore::PlatformScrollBar::width):
(WebCore::PlatformScrollBar::height):
(WebCore::PlatformScrollBar::setRect):
(WebCore::PlatformScrollBar::setEnabled):
(WebCore::PlatformScrollBar::paint):
* platform/mac/ScrollBarMac.mm: Removed.
* platform/mac/WebCoreTextArea.mm:
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::isPointInScrollbar):
* rendering/RenderFormElement.cpp:
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::horizontalScrollbarWidget):
(WebCore::RenderLayer::verticalScrollbarWidget):
(WebCore::RenderLayer::valueChanged):
(WebCore::RenderLayer::setHasHorizontalScrollbar):
(WebCore::RenderLayer::setHasVerticalScrollbar):
(WebCore::RenderLayer::positionScrollbars):
* rendering/RenderLayer.h:
* rendering/RenderWidget.h:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@15721 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/WebCore/html/HTMLCanvasElement.h b/WebCore/html/HTMLCanvasElement.h
index be5f3ca..3dce289 100644
--- a/WebCore/html/HTMLCanvasElement.h
+++ b/WebCore/html/HTMLCanvasElement.h
@@ -40,6 +40,7 @@
class CanvasRenderingContext2D;
typedef CanvasRenderingContext2D CanvasRenderingContext;
class FloatRect;
+class GraphicsContext;
class HTMLCanvasElement : public HTMLElement {
public: