OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2004, 2005, 2006, 2007 Nikolas Zimmermann <zimmermann@kde.org> | 2 * Copyright (C) 2004, 2005, 2006, 2007 Nikolas Zimmermann <zimmermann@kde.org> |
3 * Copyright (C) 2004, 2005 Rob Buis <buis@kde.org> | 3 * Copyright (C) 2004, 2005 Rob Buis <buis@kde.org> |
4 * Copyright (C) 2005 Eric Seidel <eric@webkit.org> | 4 * Copyright (C) 2005 Eric Seidel <eric@webkit.org> |
5 * Copyright (C) 2010 Dirk Schulze <krit@webkit.org> | 5 * Copyright (C) 2010 Dirk Schulze <krit@webkit.org> |
6 * | 6 * |
7 * This library is free software; you can redistribute it and/or | 7 * This library is free software; you can redistribute it and/or |
8 * modify it under the terms of the GNU Library General Public | 8 * modify it under the terms of the GNU Library General Public |
9 * License as published by the Free Software Foundation; either | 9 * License as published by the Free Software Foundation; either |
10 * version 2 of the License, or (at your option) any later version. | 10 * version 2 of the License, or (at your option) any later version. |
(...skipping 11 matching lines...) Expand all Loading... |
22 | 22 |
23 #ifndef SVGFEImage_h | 23 #ifndef SVGFEImage_h |
24 #define SVGFEImage_h | 24 #define SVGFEImage_h |
25 | 25 |
26 #if ENABLE(SVG) && ENABLE(FILTERS) | 26 #if ENABLE(SVG) && ENABLE(FILTERS) |
27 #include "FilterEffect.h" | 27 #include "FilterEffect.h" |
28 #include "SVGPreserveAspectRatio.h" | 28 #include "SVGPreserveAspectRatio.h" |
29 | 29 |
30 namespace WebCore { | 30 namespace WebCore { |
31 | 31 |
| 32 class Document; |
32 class Image; | 33 class Image; |
| 34 class RenderObject; |
33 | 35 |
34 class FEImage : public FilterEffect { | 36 class FEImage : public FilterEffect { |
35 public: | 37 public: |
36 static PassRefPtr<FEImage> create(Filter*, PassRefPtr<Image>, const SVGPrese
rveAspectRatio&); | 38 static PassRefPtr<FEImage> createWithImage(Filter*, PassRefPtr<Image>, const
SVGPreserveAspectRatio&); |
| 39 static PassRefPtr<FEImage> createWithIRIReference(Filter*, Document*, const
String&, const SVGPreserveAspectRatio&); |
37 | 40 |
38 void setAbsoluteSubregion(const FloatRect& absoluteSubregion) { m_absoluteSu
bregion = absoluteSubregion; } | 41 void setAbsoluteSubregion(const FloatRect& absoluteSubregion) { m_absoluteSu
bregion = absoluteSubregion; } |
39 | 42 |
40 virtual void platformApplySoftware(); | 43 virtual void platformApplySoftware(); |
41 virtual void dump(); | 44 virtual void dump(); |
42 | 45 |
43 virtual void determineAbsolutePaintRect(); | 46 virtual void determineAbsolutePaintRect(); |
44 | 47 |
45 virtual FilterEffectType filterEffectType() const { return FilterEffectTypeI
mage; } | 48 virtual FilterEffectType filterEffectType() const { return FilterEffectTypeI
mage; } |
46 | 49 |
47 virtual TextStream& externalRepresentation(TextStream&, int indention) const
; | 50 virtual TextStream& externalRepresentation(TextStream&, int indention) const
; |
48 | 51 |
49 private: | 52 private: |
| 53 virtual ~FEImage() { } |
50 FEImage(Filter*, PassRefPtr<Image>, const SVGPreserveAspectRatio&); | 54 FEImage(Filter*, PassRefPtr<Image>, const SVGPreserveAspectRatio&); |
| 55 FEImage(Filter*, Document*, const String&, const SVGPreserveAspectRatio&); |
| 56 RenderObject* referencedRenderer() const; |
51 | 57 |
52 RefPtr<Image> m_image; | 58 RefPtr<Image> m_image; |
| 59 Document* m_document; |
| 60 String m_href; |
53 SVGPreserveAspectRatio m_preserveAspectRatio; | 61 SVGPreserveAspectRatio m_preserveAspectRatio; |
54 FloatRect m_absoluteSubregion; | 62 FloatRect m_absoluteSubregion; |
55 }; | 63 }; |
56 | 64 |
57 } // namespace WebCore | 65 } // namespace WebCore |
58 | 66 |
59 #endif // ENABLE(SVG) && ENABLE(FILTERS) | 67 #endif // ENABLE(SVG) && ENABLE(FILTERS) |
60 | 68 |
61 #endif // SVGFEImage_h | 69 #endif // SVGFEImage_h |
OLD | NEW |