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

Side by Side Diff: third_party/WebKit/Source/platform/graphics/filters/FEGaussianBlur.h

Issue 2393993004: Consolidate FilterOperation and FilterEffect mapRect implementations (Closed)
Patch Set: Rebase; Drop stale comment. 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) 2013 Google Inc. All rights reserved. 5 * Copyright (C) 2013 Google Inc. All rights reserved.
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 13 matching lines...) Expand all
24 #define FEGaussianBlur_h 24 #define FEGaussianBlur_h
25 25
26 #include "platform/graphics/filters/FilterEffect.h" 26 #include "platform/graphics/filters/FilterEffect.h"
27 27
28 namespace blink { 28 namespace blink {
29 29
30 class PLATFORM_EXPORT FEGaussianBlur final : public FilterEffect { 30 class PLATFORM_EXPORT FEGaussianBlur final : public FilterEffect {
31 public: 31 public:
32 static FEGaussianBlur* create(Filter*, float, float); 32 static FEGaussianBlur* create(Filter*, float, float);
33 33
34 static IntSize calculateKernelSize(const Filter*, const FloatPoint& std); 34 // Compute which destination area will be affected when applying a gaussian
35 static IntSize calculateUnscaledKernelSize(const FloatPoint& std); 35 // blur effect with |stdDeviation| to an area |rect|.
36 static FloatRect mapEffect(const FloatSize& stdDeviation, const FloatRect&);
36 37
37 TextStream& externalRepresentation(TextStream&, int indention) const override; 38 TextStream& externalRepresentation(TextStream&, int indention) const override;
38 39
39 private: 40 private:
40 FEGaussianBlur(Filter*, float, float); 41 FEGaussianBlur(Filter*, float, float);
41 42
42 FloatRect mapEffect(const FloatRect&) const override; 43 FloatRect mapEffect(const FloatRect&) const override;
43 44
44 sk_sp<SkImageFilter> createImageFilter() override; 45 sk_sp<SkImageFilter> createImageFilter() override;
45 46
46 float m_stdX; 47 float m_stdX;
47 float m_stdY; 48 float m_stdY;
48 }; 49 };
49 50
50 } // namespace blink 51 } // namespace blink
51 52
52 #endif // FEGaussianBlur_h 53 #endif // FEGaussianBlur_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698