Lots of random cleanups, mostly for native_theme_win.cc:
[chromium-blink-merge.git] / cc / layers / solid_color_scrollbar_layer.h
blob654a6a6ae744add082134e5bffd089160e894b0f
1 // Copyright 2013 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.
5 #ifndef CC_LAYERS_SOLID_COLOR_SCROLLBAR_LAYER_H_
6 #define CC_LAYERS_SOLID_COLOR_SCROLLBAR_LAYER_H_
8 #include "cc/base/cc_export.h"
9 #include "cc/layers/layer.h"
10 #include "cc/layers/scrollbar_layer_interface.h"
12 namespace cc {
14 class CC_EXPORT SolidColorScrollbarLayer : public ScrollbarLayerInterface,
15 public Layer {
16 public:
17 virtual scoped_ptr<LayerImpl> CreateLayerImpl(LayerTreeImpl* tree_impl)
18 OVERRIDE;
20 static scoped_refptr<SolidColorScrollbarLayer> Create(
21 ScrollbarOrientation orientation,
22 int thumb_thickness,
23 int track_start,
24 bool is_left_side_vertical_scrollbar,
25 int scroll_layer_id);
27 // Layer overrides.
28 virtual bool OpacityCanAnimateOnImplThread() const OVERRIDE;
29 virtual ScrollbarLayerInterface* ToScrollbarLayer() OVERRIDE;
31 virtual void PushPropertiesTo(LayerImpl* layer) OVERRIDE;
32 virtual void PushScrollClipPropertiesTo(LayerImpl* layer) OVERRIDE;
34 virtual void SetNeedsDisplayRect(const gfx::RectF&) OVERRIDE;
36 // ScrollbarLayerInterface
37 virtual int ScrollLayerId() const OVERRIDE;
38 virtual void SetScrollLayer(int layer_id) OVERRIDE;
39 virtual void SetClipLayer(int layer_id) OVERRIDE;
41 virtual ScrollbarOrientation orientation() const OVERRIDE;
43 protected:
44 SolidColorScrollbarLayer(ScrollbarOrientation orientation,
45 int thumb_thickness,
46 int track_start,
47 bool is_left_side_vertical_scrollbar,
48 int scroll_layer_id);
49 virtual ~SolidColorScrollbarLayer();
51 private:
52 int scroll_layer_id_;
53 int clip_layer_id_;
54 ScrollbarOrientation orientation_;
55 int thumb_thickness_;
56 int track_start_;
57 bool is_left_side_vertical_scrollbar_;
59 DISALLOW_COPY_AND_ASSIGN(SolidColorScrollbarLayer);
62 } // namespace cc
64 #endif // CC_LAYERS_SOLID_COLOR_SCROLLBAR_LAYER_H_