| 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
|
|
|
|
|