| Index: cc/scrollbar_layer_impl.h
|
| diff --git a/cc/scrollbar_layer_impl.h b/cc/scrollbar_layer_impl.h
|
| index 638cbb270ce9b24689d5095baf174ade4f4d1a13..e7cf58417a7ba11d519eaccfc36f5515c3898d44 100644
|
| --- a/cc/scrollbar_layer_impl.h
|
| +++ b/cc/scrollbar_layer_impl.h
|
| @@ -1,3 +1,112 @@
|
| // 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 CCScrollbarLayerImpl_h
|
| +#define CCScrollbarLayerImpl_h
|
| +
|
| +#if USE(ACCELERATED_COMPOSITING)
|
| +
|
| +#include "CCLayerImpl.h"
|
| +#include "CCScrollbarGeometryFixedThumb.h"
|
| +#include <public/WebRect.h>
|
| +#include <public/WebScrollbar.h>
|
| +#include <public/WebVector.h>
|
| +
|
| +namespace cc {
|
| +
|
| +class ScrollView;
|
| +
|
| +class CCScrollbarLayerImpl : public CCLayerImpl {
|
| +public:
|
| + static scoped_ptr<CCScrollbarLayerImpl> create(int id);
|
| + virtual ~CCScrollbarLayerImpl();
|
| +
|
| + CCScrollbarGeometryFixedThumb* scrollbarGeometry() const { return m_geometry.get(); }
|
| + void setScrollbarGeometry(PassOwnPtr<CCScrollbarGeometryFixedThumb>);
|
| + void setScrollbarData(WebKit::WebScrollbar*);
|
| +
|
| + void setBackTrackResourceId(CCResourceProvider::ResourceId id) { m_backTrackResourceId = id; }
|
| + void setForeTrackResourceId(CCResourceProvider::ResourceId id) { m_foreTrackResourceId = id; }
|
| + void setThumbResourceId(CCResourceProvider::ResourceId id) { m_thumbResourceId = id; }
|
| +
|
| + float currentPos() const { return m_currentPos; }
|
| + void setCurrentPos(float currentPos) { m_currentPos = currentPos; }
|
| +
|
| + int totalSize() const { return m_totalSize; }
|
| + void setTotalSize(int totalSize) { m_totalSize = totalSize; }
|
| +
|
| + int maximum() const { return m_maximum; }
|
| + void setMaximum(int maximum) { m_maximum = maximum; }
|
| +
|
| + WebKit::WebScrollbar::Orientation orientation() const { return m_orientation; }
|
| +
|
| + virtual void appendQuads(CCQuadSink&, CCAppendQuadsData&) OVERRIDE;
|
| +
|
| + virtual void didLoseContext() OVERRIDE;
|
| +
|
| +protected:
|
| + explicit CCScrollbarLayerImpl(int id);
|
| +
|
| +private:
|
| + // nested class only to avoid namespace problem
|
| + class CCScrollbar : public WebKit::WebScrollbar {
|
| + public:
|
| + explicit CCScrollbar(CCScrollbarLayerImpl* owner) : m_owner(owner) { }
|
| +
|
| + // WebScrollbar implementation
|
| + virtual bool isOverlay() const;
|
| + virtual int value() const;
|
| + virtual WebKit::WebPoint location() const;
|
| + virtual WebKit::WebSize size() const;
|
| + virtual bool enabled() const;
|
| + virtual int maximum() const;
|
| + virtual int totalSize() const;
|
| + virtual bool isScrollViewScrollbar() const;
|
| + virtual bool isScrollableAreaActive() const;
|
| + virtual void getTickmarks(WebKit::WebVector<WebKit::WebRect>& tickmarks) const;
|
| + virtual WebScrollbar::ScrollbarControlSize controlSize() const;
|
| + virtual WebScrollbar::ScrollbarPart pressedPart() const;
|
| + virtual WebScrollbar::ScrollbarPart hoveredPart() const;
|
| + virtual WebScrollbar::ScrollbarOverlayStyle scrollbarOverlayStyle() const;
|
| + virtual WebScrollbar::Orientation orientation() const;
|
| + virtual bool isCustomScrollbar() const;
|
| +
|
| + private:
|
| + CCScrollbarLayerImpl* m_owner;
|
| +
|
| + };
|
| +
|
| + virtual const char* layerTypeAsString() const OVERRIDE;
|
| +
|
| + CCScrollbar m_scrollbar;
|
| +
|
| + CCResourceProvider::ResourceId m_backTrackResourceId;
|
| + CCResourceProvider::ResourceId m_foreTrackResourceId;
|
| + CCResourceProvider::ResourceId m_thumbResourceId;
|
| +
|
| + OwnPtr<CCScrollbarGeometryFixedThumb> m_geometry;
|
| +
|
| + // Data to implement CCScrollbar
|
| + WebKit::WebScrollbar::ScrollbarOverlayStyle m_scrollbarOverlayStyle;
|
| + WebKit::WebVector<WebKit::WebRect> m_tickmarks;
|
| + WebKit::WebScrollbar::Orientation m_orientation;
|
| + WebKit::WebScrollbar::ScrollbarControlSize m_controlSize;
|
| + WebKit::WebScrollbar::ScrollbarPart m_pressedPart;
|
| + WebKit::WebScrollbar::ScrollbarPart m_hoveredPart;
|
| +
|
| + float m_currentPos;
|
| + int m_totalSize;
|
| + int m_maximum;
|
| +
|
| + bool m_isScrollableAreaActive;
|
| + bool m_isScrollViewScrollbar;
|
| + bool m_enabled;
|
| + bool m_isCustomScrollbar;
|
| + bool m_isOverlayScrollbar;
|
| +};
|
| +
|
| +}
|
| +#endif // USE(ACCELERATED_COMPOSITING)
|
| +
|
| +#endif
|
|
|