Create abstract common base class for impl scrollbars.
BUG=None NOTRY=true Review URL: https://chromiumcodereview.appspot.com/11573015 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@173466 0039d316-1c4b-4281-b951-d872f2087c98
This commit is contained in:
@ -212,6 +212,7 @@
|
||||
'scrollbar_layer.h',
|
||||
'scrollbar_layer_impl.cc',
|
||||
'scrollbar_layer_impl.h',
|
||||
'scrollbar_layer_impl_base.h',
|
||||
'shader.cc',
|
||||
'shader.h',
|
||||
'shared_quad_state.cc',
|
||||
|
@ -20,7 +20,7 @@ scoped_ptr<ScrollbarLayerImpl> ScrollbarLayerImpl::create(LayerTreeImpl* treeImp
|
||||
}
|
||||
|
||||
ScrollbarLayerImpl::ScrollbarLayerImpl(LayerTreeImpl* treeImpl, int id)
|
||||
: LayerImpl(treeImpl, id)
|
||||
: ScrollbarLayerImplBase(treeImpl, id)
|
||||
, m_scrollbar(this)
|
||||
, m_backTrackResourceId(0)
|
||||
, m_foreTrackResourceId(0)
|
||||
@ -65,6 +65,26 @@ void ScrollbarLayerImpl::setScrollbarData(WebScrollbar* scrollbar)
|
||||
m_geometry->update(scrollbar);
|
||||
}
|
||||
|
||||
float ScrollbarLayerImpl::currentPos() const
|
||||
{
|
||||
return m_currentPos;
|
||||
}
|
||||
|
||||
int ScrollbarLayerImpl::totalSize() const
|
||||
{
|
||||
return m_totalSize;
|
||||
}
|
||||
|
||||
int ScrollbarLayerImpl::maximum() const
|
||||
{
|
||||
return m_maximum;
|
||||
}
|
||||
|
||||
WebKit::WebScrollbar::Orientation ScrollbarLayerImpl::orientation() const
|
||||
{
|
||||
return m_orientation;
|
||||
}
|
||||
|
||||
static gfx::RectF toUVRect(const gfx::Rect& r, const gfx::Rect& bounds)
|
||||
{
|
||||
return gfx::ScaleRect(r, 1.0 / bounds.width(), 1.0 / bounds.height());
|
||||
|
@ -6,17 +6,16 @@
|
||||
#define CC_SCROLLBAR_LAYER_IMPL_H_
|
||||
|
||||
#include "cc/cc_export.h"
|
||||
#include "cc/layer_impl.h"
|
||||
#include "cc/scrollbar_geometry_fixed_thumb.h"
|
||||
#include "cc/scrollbar_layer_impl_base.h"
|
||||
#include <public/WebRect.h>
|
||||
#include <public/WebScrollbar.h>
|
||||
#include <public/WebVector.h>
|
||||
|
||||
namespace cc {
|
||||
|
||||
class ScrollView;
|
||||
|
||||
class CC_EXPORT ScrollbarLayerImpl : public LayerImpl {
|
||||
class CC_EXPORT ScrollbarLayerImpl : public ScrollbarLayerImplBase {
|
||||
public:
|
||||
static scoped_ptr<ScrollbarLayerImpl> create(LayerTreeImpl* treeImpl, int id);
|
||||
virtual ~ScrollbarLayerImpl();
|
||||
@ -29,16 +28,16 @@ public:
|
||||
void setForeTrackResourceId(ResourceProvider::ResourceId id) { m_foreTrackResourceId = id; }
|
||||
void setThumbResourceId(ResourceProvider::ResourceId id) { m_thumbResourceId = id; }
|
||||
|
||||
float currentPos() const { return m_currentPos; }
|
||||
virtual float currentPos() const OVERRIDE;
|
||||
void setCurrentPos(float currentPos) { m_currentPos = currentPos; }
|
||||
|
||||
int totalSize() const { return m_totalSize; }
|
||||
virtual int totalSize() const OVERRIDE;
|
||||
void setTotalSize(int totalSize) { m_totalSize = totalSize; }
|
||||
|
||||
int maximum() const { return m_maximum; }
|
||||
virtual int maximum() const OVERRIDE;
|
||||
void setMaximum(int maximum) { m_maximum = maximum; }
|
||||
|
||||
WebKit::WebScrollbar::Orientation orientation() const { return m_orientation; }
|
||||
virtual WebKit::WebScrollbar::Orientation orientation() const OVERRIDE;
|
||||
|
||||
virtual void appendQuads(QuadSink&, AppendQuadsData&) OVERRIDE;
|
||||
|
||||
|
30
cc/scrollbar_layer_impl_base.h
Normal file
30
cc/scrollbar_layer_impl_base.h
Normal file
@ -0,0 +1,30 @@
|
||||
// Copyright 2012 The Chromium Authors. All rights reserved.
|
||||
// Use of this source code is governed by a BSD-style license that can be
|
||||
// found in the LICENSE file.
|
||||
|
||||
#ifndef CC_SCROLLBAR_LAYER_IMPL_BASE_H_
|
||||
#define CC_SCROLLBAR_LAYER_IMPL_BASE_H_
|
||||
|
||||
#include "cc/cc_export.h"
|
||||
#include "cc/layer_impl.h"
|
||||
#include <public/WebScrollbar.h>
|
||||
|
||||
namespace cc {
|
||||
|
||||
class CC_EXPORT ScrollbarLayerImplBase : public LayerImpl {
|
||||
public:
|
||||
virtual ~ScrollbarLayerImplBase() { }
|
||||
|
||||
virtual float currentPos() const = 0;
|
||||
virtual int totalSize() const = 0;
|
||||
virtual int maximum() const = 0;
|
||||
virtual WebKit::WebScrollbar::Orientation orientation() const = 0;
|
||||
|
||||
protected:
|
||||
ScrollbarLayerImplBase(LayerTreeImpl* treeImpl, int id)
|
||||
: LayerImpl(treeImpl, id) { }
|
||||
|
||||
};
|
||||
|
||||
} // namespace cc
|
||||
#endif // CC_SCROLLBAR_LAYER_IMPL_BASE_H_
|
Reference in New Issue
Block a user