Flutter Engine
The Flutter Engine
|
#include <SkBlurEngine.h>
Public Member Functions | |
float | maxSigma () const override |
bool | supportsOnlyDecalTiling () const override |
sk_sp< SkSpecialImage > | blur (SkSize sigma, sk_sp< SkSpecialImage > src, const SkIRect &srcRect, SkTileMode tileMode, const SkIRect &dstRect) const override |
Public Member Functions inherited from SkBlurEngine::Algorithm | |
virtual | ~Algorithm ()=default |
virtual float | maxSigma () const =0 |
virtual bool | supportsOnlyDecalTiling () const =0 |
virtual sk_sp< SkSpecialImage > | blur (SkSize sigma, sk_sp< SkSpecialImage > src, const SkIRect &srcRect, SkTileMode tileMode, const SkIRect &dstRect) const =0 |
Static Public Member Functions | |
static constexpr int | KernelWidth (int radius) |
static constexpr int | LinearKernelWidth (int radius) |
static const SkRuntimeEffect * | GetBlur2DEffect (const SkISize &radii) |
static const SkRuntimeEffect * | GetLinearBlur1DEffect (int radius) |
static void | Compute2DBlurKernel (SkSize sigma, SkISize radius, SkSpan< float > kernel) |
static void | Compute2DBlurKernel (SkSize sigma, SkISize radius, std::array< SkV4, kMaxSamples/4 > &kernel) |
static void | Compute1DBlurKernel (float sigma, int radius, SkSpan< float > kernel) |
static void | Compute2DBlurOffsets (SkISize radius, std::array< SkV4, kMaxSamples/2 > &offsets) |
static void | Compute1DBlurLinearKernel (float sigma, int radius, std::array< SkV4, kMaxSamples/2 > &offsetsAndKernel) |
Static Public Attributes | |
static constexpr int | kMaxSamples = 28 |
static constexpr float | kMaxLinearSigma = 4.f |
Private Member Functions | |
virtual sk_sp< SkDevice > | makeDevice (const SkImageInfo &) const =0 |
The default blur implementation uses internal runtime effects to evaluate either a single 2D kernel within a shader, or performs two 1D blur passes. This algorithm is backend agnostic but must be subclassed per backend to define the SkDevice creation function.
Definition at line 112 of file SkBlurEngine.h.
|
overridevirtual |
Implements SkBlurEngine::Algorithm.
Definition at line 383 of file SkBlurEngine.cpp.
|
inlinestatic |
Definition at line 235 of file SkBlurEngine.h.
|
static |
Definition at line 118 of file SkBlurEngine.cpp.
|
static |
Definition at line 37 of file SkBlurEngine.cpp.
|
static |
Definition at line 86 of file SkBlurEngine.cpp.
|
static |
Definition at line 95 of file SkBlurEngine.cpp.
|
static |
Definition at line 247 of file SkBlurEngine.cpp.
|
static |
Definition at line 241 of file SkBlurEngine.cpp.
Definition at line 154 of file SkBlurEngine.h.
Definition at line 158 of file SkBlurEngine.h.
|
privatepure virtual |
|
inlineoverridevirtual |
|
inlineoverridevirtual |
Implements SkBlurEngine::Algorithm.
Definition at line 115 of file SkBlurEngine.h.
|
staticconstexpr |
Definition at line 172 of file SkBlurEngine.h.
|
staticconstexpr |
Definition at line 166 of file SkBlurEngine.h.