158537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)// Copyright 2013 The Chromium Authors. All rights reserved. 258537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 358537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)// found in the LICENSE file. 458537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles) 558537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)#ifndef CC_LAYERS_SOLID_COLOR_SCROLLBAR_LAYER_IMPL_H_ 658537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)#define CC_LAYERS_SOLID_COLOR_SCROLLBAR_LAYER_IMPL_H_ 758537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles) 858537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)#include "cc/base/cc_export.h" 958537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)#include "cc/layers/scrollbar_layer_impl_base.h" 1058537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles) 1158537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)namespace cc { 1258537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles) 1358537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)class CC_EXPORT SolidColorScrollbarLayerImpl : public ScrollbarLayerImplBase { 1458537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles) public: 1558537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles) static scoped_ptr<SolidColorScrollbarLayerImpl> Create( 1658537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles) LayerTreeImpl* tree_impl, 1758537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles) int id, 1858537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles) ScrollbarOrientation orientation, 1958537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles) int thumb_thickness, 2058537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles) bool is_left_side_vertical_scrollbar); 2158537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles) virtual ~SolidColorScrollbarLayerImpl(); 2258537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles) 2358537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles) // LayerImpl overrides. 2458537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles) virtual scoped_ptr<LayerImpl> CreateLayerImpl(LayerTreeImpl* tree_impl) 2558537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles) OVERRIDE; 2658537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles) virtual void PushPropertiesTo(LayerImpl* layer) OVERRIDE; 2758537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles) 2858537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles) virtual void AppendQuads(QuadSink* quad_sink, 2958537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles) AppendQuadsData* append_quads_data) OVERRIDE; 3058537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles) 3158537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles) 3258537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles) protected: 3358537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles) SolidColorScrollbarLayerImpl(LayerTreeImpl* tree_impl, 3458537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles) int id, 3558537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles) ScrollbarOrientation orientation, 3658537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles) int thumb_thickness, 3758537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles) bool is_left_side_vertical_scrollbar); 3858537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles) 3958537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles) // ScrollbarLayerImplBase implementation. 4058537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles) virtual int ThumbThickness() const OVERRIDE; 4158537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles) virtual int ThumbLength() const OVERRIDE; 4258537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles) virtual float TrackLength() const OVERRIDE; 4358537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles) virtual int TrackStart() const OVERRIDE; 4458537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles) 4558537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles) private: 4658537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles) int thumb_thickness_; 4758537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles) SkColor color_; 4858537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)}; 4958537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles) 5058537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)} // namespace cc 5158537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles) 5258537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)#endif // CC_LAYERS_SOLID_COLOR_SCROLLBAR_LAYER_IMPL_H_ 53