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, 20a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch int track_start, 215d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) bool is_left_side_vertical_scrollbar, 225d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) bool is_overlay); 2358537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles) virtual ~SolidColorScrollbarLayerImpl(); 2458537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles) 2558537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles) // LayerImpl overrides. 2658537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles) virtual scoped_ptr<LayerImpl> CreateLayerImpl(LayerTreeImpl* tree_impl) 2758537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles) OVERRIDE; 2858537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles) virtual void PushPropertiesTo(LayerImpl* layer) OVERRIDE; 2958537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles) 30116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch virtual void AppendQuads(RenderPass* render_pass, 31116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch const OcclusionTracker<LayerImpl>& occlusion_tracker, 3258537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles) AppendQuadsData* append_quads_data) OVERRIDE; 3358537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles) 3458537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles) protected: 3558537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles) SolidColorScrollbarLayerImpl(LayerTreeImpl* tree_impl, 3658537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles) int id, 3758537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles) ScrollbarOrientation orientation, 3858537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles) int thumb_thickness, 39a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch int track_start, 405d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) bool is_left_side_vertical_scrollbar, 415d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) bool is_overlay); 4258537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles) 4358537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles) // ScrollbarLayerImplBase implementation. 4458537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles) virtual int ThumbThickness() const OVERRIDE; 4558537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles) virtual int ThumbLength() const OVERRIDE; 4658537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles) virtual float TrackLength() const OVERRIDE; 4758537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles) virtual int TrackStart() const OVERRIDE; 485d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) virtual bool IsThumbResizable() const OVERRIDE; 4958537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles) 5058537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles) private: 5158537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles) int thumb_thickness_; 52a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch int track_start_; 5358537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles) SkColor color_; 5458537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)}; 5558537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles) 5658537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)} // namespace cc 5758537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles) 5858537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)#endif // CC_LAYERS_SOLID_COLOR_SCROLLBAR_LAYER_IMPL_H_ 59