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"
14 class CC_EXPORT SolidColorScrollbarLayer
: public ScrollbarLayerInterface
,
17 scoped_ptr
<LayerImpl
> CreateLayerImpl(LayerTreeImpl
* tree_impl
) override
;
19 static scoped_refptr
<SolidColorScrollbarLayer
> Create(
20 const LayerSettings
& settings
,
21 ScrollbarOrientation orientation
,
24 bool is_left_side_vertical_scrollbar
,
28 bool OpacityCanAnimateOnImplThread() const override
;
29 ScrollbarLayerInterface
* ToScrollbarLayer() override
;
31 void PushPropertiesTo(LayerImpl
* layer
) override
;
32 void PushScrollClipPropertiesTo(LayerImpl
* layer
) override
;
34 void SetNeedsDisplayRect(const gfx::Rect
& rect
) override
;
36 // ScrollbarLayerInterface
37 int ScrollLayerId() const override
;
38 void SetScrollLayer(int layer_id
) override
;
39 void SetClipLayer(int layer_id
) override
;
41 ScrollbarOrientation
orientation() const override
;
44 SolidColorScrollbarLayer(const LayerSettings
& settings
,
45 ScrollbarOrientation orientation
,
48 bool is_left_side_vertical_scrollbar
,
50 ~SolidColorScrollbarLayer() override
;
55 ScrollbarOrientation orientation_
;
58 bool is_left_side_vertical_scrollbar_
;
60 DISALLOW_COPY_AND_ASSIGN(SolidColorScrollbarLayer
);
65 #endif // CC_LAYERS_SOLID_COLOR_SCROLLBAR_LAYER_H_