| Index: Source/core/animation/AnimatableSVGPaint.h
|
| diff --git a/Source/core/animation/AnimatableImage.h b/Source/core/animation/AnimatableSVGPaint.h
|
| similarity index 58%
|
| copy from Source/core/animation/AnimatableImage.h
|
| copy to Source/core/animation/AnimatableSVGPaint.h
|
| index 1e3d311c71290283f387cc4ea1530be1d5732017..14f6aa2e934ebcf4022b717f93a9e582e13cda0d 100644
|
| --- a/Source/core/animation/AnimatableImage.h
|
| +++ b/Source/core/animation/AnimatableSVGPaint.h
|
| @@ -28,46 +28,54 @@
|
| * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
| */
|
|
|
| -#ifndef AnimatableImage_h
|
| -#define AnimatableImage_h
|
| +#ifndef AnimatableSVGPaint_h
|
| +#define AnimatableSVGPaint_h
|
|
|
| +#include "core/animation/AnimatableColor.h"
|
| #include "core/animation/AnimatableValue.h"
|
| -#include "core/css/CSSCrossfadeValue.h"
|
| -#include "core/rendering/style/StyleImage.h"
|
| +#include "core/svg/SVGPaint.h"
|
|
|
| namespace WebCore {
|
|
|
| -class AnimatableImage : public AnimatableValue {
|
| +class AnimatableSVGPaint : public AnimatableValue {
|
| public:
|
| - virtual ~AnimatableImage() { }
|
| - static PassRefPtr<AnimatableImage> create(StyleImage* image)
|
| + virtual ~AnimatableSVGPaint() { }
|
| + static PassRefPtr<AnimatableSVGPaint> create(SVGPaint::SVGPaintType type, const Color& color, const String& uri)
|
| {
|
| - return adoptRef(new AnimatableImage(image));
|
| + return create(type, AnimatableColorImpl(color), uri);
|
| }
|
| - PassRefPtr<CSSValue> toCSSValue() const { return m_image->cssValue(); }
|
| - StyleImage* toStyleImage() const { return m_image.get(); }
|
| + static PassRefPtr<AnimatableSVGPaint> create(SVGPaint::SVGPaintType type, const AnimatableColorImpl& color, const String& uri)
|
| + {
|
| + return adoptRef(new AnimatableSVGPaint(type, color, uri));
|
| + }
|
| + SVGPaint::SVGPaintType paintType() const { return m_type; };
|
| + Color color() const { return m_color.toColor(); };
|
| + const String& uri() const { return m_uri; };
|
|
|
| protected:
|
| virtual PassRefPtr<AnimatableValue> interpolateTo(const AnimatableValue*, double fraction) const OVERRIDE;
|
| virtual PassRefPtr<AnimatableValue> addWith(const AnimatableValue*) const OVERRIDE;
|
|
|
| private:
|
| - AnimatableImage(StyleImage* image)
|
| - : m_image(image)
|
| + AnimatableSVGPaint(SVGPaint::SVGPaintType type, const AnimatableColorImpl& color, const String& uri)
|
| + : m_type(type)
|
| + , m_color(color)
|
| + , m_uri(uri)
|
| {
|
| - ASSERT(m_image);
|
| }
|
| - virtual AnimatableType type() const OVERRIDE { return TypeImage; }
|
| + virtual AnimatableType type() const OVERRIDE { return TypeSVGPaint; }
|
|
|
| - const RefPtr<StyleImage> m_image;
|
| + SVGPaint::SVGPaintType m_type;
|
| + AnimatableColorImpl m_color;
|
| + String m_uri;
|
| };
|
|
|
| -inline const AnimatableImage* toAnimatableImage(const AnimatableValue* value)
|
| +inline const AnimatableSVGPaint* toAnimatableSVGPaint(const AnimatableValue* value)
|
| {
|
| - ASSERT_WITH_SECURITY_IMPLICATION(value && value->isImage());
|
| - return static_cast<const AnimatableImage*>(value);
|
| + ASSERT_WITH_SECURITY_IMPLICATION(value && value->isSVGPaint());
|
| + return static_cast<const AnimatableSVGPaint*>(value);
|
| }
|
|
|
| } // namespace WebCore
|
|
|
| -#endif // AnimatableImage_h
|
| +#endif // AnimatableSVGPaint_h
|
|
|