OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2006 Nikolas Zimmermann <zimmermann@kde.org> | 2 * Copyright (C) 2006 Nikolas Zimmermann <zimmermann@kde.org> |
3 * Copyright (C) 2008 Eric Seidel <eric@webkit.org> | 3 * Copyright (C) 2008 Eric Seidel <eric@webkit.org> |
4 * Copyright (C) Research In Motion Limited 2010. All rights reserved. | 4 * Copyright (C) Research In Motion Limited 2010. All rights reserved. |
5 * | 5 * |
6 * This library is free software; you can redistribute it and/or | 6 * This library is free software; you can redistribute it and/or |
7 * modify it under the terms of the GNU Library General Public | 7 * modify it under the terms of the GNU Library General Public |
8 * License as published by the Free Software Foundation; either | 8 * License as published by the Free Software Foundation; either |
9 * version 2 of the License, or (at your option) any later version. | 9 * version 2 of the License, or (at your option) any later version. |
10 * | 10 * |
(...skipping 20 matching lines...) Expand all Loading... |
31 | 31 |
32 namespace blink { | 32 namespace blink { |
33 | 33 |
34 struct GradientData { | 34 struct GradientData { |
35 WTF_MAKE_FAST_ALLOCATED; | 35 WTF_MAKE_FAST_ALLOCATED; |
36 public: | 36 public: |
37 RefPtr<Gradient> gradient; | 37 RefPtr<Gradient> gradient; |
38 AffineTransform userspaceTransform; | 38 AffineTransform userspaceTransform; |
39 }; | 39 }; |
40 | 40 |
41 class GraphicsContext; | |
42 | |
43 class RenderSVGResourceGradient : public RenderSVGResourcePaintServer { | 41 class RenderSVGResourceGradient : public RenderSVGResourcePaintServer { |
44 public: | 42 public: |
45 explicit RenderSVGResourceGradient(SVGGradientElement*); | 43 explicit RenderSVGResourceGradient(SVGGradientElement*); |
46 | 44 |
47 virtual void removeAllClientsFromCache(bool markForInvalidation = true) over
ride final; | 45 virtual void removeAllClientsFromCache(bool markForInvalidation = true) over
ride final; |
48 virtual void removeClientFromCache(RenderObject*, bool markForInvalidation =
true) override final; | 46 virtual void removeClientFromCache(RenderObject*, bool markForInvalidation =
true) override final; |
49 | 47 |
50 virtual SVGPaintServer preparePaintServer(const RenderObject&) override fina
l; | 48 virtual SVGPaintServer preparePaintServer(const RenderObject&) override fina
l; |
51 | 49 |
52 virtual bool isChildAllowed(RenderObject* child, RenderStyle*) const overrid
e final; | 50 virtual bool isChildAllowed(RenderObject* child, RenderStyle*) const overrid
e final; |
53 | 51 |
54 protected: | 52 protected: |
55 void addStops(GradientData*, const Vector<Gradient::ColorStop>&) const; | 53 void addStops(GradientData*, const Vector<Gradient::ColorStop>&) const; |
56 | 54 |
57 virtual SVGUnitTypes::SVGUnitType gradientUnits() const = 0; | 55 virtual SVGUnitTypes::SVGUnitType gradientUnits() const = 0; |
58 virtual void calculateGradientTransform(AffineTransform&) = 0; | 56 virtual void calculateGradientTransform(AffineTransform&) = 0; |
59 virtual bool collectGradientAttributes(SVGGradientElement*) = 0; | 57 virtual bool collectGradientAttributes(SVGGradientElement*) = 0; |
60 virtual void buildGradient(GradientData*) const = 0; | 58 virtual void buildGradient(GradientData*) const = 0; |
61 | 59 |
62 GradientSpreadMethod platformSpreadMethodFromSVGType(SVGSpreadMethodType) co
nst; | 60 GradientSpreadMethod platformSpreadMethodFromSVGType(SVGSpreadMethodType) co
nst; |
63 | 61 |
64 private: | 62 private: |
65 bool m_shouldCollectGradientAttributes : 1; | 63 bool m_shouldCollectGradientAttributes : 1; |
66 HashMap<const RenderObject*, OwnPtr<GradientData> > m_gradientMap; | 64 HashMap<const RenderObject*, OwnPtr<GradientData> > m_gradientMap; |
67 }; | 65 }; |
68 | 66 |
69 } | 67 } |
70 | 68 |
71 #endif | 69 #endif |
OLD | NEW |