summaryrefslogtreecommitdiffstats
path: root/cc/layers/scrollbar_geometry_stub.cc
diff options
context:
space:
mode:
Diffstat (limited to 'cc/layers/scrollbar_geometry_stub.cc')
-rw-r--r--cc/layers/scrollbar_geometry_stub.cc109
1 files changed, 109 insertions, 0 deletions
diff --git a/cc/layers/scrollbar_geometry_stub.cc b/cc/layers/scrollbar_geometry_stub.cc
new file mode 100644
index 0000000..fa7b1da
--- /dev/null
+++ b/cc/layers/scrollbar_geometry_stub.cc
@@ -0,0 +1,109 @@
+// Copyright 2012 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "cc/layers/scrollbar_geometry_stub.h"
+
+#include <cmath>
+
+using WebKit::WebRect;
+using WebKit::WebScrollbar;
+using WebKit::WebScrollbarThemeGeometry;
+
+namespace cc {
+
+ScrollbarGeometryStub::ScrollbarGeometryStub(scoped_ptr<WebScrollbarThemeGeometry> geometry)
+ : m_geometry(geometry.Pass())
+{
+}
+
+ScrollbarGeometryStub::~ScrollbarGeometryStub()
+{
+}
+
+WebScrollbarThemeGeometry* ScrollbarGeometryStub::clone() const
+{
+ return m_geometry->clone();
+}
+
+int ScrollbarGeometryStub::thumbPosition(WebScrollbar* scrollbar)
+{
+ return m_geometry->thumbPosition(scrollbar);
+}
+
+int ScrollbarGeometryStub::thumbLength(WebScrollbar* scrollbar)
+{
+ return std::max(0, m_geometry->thumbLength(scrollbar));
+}
+
+int ScrollbarGeometryStub::trackPosition(WebScrollbar* scrollbar)
+{
+ return m_geometry->trackPosition(scrollbar);
+}
+
+int ScrollbarGeometryStub::trackLength(WebScrollbar* scrollbar)
+{
+ return m_geometry->trackLength(scrollbar);
+}
+
+bool ScrollbarGeometryStub::hasButtons(WebScrollbar* scrollbar)
+{
+ return m_geometry->hasButtons(scrollbar);
+}
+
+bool ScrollbarGeometryStub::hasThumb(WebScrollbar* scrollbar)
+{
+ return m_geometry->hasThumb(scrollbar);
+}
+
+WebRect ScrollbarGeometryStub::trackRect(WebScrollbar* scrollbar)
+{
+ return m_geometry->trackRect(scrollbar);
+}
+
+WebRect ScrollbarGeometryStub::thumbRect(WebScrollbar* scrollbar)
+{
+ return m_geometry->thumbRect(scrollbar);
+}
+
+int ScrollbarGeometryStub::minimumThumbLength(WebScrollbar* scrollbar)
+{
+ return m_geometry->minimumThumbLength(scrollbar);
+}
+
+int ScrollbarGeometryStub::scrollbarThickness(WebScrollbar* scrollbar)
+{
+ return m_geometry->scrollbarThickness(scrollbar);
+}
+
+WebRect ScrollbarGeometryStub::backButtonStartRect(WebScrollbar* scrollbar)
+{
+ return m_geometry->backButtonStartRect(scrollbar);
+}
+
+WebRect ScrollbarGeometryStub::backButtonEndRect(WebScrollbar* scrollbar)
+{
+ return m_geometry->backButtonEndRect(scrollbar);
+}
+
+WebRect ScrollbarGeometryStub::forwardButtonStartRect(WebScrollbar* scrollbar)
+{
+ return m_geometry->forwardButtonStartRect(scrollbar);
+}
+
+WebRect ScrollbarGeometryStub::forwardButtonEndRect(WebScrollbar* scrollbar)
+{
+ return m_geometry->forwardButtonEndRect(scrollbar);
+}
+
+WebRect ScrollbarGeometryStub::constrainTrackRectToTrackPieces(WebScrollbar* scrollbar, const WebRect& rect)
+{
+ return m_geometry->constrainTrackRectToTrackPieces(scrollbar, rect);
+}
+
+void ScrollbarGeometryStub::splitTrack(WebScrollbar* scrollbar, const WebRect& unconstrainedTrackRect, WebRect& beforeThumbRect, WebRect& thumbRect, WebRect& afterThumbRect)
+{
+ m_geometry->splitTrack(scrollbar, unconstrainedTrackRect, beforeThumbRect, thumbRect, afterThumbRect);
+}
+
+} // namespace cc