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

Side by Side Diff: cc/scrollbar_geometry_fixed_thumb.h

Issue 12603013: Part 10 of cc/ directory shuffles: layers (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 9 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 unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « cc/resources/picture.cc ('k') | cc/scrollbar_geometry_fixed_thumb.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
1 // Copyright 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #ifndef CC_SCROLLBAR_GEOMETRY_FIXED_THUMB_H_
6 #define CC_SCROLLBAR_GEOMETRY_FIXED_THUMB_H_
7
8 #include "cc/base/cc_export.h"
9 #include "cc/scrollbar_geometry_stub.h"
10 #include "ui/gfx/size.h"
11
12 namespace cc {
13
14 // This scrollbar geometry class behaves exactly like a normal geometry except
15 // it always returns a fixed thumb length. This allows a page to zoom (changing
16 // the total size of the scrollable area, changing the thumb length) while not
17 // requiring the thumb resource to be repainted.
18 class CC_EXPORT ScrollbarGeometryFixedThumb : public ScrollbarGeometryStub {
19 public:
20 static scoped_ptr<ScrollbarGeometryFixedThumb> create(scoped_ptr<WebKit::Web ScrollbarThemeGeometry>);
21 virtual ~ScrollbarGeometryFixedThumb();
22
23 void setThumbSize(gfx::Size size) { m_thumbSize = size; }
24
25 // WebScrollbarThemeGeometry interface
26 virtual WebKit::WebScrollbarThemeGeometry* clone() const OVERRIDE;
27 virtual int thumbLength(WebKit::WebScrollbar*) OVERRIDE;
28 virtual int thumbPosition(WebKit::WebScrollbar*) OVERRIDE;
29 virtual void splitTrack(WebKit::WebScrollbar*, const WebKit::WebRect& track, WebKit::WebRect& startTrack, WebKit::WebRect& thumb, WebKit::WebRect& endTrack) OVERRIDE;
30
31 private:
32 explicit ScrollbarGeometryFixedThumb(scoped_ptr<WebKit::WebScrollbarThemeGeo metry>);
33
34 gfx::Size m_thumbSize;
35 };
36
37 }
38
39 #endif // CC_SCROLLBAR_GEOMETRY_FIXED_THUMB_H_
OLDNEW
« no previous file with comments | « cc/resources/picture.cc ('k') | cc/scrollbar_geometry_fixed_thumb.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698