cc: Make VideoResourceUpdater use CopyToResource instead of SetPixels.
[chromium-blink-merge.git] / cc / layers / solid_color_scrollbar_layer.h
blobfc6306e47b38e5e433096639773105e3070585ed
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 scoped_ptr<LayerImpl> CreateLayerImpl(LayerTreeImpl* tree_impl) override;
19 static scoped_refptr<SolidColorScrollbarLayer> Create(
20 ScrollbarOrientation orientation,
21 int thumb_thickness,
22 int track_start,
23 bool is_left_side_vertical_scrollbar,
24 int scroll_layer_id);
26 // Layer overrides.
27 bool OpacityCanAnimateOnImplThread() const override;
28 ScrollbarLayerInterface* ToScrollbarLayer() override;
30 void PushPropertiesTo(LayerImpl* layer) override;
31 void PushScrollClipPropertiesTo(LayerImpl* layer) override;
33 void SetNeedsDisplayRect(const gfx::Rect& rect) override;
35 // ScrollbarLayerInterface
36 int ScrollLayerId() const override;
37 void SetScrollLayer(int layer_id) override;
38 void SetClipLayer(int layer_id) override;
40 ScrollbarOrientation orientation() const override;
42 protected:
43 SolidColorScrollbarLayer(ScrollbarOrientation orientation,
44 int thumb_thickness,
45 int track_start,
46 bool is_left_side_vertical_scrollbar,
47 int scroll_layer_id);
48 ~SolidColorScrollbarLayer() override;
50 private:
51 int scroll_layer_id_;
52 int clip_layer_id_;
53 ScrollbarOrientation orientation_;
54 int thumb_thickness_;
55 int track_start_;
56 bool is_left_side_vertical_scrollbar_;
58 DISALLOW_COPY_AND_ASSIGN(SolidColorScrollbarLayer);
61 } // namespace cc
63 #endif // CC_LAYERS_SOLID_COLOR_SCROLLBAR_LAYER_H_