diff options
Diffstat (limited to 'Source/WebCore/platform/graphics/chromium/GraphicsLayerChromium.h')
-rw-r--r-- | Source/WebCore/platform/graphics/chromium/GraphicsLayerChromium.h | 214 |
1 files changed, 0 insertions, 214 deletions
diff --git a/Source/WebCore/platform/graphics/chromium/GraphicsLayerChromium.h b/Source/WebCore/platform/graphics/chromium/GraphicsLayerChromium.h deleted file mode 100644 index f332e9444..000000000 --- a/Source/WebCore/platform/graphics/chromium/GraphicsLayerChromium.h +++ /dev/null @@ -1,214 +0,0 @@ -/* - * Copyright (C) 2010 Google Inc. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are - * met: - * - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above - * copyright notice, this list of conditions and the following disclaimer - * in the documentation and/or other materials provided with the - * distribution. - * * Neither the name of Google Inc. nor the names of its - * contributors may be used to endorse or promote products derived from - * this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -#ifndef GraphicsLayerChromium_h -#define GraphicsLayerChromium_h - -#if USE(ACCELERATED_COMPOSITING) - -#include "GraphicsContext.h" -#include "GraphicsLayer.h" -#include "OpaqueRectTrackingContentLayerDelegate.h" - -#include <public/WebAnimationDelegate.h> -#include <public/WebContentLayer.h> -#include <public/WebImageLayer.h> -#include <public/WebLayer.h> -#include <public/WebLayerScrollClient.h> -#include <wtf/HashMap.h> - -namespace WebCore { - -class Path; -class ScrollableArea; - -class LinkHighlightClient { -public: - virtual void invalidate() = 0; - virtual void clearCurrentGraphicsLayer() = 0; - virtual WebKit::WebLayer* layer() = 0; - -protected: - virtual ~LinkHighlightClient() { } -}; - -class GraphicsLayerChromium : public GraphicsLayer, public GraphicsContextPainter, public WebKit::WebAnimationDelegate, public WebKit::WebLayerScrollClient { -public: - GraphicsLayerChromium(GraphicsLayerClient*); - virtual ~GraphicsLayerChromium(); - - virtual void willBeDestroyed() OVERRIDE; - - virtual void setName(const String&); - - virtual bool setChildren(const Vector<GraphicsLayer*>&); - virtual void addChild(GraphicsLayer*); - virtual void addChildAtIndex(GraphicsLayer*, int index); - virtual void addChildAbove(GraphicsLayer*, GraphicsLayer* sibling); - virtual void addChildBelow(GraphicsLayer*, GraphicsLayer* sibling); - virtual bool replaceChild(GraphicsLayer* oldChild, GraphicsLayer* newChild); - - virtual void removeFromParent(); - - virtual void setPosition(const FloatPoint&); - virtual void setAnchorPoint(const FloatPoint3D&); - virtual void setSize(const FloatSize&); - - virtual void setTransform(const TransformationMatrix&); - - virtual void setChildrenTransform(const TransformationMatrix&); - - virtual void setPreserves3D(bool); - virtual void setMasksToBounds(bool); - virtual void setDrawsContent(bool); - virtual void setContentsVisible(bool); - virtual void setMaskLayer(GraphicsLayer*); - - virtual void setBackgroundColor(const Color&); - virtual void clearBackgroundColor(); - - virtual void setContentsOpaque(bool); - virtual void setBackfaceVisibility(bool); - - virtual void setReplicatedByLayer(GraphicsLayer*); - - virtual void setOpacity(float); - - // Returns true if filter can be rendered by the compositor - virtual bool setFilters(const FilterOperations&); - void setBackgroundFilters(const FilterOperations&); - - virtual void setNeedsDisplay(); - virtual void setNeedsDisplayInRect(const FloatRect&); - virtual void setContentsNeedsDisplay(); - - virtual void setContentsRect(const IntRect&); - - static void registerContentsLayer(WebKit::WebLayer*); - static void unregisterContentsLayer(WebKit::WebLayer*); - - virtual void setContentsToImage(Image*); - virtual void setContentsToMedia(PlatformLayer*); - virtual void setContentsToCanvas(PlatformLayer*); - virtual bool hasContentsLayer() const { return m_contentsLayer; } - - virtual bool addAnimation(const KeyframeValueList&, const IntSize& boxSize, const Animation*, const String&, double timeOffset); - virtual void pauseAnimation(const String& animationName, double timeOffset); - virtual void removeAnimation(const String& animationName); - virtual void suspendAnimations(double wallClockTime); - virtual void resumeAnimations(); - - void setLinkHighlight(LinkHighlightClient*); - // Next function for testing purposes. - LinkHighlightClient* linkHighlight() { return m_linkHighlight; } - - virtual WebKit::WebLayer* platformLayer() const; - - virtual void setAppliesPageScale(bool appliesScale) OVERRIDE; - virtual bool appliesPageScale() const OVERRIDE; - - void setScrollableArea(ScrollableArea* scrollableArea) { m_scrollableArea = scrollableArea; } - ScrollableArea* scrollableArea() const { return m_scrollableArea; } - - // GraphicsContextPainter implementation. - virtual void paint(GraphicsContext&, const IntRect& clip) OVERRIDE; - - // WebAnimationDelegate implementation. - virtual void notifyAnimationStarted(double startTime) OVERRIDE; - virtual void notifyAnimationFinished(double finishTime) OVERRIDE; - - // WebLayerScrollClient implementation. - virtual void didScroll() OVERRIDE; - - WebKit::WebContentLayer* contentLayer() const { return m_layer.get(); } - - // Exposed for tests. - WebKit::WebLayer* contentsLayer() const { return m_contentsLayer; } - -private: - void updateNames(); - void updateChildList(); - void updateLayerPosition(); - void updateLayerSize(); - void updateAnchorPoint(); - void updateTransform(); - void updateChildrenTransform(); - void updateMasksToBounds(); - void updateLayerPreserves3D(); - void updateLayerIsDrawable(); - void updateLayerBackgroundColor(); - - void updateContentsImage(); - void updateContentsVideo(); - void updateContentsRect(); - - enum ContentsLayerPurpose { - NoContentsLayer = 0, - ContentsLayerForImage, - ContentsLayerForVideo, - ContentsLayerForCanvas, - }; - - void setContentsTo(ContentsLayerPurpose, WebKit::WebLayer*); - void setupContentsLayer(WebKit::WebLayer*); - void clearContentsLayerIfUnregistered(); - WebKit::WebLayer* contentsLayerIfRegistered(); - - String m_nameBase; - - OwnPtr<WebKit::WebContentLayer> m_layer; - OwnPtr<WebKit::WebLayer> m_transformLayer; - OwnPtr<WebKit::WebImageLayer> m_imageLayer; - WebKit::WebLayer* m_contentsLayer; - // We don't have ownership of m_contentsLayer, but we do want to know if a given layer is the - // same as our current layer in setContentsTo(). Since m_contentsLayer may be deleted at this point, - // we stash an ID away when we know m_contentsLayer is alive and use that for comparisons from that point - // on. - int m_contentsLayerId; - - LinkHighlightClient* m_linkHighlight; - - OwnPtr<OpaqueRectTrackingContentLayerDelegate> m_opaqueRectTrackingContentLayerDelegate; - - ContentsLayerPurpose m_contentsLayerPurpose; - bool m_contentsLayerHasBackgroundColor : 1; - bool m_inSetChildren; - - typedef HashMap<String, int> AnimationIdMap; - AnimationIdMap m_animationIdMap; - - ScrollableArea* m_scrollableArea; -}; - -} // namespace WebCore - -#endif // USE(ACCELERATED_COMPOSITING) - -#endif |