Index: WebCore/platform/graphics/skia/GraphicsLayerSkia.h |
=================================================================== |
--- WebCore/platform/graphics/skia/GraphicsLayerSkia.h (revision 0) |
+++ WebCore/platform/graphics/skia/GraphicsLayerSkia.h (revision 0) |
@@ -0,0 +1,151 @@ |
+/* |
+ * Copyright (c) 2010, Google Inc. All rights reserved. |
+ * Copyright (C) 2009 Apple 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 GraphicsLayerSkia_h_ |
+#define GraphicsLayerSkia_h_ |
+ |
+// TODO(vangelis): File heavily borrows from GraphicsLayerCACF.h. See comment |
+// at the top of GraphicsLayerSkia.cpp. |
+ |
+#if USE(ACCELERATED_COMPOSITING) |
+ |
+#include "GraphicsLayer.h" |
+#include "GraphicsContext.h" |
+ |
+namespace WebCore { |
+ |
+class LayerSkia; |
+ |
+class GraphicsLayerSkia : public GraphicsLayer { |
+public: |
+ |
+ GraphicsLayerSkia(GraphicsLayerClient*); |
+ virtual ~GraphicsLayerSkia(); |
+ |
+ virtual void setName(const String& inName); |
+ |
+ // for hosting this GraphicsLayer in a native layer hierarchy |
+ virtual NativeLayer nativeLayer() const; |
+ |
+ virtual bool setChildren(const Vector<GraphicsLayer*>&); |
+ virtual void addChild(GraphicsLayer *layer); |
+ virtual void addChildAtIndex(GraphicsLayer *layer, int index); |
+ virtual void addChildAbove(GraphicsLayer *layer, GraphicsLayer *sibling); |
+ virtual void addChildBelow(GraphicsLayer *layer, GraphicsLayer *sibling); |
+ virtual bool replaceChild(GraphicsLayer *oldChild, GraphicsLayer *newChild); |
+ |
+ virtual void removeFromParent(); |
+ |
+ virtual void setPosition(const FloatPoint& inPoint); |
+ virtual void setAnchorPoint(const FloatPoint3D& inPoint); |
+ virtual void setSize(const FloatSize& inSize); |
+ |
+ virtual void setTransform(const TransformationMatrix&); |
+ |
+ virtual void setChildrenTransform(const TransformationMatrix&); |
+ |
+ virtual void setPreserves3D(bool); |
+ virtual void setMasksToBounds(bool); |
+ virtual void setDrawsContent(bool); |
+ |
+ virtual void setBackgroundColor(const Color&); |
+ virtual void clearBackgroundColor(); |
+ |
+ virtual void setContentsOpaque(bool); |
+ virtual void setBackfaceVisibility(bool); |
+ |
+ virtual void setOpacity(float opacity); |
+ |
+ virtual void setNeedsDisplay(); |
+ virtual void setNeedsDisplayInRect(const FloatRect&); |
+ |
+ virtual void setContentsRect(const IntRect&); |
+ |
+ virtual void setContentsToImage(Image*); |
+ virtual void setContentsToVideo(PlatformLayer*); |
+ |
+ virtual PlatformLayer* platformLayer() const; |
+ |
+ virtual void setDebugBackgroundColor(const Color&); |
+ virtual void setDebugBorder(const Color&, float borderWidth); |
+ |
+ virtual void setGeometryOrientation(CompositingCoordinatesOrientation); |
+ |
+ void notifySyncRequired() { if (m_client) m_client->notifySyncRequired(this); } |
+ |
+private: |
+ void updateOpacityOnLayer(); |
+ |
+ LayerSkia* primaryLayer() const { return m_transformLayer.get() ? m_transformLayer.get() : m_layer.get(); } |
+ LayerSkia* hostLayerForSublayers() const; |
+ LayerSkia* layerForSuperlayer() const; |
+ |
+ CompositingCoordinatesOrientation defaultContentsOrientation() const; |
+ void updateSublayerList(); |
+ void updateLayerPosition(); |
+ void updateLayerSize(); |
+ void updateAnchorPoint(); |
+ void updateTransform(); |
+ void updateChildrenTransform(); |
+ void updateMasksToBounds(); |
+ void updateContentsOpaque(); |
+ void updateBackfaceVisibility(); |
+ void updateLayerPreserves3D(); |
+ void updateLayerDrawsContent(); |
+ void updateLayerBackgroundColor(); |
+ |
+ void updateContentsImage(); |
+ void updateContentsVideo(); |
+ void updateContentsRect(); |
+ void updateGeometryOrientation(); |
+ |
+ void setupContentsLayer(LayerSkia*); |
+ LayerSkia* contentsLayer() const { return m_contentsLayer.get(); } |
+ |
+ RefPtr<LayerSkia> m_layer; |
+ RefPtr<LayerSkia> m_transformLayer; |
+ RefPtr<LayerSkia> m_contentsLayer; |
+ |
+ enum ContentsLayerPurpose { |
+ NoContentsLayer = 0, |
+ ContentsLayerForImage, |
+ ContentsLayerForVideo |
+ }; |
+ |
+ ContentsLayerPurpose m_contentsLayerPurpose; |
+ bool m_contentsLayerHasBackgroundColor : 1; |
+}; |
+ |
+} // namespace WebCore |
+ |
+#endif // USE(ACCELERATED_COMPOSITING) |
+ |
+#endif // GraphicsLayerSkia_h_ |
Property changes on: WebCore\platform\graphics\skia\GraphicsLayerSkia.h |
___________________________________________________________________ |
Added: svn:eol-style |
+ LF |