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) 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 Loading... |
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 |
OLD | NEW |