⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 graphicslayerca.h

📁 linux下开源浏览器WebKit的源码,市面上的很多商用浏览器都是移植自WebKit
💻 H
字号:
/* * 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: * 1. Redistributions of source code must retain the above copyright *    notice, this list of conditions and the following disclaimer. * 2. 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. * * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``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 APPLE COMPUTER, INC. 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 GraphicsLayerCA_h#define GraphicsLayerCA_h#if USE(ACCELERATED_COMPOSITING)#include "GraphicsLayer.h"#include <wtf/RetainPtr.h>@class WebAnimationDelegate;@class WebLayer;namespace WebCore {class GraphicsLayerCA : public GraphicsLayer {public:    GraphicsLayerCA(GraphicsLayerClient*);    virtual ~GraphicsLayerCA();    virtual void setName(const String&);    // for hosting this GraphicsLayer in a native layer hierarchy    virtual NativeLayer nativeLayer() const;    virtual void addChild(GraphicsLayer*);    virtual void addChildAtIndex(GraphicsLayer*, 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&);    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 setBackgroundColor(const Color&, const Animation* anim = 0, double beginTime = 0);    virtual void clearBackgroundColor();    virtual void setContentsOpaque(bool);    virtual void setBackfaceVisibility(bool);    // return true if we started an animation    virtual bool setOpacity(float, const Animation* anim = 0, double beginTime = 0);    virtual void setNeedsDisplay();    virtual void setNeedsDisplayInRect(const FloatRect&);    virtual void suspendAnimations();    virtual void resumeAnimations();    virtual bool animateTransform(const TransformValueList&, const IntSize&, const Animation*, double beginTime, bool isTransition);    virtual bool animateFloat(AnimatedPropertyID, const FloatValueList&, const Animation*, double beginTime);    virtual void setContentsToImage(Image*);    virtual void setContentsToVideo(PlatformLayer*);    virtual void clearContents();        virtual void updateContentsRect();    virtual PlatformLayer* platformLayer() const;#ifndef NDEBUG    virtual void setDebugBackgroundColor(const Color&);    virtual void setDebugBorder(const Color&, float borderWidth);    virtual void setZPosition(float);#endifprivate:    WebLayer* primaryLayer() const  { return m_transformLayer.get() ? m_transformLayer.get() : m_layer.get(); }    WebLayer* hostLayerForSublayers() const;    WebLayer* layerForSuperlayer() const;    WebLayer* animatedLayer(AnimatedPropertyID property) const    {        return (property == AnimatedPropertyBackgroundColor) ? m_contentsLayer.get() : primaryLayer();    }    void setBasicAnimation(AnimatedPropertyID, TransformOperation::OperationType, short index, void* fromVal, void* toVal, bool isTransition, const Animation*, double time);    void setKeyframeAnimation(AnimatedPropertyID, TransformOperation::OperationType, short index, void* keys, void* values, void* timingFunctions, bool isTransition, const Animation*, double time);    virtual void removeAnimation(int index, bool reset);    bool requiresTiledLayer(const FloatSize&) const;    void swapFromOrToTiledLayer(bool useTiledLayer);    void setHasContentsLayer(bool);    void setContentsLayer(WebLayer*);    void setContentsLayerFlipped(bool);        RetainPtr<WebLayer> m_layer;    RetainPtr<WebLayer> m_transformLayer;    RetainPtr<WebLayer> m_contentsLayer;    RetainPtr<WebAnimationDelegate> m_animationDelegate;    bool m_contentLayerForImageOrVideo;};} // namespace WebCore#endif // USE(ACCELERATED_COMPOSITING)#endif // GraphicsLayerCA_h

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -