Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1033)

Unified Diff: cc/scrollbar_layer.h

Issue 11550035: Implement pinch-zoom scaling for main-frame scrollbars and pinch-zoom overlay scrollbars. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Revised architecture - complete cl for comments on approach. Created 7 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: cc/scrollbar_layer.h
diff --git a/cc/scrollbar_layer.h b/cc/scrollbar_layer.h
index e26cbdea2875cc2071a980d34512181f937d8d19..a7a42c19489e01eb8e2a96069bf69d1f1a98a2b1 100644
--- a/cc/scrollbar_layer.h
+++ b/cc/scrollbar_layer.h
@@ -27,13 +27,26 @@ public:
scoped_ptr<WebKit::WebScrollbar>,
scoped_ptr<ScrollbarThemePainter>,
scoped_ptr<WebKit::WebScrollbarThemeGeometry>,
+ int scrollLayerId, bool isPinchZoomScrollbar = false);
+
+ // This version of create() only called when creating pinch zoom scrollbars.
+ static scoped_refptr<ScrollbarLayer> create(
+ scoped_ptr<WebKit::WebScrollbar>,
+ scoped_ptr<ScrollbarThemePainter>,
int scrollLayerId);
+ static void setDefaultGeometry(WebKit::WebScrollbarThemeGeometry*);
+ static WebKit::WebScrollbarThemeGeometry* cloneDefaultGeometry();
+ static void setDefaultUsesOverlayScrollbars(bool);
+ static bool defaultUsesOverlayScrollbars() { return s_usesOverlayScrollbars; }
+
int scrollLayerId() const { return m_scrollLayerId; }
void setScrollLayerId(int id);
WebKit::WebScrollbar::Orientation orientation() const;
+ bool isPinchZoomScrollbar() { return m_isPinchZoomScrollbar; }
+
// Layer interface
virtual void setTexturePriorities(const PriorityCalculator&) OVERRIDE;
virtual void update(ResourceUpdateQueue&, const OcclusionTracker*, RenderingStats*) OVERRIDE;
@@ -53,7 +66,7 @@ protected:
scoped_ptr<WebKit::WebScrollbar>,
scoped_ptr<ScrollbarThemePainter>,
scoped_ptr<WebKit::WebScrollbarThemeGeometry>,
- int scrollLayerId);
+ int scrollLayerId, bool isPinchZoomScrollbar);
virtual ~ScrollbarLayer();
private:
@@ -66,6 +79,9 @@ private:
int maxTextureSize();
float clampScaleToMaxTextureSize(float scale);
+ static scoped_ptr<WebKit::WebScrollbarThemeGeometry> s_defaultGeometry;
+ static bool s_usesOverlayScrollbars;
aelias_OOO_until_Jul13 2013/02/06 19:02:45 Please avoid statics.
+
scoped_ptr<WebKit::WebScrollbar> m_scrollbar;
scoped_ptr<ScrollbarThemePainter> m_painter;
scoped_ptr<WebKit::WebScrollbarThemeGeometry> m_geometry;
@@ -73,6 +89,7 @@ private:
int m_scrollLayerId;
unsigned m_textureFormat;
+ bool m_isPinchZoomScrollbar;
gfx::RectF m_dirtyRect;

Powered by Google App Engine
This is Rietveld 408576698