Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(69)

Side by Side Diff: third_party/WebKit/Source/core/svg/graphics/filters/SVGFEImage.h

Issue 2341923002: Harmonize FilterEffect::mapRect and mapPaintRect (Closed)
Patch Set: Rebase Created 4 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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 * Copyright (C) 2013 Google Inc. All rights reserved. 6 * Copyright (C) 2013 Google Inc. All rights reserved.
7 * 7 *
8 * This library is free software; you can redistribute it and/or 8 * This library is free software; you can redistribute it and/or
9 * modify it under the terms of the GNU Library General Public 9 * modify it under the terms of the GNU Library General Public
10 * License as published by the Free Software Foundation; either 10 * License as published by the Free Software Foundation; either
(...skipping 20 matching lines...) Expand all
31 namespace blink { 31 namespace blink {
32 32
33 class Image; 33 class Image;
34 class LayoutObject; 34 class LayoutObject;
35 35
36 class FEImage final : public FilterEffect { 36 class FEImage final : public FilterEffect {
37 public: 37 public:
38 static FEImage* createWithImage(Filter*, PassRefPtr<Image>, SVGPreserveAspec tRatio*); 38 static FEImage* createWithImage(Filter*, PassRefPtr<Image>, SVGPreserveAspec tRatio*);
39 static FEImage* createWithIRIReference(Filter*, TreeScope&, const String&, S VGPreserveAspectRatio*); 39 static FEImage* createWithIRIReference(Filter*, TreeScope&, const String&, S VGPreserveAspectRatio*);
40 40
41 FloatRect determineAbsolutePaintRect(const FloatRect& requestedRect) const o verride;
42
43 FilterEffectType getFilterEffectType() const override { return FilterEffectT ypeImage; }
44
45 // feImage does not perform color interpolation of any kind, so doesn't 41 // feImage does not perform color interpolation of any kind, so doesn't
46 // depend on the value of color-interpolation-filters. 42 // depend on the value of color-interpolation-filters.
47 void setOperatingColorSpace(ColorSpace) override { } 43 void setOperatingColorSpace(ColorSpace) override { }
48 44
49 TextStream& externalRepresentation(TextStream&, int indention) const overrid e; 45 TextStream& externalRepresentation(TextStream&, int indention) const overrid e;
50 sk_sp<SkImageFilter> createImageFilter() override;
51 46
52 DECLARE_VIRTUAL_TRACE(); 47 DECLARE_VIRTUAL_TRACE();
53 48
54 private: 49 private:
55 ~FEImage() override {} 50 ~FEImage() override {}
56 FEImage(Filter*, PassRefPtr<Image>, SVGPreserveAspectRatio*); 51 FEImage(Filter*, PassRefPtr<Image>, SVGPreserveAspectRatio*);
57 FEImage(Filter*, TreeScope&, const String&, SVGPreserveAspectRatio*); 52 FEImage(Filter*, TreeScope&, const String&, SVGPreserveAspectRatio*);
58 LayoutObject* referencedLayoutObject() const; 53 LayoutObject* referencedLayoutObject() const;
59 54
55 FilterEffectType getFilterEffectType() const override { return FilterEffectT ypeImage; }
56
57 FloatRect mapInputs(const FloatRect&) const override;
58
59 sk_sp<SkImageFilter> createImageFilter() override;
60 sk_sp<SkImageFilter> createImageFilterForLayoutObject(const LayoutObject&); 60 sk_sp<SkImageFilter> createImageFilterForLayoutObject(const LayoutObject&);
61 61
62 RefPtr<Image> m_image; 62 RefPtr<Image> m_image;
63 63
64 // m_treeScope will never be a dangling reference. See https://bugs.webkit.o rg/show_bug.cgi?id=99243 64 // m_treeScope will never be a dangling reference. See https://bugs.webkit.o rg/show_bug.cgi?id=99243
65 Member<TreeScope> m_treeScope; 65 Member<TreeScope> m_treeScope;
66 String m_href; 66 String m_href;
67 Member<SVGPreserveAspectRatio> m_preserveAspectRatio; 67 Member<SVGPreserveAspectRatio> m_preserveAspectRatio;
68 }; 68 };
69 69
70 } // namespace blink 70 } // namespace blink
71 71
72 #endif // SVGFEImage_h 72 #endif // SVGFEImage_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698