Flutter Engine
The Flutter Engine
|
#include <SkImageFilters.h>
Classes | |
struct | CropRect |
Public Types | |
enum class | Dither : bool { kNo = false , kYes = true } |
Static Public Member Functions | |
static sk_sp< SkImageFilter > | Arithmetic (SkScalar k1, SkScalar k2, SkScalar k3, SkScalar k4, bool enforcePMColor, sk_sp< SkImageFilter > background, sk_sp< SkImageFilter > foreground, const CropRect &cropRect={}) |
static sk_sp< SkImageFilter > | Blend (SkBlendMode mode, sk_sp< SkImageFilter > background, sk_sp< SkImageFilter > foreground=nullptr, const CropRect &cropRect={}) |
static sk_sp< SkImageFilter > | Blend (sk_sp< SkBlender > blender, sk_sp< SkImageFilter > background, sk_sp< SkImageFilter > foreground=nullptr, const CropRect &cropRect={}) |
static sk_sp< SkImageFilter > | Blur (SkScalar sigmaX, SkScalar sigmaY, SkTileMode tileMode, sk_sp< SkImageFilter > input, const CropRect &cropRect={}) |
static sk_sp< SkImageFilter > | Blur (SkScalar sigmaX, SkScalar sigmaY, sk_sp< SkImageFilter > input, const CropRect &cropRect={}) |
static sk_sp< SkImageFilter > | ColorFilter (sk_sp< SkColorFilter > cf, sk_sp< SkImageFilter > input, const CropRect &cropRect={}) |
static sk_sp< SkImageFilter > | Compose (sk_sp< SkImageFilter > outer, sk_sp< SkImageFilter > inner) |
static sk_sp< SkImageFilter > | Crop (const SkRect &rect, SkTileMode tileMode, sk_sp< SkImageFilter > input) |
static sk_sp< SkImageFilter > | Crop (const SkRect &rect, sk_sp< SkImageFilter > input) |
static sk_sp< SkImageFilter > | DisplacementMap (SkColorChannel xChannelSelector, SkColorChannel yChannelSelector, SkScalar scale, sk_sp< SkImageFilter > displacement, sk_sp< SkImageFilter > color, const CropRect &cropRect={}) |
static sk_sp< SkImageFilter > | DropShadow (SkScalar dx, SkScalar dy, SkScalar sigmaX, SkScalar sigmaY, SkColor color, sk_sp< SkImageFilter > input, const CropRect &cropRect={}) |
static sk_sp< SkImageFilter > | DropShadowOnly (SkScalar dx, SkScalar dy, SkScalar sigmaX, SkScalar sigmaY, SkColor color, sk_sp< SkImageFilter > input, const CropRect &cropRect={}) |
static sk_sp< SkImageFilter > | Empty () |
static sk_sp< SkImageFilter > | Image (sk_sp< SkImage > image, const SkRect &srcRect, const SkRect &dstRect, const SkSamplingOptions &sampling) |
static sk_sp< SkImageFilter > | Image (sk_sp< SkImage > image, const SkSamplingOptions &sampling) |
static sk_sp< SkImageFilter > | Magnifier (const SkRect &lensBounds, SkScalar zoomAmount, SkScalar inset, const SkSamplingOptions &sampling, sk_sp< SkImageFilter > input, const CropRect &cropRect={}) |
static sk_sp< SkImageFilter > | MatrixConvolution (const SkISize &kernelSize, const SkScalar kernel[], SkScalar gain, SkScalar bias, const SkIPoint &kernelOffset, SkTileMode tileMode, bool convolveAlpha, sk_sp< SkImageFilter > input, const CropRect &cropRect={}) |
static sk_sp< SkImageFilter > | MatrixTransform (const SkMatrix &matrix, const SkSamplingOptions &sampling, sk_sp< SkImageFilter > input) |
static sk_sp< SkImageFilter > | Merge (sk_sp< SkImageFilter > *const filters, int count, const CropRect &cropRect={}) |
static sk_sp< SkImageFilter > | Merge (sk_sp< SkImageFilter > first, sk_sp< SkImageFilter > second, const CropRect &cropRect={}) |
static sk_sp< SkImageFilter > | Offset (SkScalar dx, SkScalar dy, sk_sp< SkImageFilter > input, const CropRect &cropRect={}) |
static sk_sp< SkImageFilter > | Picture (sk_sp< SkPicture > pic, const SkRect &targetRect) |
static sk_sp< SkImageFilter > | Picture (sk_sp< SkPicture > pic) |
static sk_sp< SkImageFilter > | RuntimeShader (const SkRuntimeShaderBuilder &builder, std::string_view childShaderName, sk_sp< SkImageFilter > input) |
static sk_sp< SkImageFilter > | RuntimeShader (const SkRuntimeShaderBuilder &builder, SkScalar sampleRadius, std::string_view childShaderName, sk_sp< SkImageFilter > input) |
static sk_sp< SkImageFilter > | RuntimeShader (const SkRuntimeShaderBuilder &builder, std::string_view childShaderNames[], const sk_sp< SkImageFilter > inputs[], int inputCount) |
static sk_sp< SkImageFilter > | RuntimeShader (const SkRuntimeShaderBuilder &builder, SkScalar maxSampleRadius, std::string_view childShaderNames[], const sk_sp< SkImageFilter > inputs[], int inputCount) |
static sk_sp< SkImageFilter > | Shader (sk_sp< SkShader > shader, const CropRect &cropRect={}) |
static sk_sp< SkImageFilter > | Shader (sk_sp< SkShader > shader, Dither dither, const CropRect &cropRect={}) |
static sk_sp< SkImageFilter > | Tile (const SkRect &src, const SkRect &dst, sk_sp< SkImageFilter > input) |
static sk_sp< SkImageFilter > | Dilate (SkScalar radiusX, SkScalar radiusY, sk_sp< SkImageFilter > input, const CropRect &cropRect={}) |
static sk_sp< SkImageFilter > | Erode (SkScalar radiusX, SkScalar radiusY, sk_sp< SkImageFilter > input, const CropRect &cropRect={}) |
static sk_sp< SkImageFilter > | DistantLitDiffuse (const SkPoint3 &direction, SkColor lightColor, SkScalar surfaceScale, SkScalar kd, sk_sp< SkImageFilter > input, const CropRect &cropRect={}) |
static sk_sp< SkImageFilter > | PointLitDiffuse (const SkPoint3 &location, SkColor lightColor, SkScalar surfaceScale, SkScalar kd, sk_sp< SkImageFilter > input, const CropRect &cropRect={}) |
static sk_sp< SkImageFilter > | SpotLitDiffuse (const SkPoint3 &location, const SkPoint3 &target, SkScalar falloffExponent, SkScalar cutoffAngle, SkColor lightColor, SkScalar surfaceScale, SkScalar kd, sk_sp< SkImageFilter > input, const CropRect &cropRect={}) |
static sk_sp< SkImageFilter > | DistantLitSpecular (const SkPoint3 &direction, SkColor lightColor, SkScalar surfaceScale, SkScalar ks, SkScalar shininess, sk_sp< SkImageFilter > input, const CropRect &cropRect={}) |
static sk_sp< SkImageFilter > | PointLitSpecular (const SkPoint3 &location, SkColor lightColor, SkScalar surfaceScale, SkScalar ks, SkScalar shininess, sk_sp< SkImageFilter > input, const CropRect &cropRect={}) |
static sk_sp< SkImageFilter > | SpotLitSpecular (const SkPoint3 &location, const SkPoint3 &target, SkScalar falloffExponent, SkScalar cutoffAngle, SkColor lightColor, SkScalar surfaceScale, SkScalar ks, SkScalar shininess, sk_sp< SkImageFilter > input, const CropRect &cropRect={}) |
Definition at line 42 of file SkImageFilters.h.
|
strong |
Enumerator | |
---|---|
kNo | |
kYes |
Definition at line 438 of file SkImageFilters.h.
|
static |
Create a filter that implements a custom blend mode. Each output pixel is the result of combining the corresponding background and foreground pixels using the 4 coefficients: k1 * foreground * background + k2 * foreground + k3 * background + k4
k1,k2,k3,k4 | The four coefficients used to combine the foreground and background. |
enforcePMColor | If true, the RGB channels will be clamped to the calculated alpha. |
background | The background content, using the source bitmap when this is null. |
foreground | The foreground content, using the source bitmap when this is null. |
cropRect | Optional rectangle that crops the inputs and output. |
Definition at line 151 of file SkBlendImageFilter.cpp.
|
static |
This filter takes an SkBlendMode and uses it to composite the two filters together.
blender | The blender that defines the compositing operation |
background | The Dst pixels used in blending, if null the source bitmap is used. |
foreground | The Src pixels used in blending, if null the source bitmap is used. @cropRect Optional rectangle to crop input and output. |
Definition at line 144 of file SkBlendImageFilter.cpp.
|
static |
This filter takes an SkBlendMode and uses it to composite the two filters together.
mode | The blend mode that defines the compositing operation |
background | The Dst pixels used in blending, if null the source bitmap is used. |
foreground | The Src pixels used in blending, if null the source bitmap is used. @cropRect Optional rectangle to crop input and output. |
Definition at line 134 of file SkBlendImageFilter.cpp.
|
inlinestatic |
Definition at line 126 of file SkImageFilters.h.
|
static |
Create a filter that blurs its input by the separate X and Y sigmas. The provided tile mode is used when the blur kernel goes outside the input image.
sigmaX | The Gaussian sigma value for blurring along the X axis. |
sigmaY | The Gaussian sigma value for blurring along the Y axis. |
tileMode | The tile mode applied at edges . TODO (michaelludwig) - kMirror is not supported yet |
input | The input filter that is blurred, uses source bitmap if this is null. |
cropRect | Optional rectangle that crops the input and output. |
Definition at line 107 of file SkBlurImageFilter.cpp.
|
static |
Create a filter that applies the color filter to the input filter results.
cf | The color filter that transforms the input image. |
input | The input filter, or uses the source bitmap if this is null. |
cropRect | Optional rectangle that crops the input and output. |
Definition at line 72 of file SkColorFilterImageFilter.cpp.
|
static |
Create a filter that composes 'inner' with 'outer', such that the results of 'inner' are treated as the source bitmap passed to 'outer', i.e. result = outer(inner(source)).
outer | The outer filter that evaluates the results of inner. |
inner | The inner filter that produces the input to outer. |
Definition at line 66 of file SkComposeImageFilter.cpp.
|
inlinestatic |
Definition at line 165 of file SkImageFilters.h.
|
static |
Create a filter that applies a crop to the result of the 'input' filter. Pixels within the crop rectangle are unmodified from what 'input' produced. Pixels outside of crop match the provided SkTileMode (defaulting to kDecal).
NOTE: The optional CropRect argument for many of the factories is equivalent to creating the filter without a CropRect and then wrapping it in ::Crop(rect, kDecal). Explicitly adding Crop filters lets you control their tiling and use different geometry for the input and the output of another filter.
rect | The cropping geometry |
tileMode | The tilemode applied to pixels outside of 'crop' |
input | The input filter that is cropped, uses source image if this is null |
Definition at line 99 of file SkCropImageFilter.cpp.
|
static |
Create a filter that dilates each input pixel's channel values to the max value within the given radii along the x and y axes.
radiusX | The distance to dilate along the x axis to either side of each pixel. |
radiusY | The distance to dilate along the y axis to either side of each pixel. |
input | The image filter that is dilated, using source bitmap if this is null. |
cropRect | Optional rectangle that crops the input and output. |
Definition at line 227 of file SkMorphologyImageFilter.cpp.
|
static |
Create a filter that moves each pixel in its color input based on an (x,y) vector encoded in its displacement input filter. Two color components of the displacement image are mapped into a vector as scale * (color[xChannel], color[yChannel]), where the channel selectors are one of R, G, B, or A.
xChannelSelector | RGBA channel that encodes the x displacement per pixel. |
yChannelSelector | RGBA channel that encodes the y displacement per pixel. |
scale | Scale applied to displacement extracted from image. |
displacement | The filter defining the displacement image, or null to use source. |
color | The filter providing the color pixels to be displaced. If null, it will use the source. |
cropRect | Optional rectangle that crops the color input and output. |
Definition at line 144 of file SkDisplacementMapImageFilter.cpp.
|
static |
Create a filter that calculates the diffuse illumination from a distant light source, interpreting the alpha channel of the input as the height profile of the surface (to approximate normal vectors).
direction | The direction to the distance light. |
lightColor | The color of the diffuse light source. |
surfaceScale | Scale factor to transform from alpha values to physical height. |
kd | Diffuse reflectance coefficient. |
input | The input filter that defines surface normals (as alpha), or uses the source bitmap when null. |
cropRect | Optional rectangle that crops the input and output. |
Definition at line 314 of file SkLightingImageFilter.cpp.
|
static |
Create a filter that calculates the specular illumination from a distant light source, interpreting the alpha channel of the input as the height profile of the surface (to approximate normal vectors).
direction | The direction to the distance light. |
lightColor | The color of the specular light source. |
surfaceScale | Scale factor to transform from alpha values to physical height. |
ks | Specular reflectance coefficient. |
shininess | The specular exponent determining how shiny the surface is. |
input | The input filter that defines surface normals (as alpha), or uses the source bitmap when null. |
cropRect | Optional rectangle that crops the input and output. |
Definition at line 341 of file SkLightingImageFilter.cpp.
|
static |
Create a filter that draws a drop shadow under the input content. This filter produces an image that includes the inputs' content.
dx | The X offset of the shadow. |
dy | The Y offset of the shadow. |
sigmaX | The blur radius for the shadow, along the X axis. |
sigmaY | The blur radius for the shadow, along the Y axis. |
color | The color of the drop shadow. |
input | The input filter, or will use the source bitmap if this is null. |
cropRect | Optional rectangle that crops the input and output. |
Definition at line 97 of file SkDropShadowImageFilter.cpp.
|
static |
Create a filter that renders a drop shadow, in exactly the same manner as ::DropShadow, except that the resulting image does not include the input content. This allows the shadow and input to be composed by a filter DAG in a more flexible manner.
dx | The X offset of the shadow. |
dy | The Y offset of the shadow. |
sigmaX | The blur radius for the shadow, along the X axis. |
sigmaY | The blur radius for the shadow, along the Y axis. |
color | The color of the drop shadow. |
input | The input filter, or will use the source bitmap if this is null. |
cropRect | Optional rectangle that crops the input and output. |
Definition at line 104 of file SkDropShadowImageFilter.cpp.
|
static |
Create a filter that always produces transparent black.
Definition at line 110 of file SkCropImageFilter.cpp.
|
static |
Create a filter that erodes each input pixel's channel values to the minimum channel value within the given radii along the x and y axes.
radiusX | The distance to erode along the x axis to either side of each pixel. |
radiusY | The distance to erode along the y axis to either side of each pixel. |
input | The image filter that is eroded, using source bitmap if this is null. |
cropRect | Optional rectangle that crops the input and output. |
Definition at line 233 of file SkMorphologyImageFilter.cpp.
|
static |
Create a filter that draws the 'srcRect' portion of image into 'dstRect' using the given filter quality. Similar to SkCanvas::drawImageRect. The returned image filter evaluates to transparent black if 'image' is null.
image | The image that is output by the filter, subset by 'srcRect'. |
srcRect | The source pixels sampled into 'dstRect' |
dstRect | The local rectangle to draw the image into. |
sampling | The sampling to use when drawing the image. |
Definition at line 77 of file SkImageImageFilter.cpp.
|
inlinestatic |
Create a filter that draws the image using the given sampling. Similar to SkCanvas::drawImage. The returned image filter evaluates to transparent black if 'image' is null.
image | The image that is output by the filter. |
sampling | The sampling to use when drawing the image. |
Definition at line 246 of file SkImageFilters.h.
|
static |
Create a filter that fills 'lensBounds' with a magnification of the input.
lensBounds | The outer bounds of the magnifier effect |
zoomAmount | The amount of magnification applied to the input image |
inset | The size or width of the fish-eye distortion around the magnified content |
sampling | The SkSamplingOptions applied to the input image when magnified |
input | The input filter that is magnified; if null the source bitmap is used |
cropRect | Optional rectangle that crops the input and output. |
Definition at line 82 of file SkMagnifierImageFilter.cpp.
|
static |
Create a filter that applies an NxM image processing kernel to the input image. This can be used to produce effects such as sharpening, blurring, edge detection, etc.
kernelSize | The kernel size in pixels, in each dimension (N by M). |
kernel | The image processing kernel. Must contain N * M elements, in row order. |
gain | A scale factor applied to each pixel after convolution. This can be used to normalize the kernel, if it does not already sum to 1. |
bias | A bias factor added to each pixel after convolution. |
kernelOffset | An offset applied to each pixel coordinate before convolution. This can be used to center the kernel over the image (e.g., a 3x3 kernel should have an offset of {1, 1}). |
tileMode | How accesses outside the image are treated. TODO (michaelludwig) - kMirror is not supported yet |
convolveAlpha | If true, all channels are convolved. If false, only the RGB channels are convolved, and alpha is copied from the source image. |
input | The input image filter, if null the source bitmap is used instead. |
cropRect | Optional rectangle to which the output processing will be limited. |
Definition at line 228 of file SkMatrixConvolutionImageFilter.cpp.
|
static |
Create a filter that transforms the input image by 'matrix'. This matrix transforms the local space, which means it effectively happens prior to any transformation coming from the SkCanvas initiating the filtering.
matrix | The matrix to apply to the original content. |
sampling | How the image will be sampled when it is transformed |
input | The image filter to transform, or null to use the source image. |
Definition at line 77 of file SkMatrixTransformImageFilter.cpp.
|
static |
Create a filter that merges the 'count' filters together by drawing their results in order with src-over blending.
filters | The input filter array to merge, which must have 'count' elements. Any null filter pointers will use the source bitmap instead. |
count | The number of input filters to be merged. |
cropRect | Optional rectangle that crops all input filters and the output. |
Definition at line 55 of file SkMergeImageFilter.cpp.
|
inlinestatic |
Create a filter that merges the results of the two filters together with src-over blending.
first | The first input filter, or the source bitmap if this is null. |
second | The second input filter, or the source bitmap if this null. |
cropRect | Optional rectangle that crops the inputs and output. |
Definition at line 325 of file SkImageFilters.h.
|
static |
Create a filter that offsets the input filter by the given vector.
dx | The x offset in local space that the image is shifted. |
dy | The y offset in local space that the image is shifted. |
input | The input that will be moved, if null the source bitmap is used instead. |
cropRect | Optional rectangle to crop the input and output. |
Definition at line 85 of file SkMatrixTransformImageFilter.cpp.
|
inlinestatic |
Definition at line 352 of file SkImageFilters.h.
|
static |
Create a filter that produces the SkPicture as its output, clipped to both 'targetRect' and the picture's internal cull rect.
If 'pic' is null, the returned image filter produces transparent black.
pic | The picture that is drawn for the filter output. |
targetRect | The drawing region for the picture. |
Definition at line 66 of file SkPictureImageFilter.cpp.
|
static |
Create a filter that calculates the diffuse illumination from a point light source, using alpha channel of the input as the height profile of the surface (to approximate normal vectors).
location | The location of the point light. |
lightColor | The color of the diffuse light source. |
surfaceScale | Scale factor to transform from alpha values to physical height. |
kd | Diffuse reflectance coefficient. |
input | The input filter that defines surface normals (as alpha), or uses the source bitmap when null. |
cropRect | Optional rectangle that crops the input and output. |
Definition at line 322 of file SkLightingImageFilter.cpp.
|
static |
Create a filter that calculates the specular illumination from a point light source, using alpha channel of the input as the height profile of the surface (to approximate normal vectors).
location | The location of the point light. |
lightColor | The color of the specular light source. |
surfaceScale | Scale factor to transform from alpha values to physical height. |
ks | Specular reflectance coefficient. |
shininess | The specular exponent determining how shiny the surface is. |
input | The input filter that defines surface normals (as alpha), or uses the source bitmap when null. |
cropRect | Optional rectangle that crops the input and output. |
Definition at line 349 of file SkLightingImageFilter.cpp.
|
static |
As above, but 'maxSampleRadius' defines the sampling limit on coordinates provided to all child shaders. Like the single-child variant with a sample radius, this can be used to inform Skia that the runtime shader guarantees that all dynamic children (defined in childShaderNames) will be evaluated with coordinates at most 'maxSampleRadius' away from the coordinate provided to the runtime shader itself.
This requires a GPU backend or SkSL to be compiled in.
Definition at line 116 of file SkRuntimeImageFilter.cpp.
|
static |
As above, but 'sampleRadius' defines the sampling radius of 'childShaderName' relative to the runtime shader produced by 'builder'. If greater than 0, the coordinate passed to childShader.eval() will be up to 'sampleRadius' away (maximum absolute offset in 'x' or 'y') from the coordinate passed into the runtime shader.
This allows Skia to provide sampleable values for the image filter without worrying about boundary conditions.
This requires a GPU backend or SkSL to be compiled in.
Definition at line 99 of file SkRuntimeImageFilter.cpp.
|
inlinestatic |
Create a filter that fills the output with the per-pixel evaluation of the SkShader produced by the SkRuntimeShaderBuilder. The shader is defined in the image filter's local coordinate system, so it will automatically be affected by SkCanvas' transform.
This variant assumes that the runtime shader samples 'childShaderName' with the same input coordinate passed to to shader.
This requires a GPU backend or SkSL to be compiled in.
builder | The builder used to produce the runtime shader, that will in turn fill the result image |
childShaderName | The name of the child shader defined in the builder that will be bound to the input param (or the source image if the input param is null). If empty, the builder can have exactly one child shader, which automatically binds the input param. |
input | The image filter that will be provided as input to the runtime shader. If null the implicit source image is used instead |
Definition at line 376 of file SkImageFilters.h.
|
inlinestatic |
Create a filter that fills the output with the per-pixel evaluation of the SkShader produced by the SkRuntimeShaderBuilder. The shader is defined in the image filter's local coordinate system, so it will automatically be affected by SkCanvas' transform.
This requires a GPU backend or SkSL to be compiled in.
builder | The builder used to produce the runtime shader, that will in turn fill the result image |
childShaderNames | The names of the child shaders defined in the builder that will be bound to the input params (or the source image if the input param is null). If any name is null, or appears more than once, factory fails and returns nullptr. |
inputs | The image filters that will be provided as input to the runtime shader. If any are null, the implicit source image is used instead. |
inputCount | How many entries are present in 'childShaderNames' and 'inputs'. |
Definition at line 415 of file SkImageFilters.h.
|
inlinestatic |
Create a filter that fills the output with the per-pixel evaluation of the SkShader. The shader is defined in the image filter's local coordinate system, so will automatically be affected by SkCanvas' transform.
Like Image() and Picture(), this is a leaf filter that can be used to introduce inputs to a complex filter graph, but should generally be combined with a filter that as at least one null input to use the implicit source image.
Returns an image filter that evaluates to transparent black if 'shader' is null.
shader | The shader that fills the result image |
Definition at line 456 of file SkImageFilters.h.
|
static |
Definition at line 70 of file SkShaderImageFilter.cpp.
|
static |
Create a filter that calculates the diffuse illumination from a spot light source, using alpha channel of the input as the height profile of the surface (to approximate normal vectors). The spot light is restricted to be within 'cutoffAngle' of the vector between the location and target.
location | The location of the spot light. |
target | The location that the spot light is point towards |
falloffExponent | Exponential falloff parameter for illumination outside of cutoffAngle |
cutoffAngle | Maximum angle from lighting direction that receives full light |
lightColor | The color of the diffuse light source. |
surfaceScale | Scale factor to transform from alpha values to physical height. |
kd | Diffuse reflectance coefficient. |
input | The input filter that defines surface normals (as alpha), or uses the source bitmap when null. |
cropRect | Optional rectangle that crops the input and output. |
Definition at line 330 of file SkLightingImageFilter.cpp.
|
static |
Create a filter that calculates the specular illumination from a spot light source, using alpha channel of the input as the height profile of the surface (to approximate normal vectors). The spot light is restricted to be within 'cutoffAngle' of the vector between the location and target.
location | The location of the spot light. |
target | The location that the spot light is point towards |
falloffExponent | Exponential falloff parameter for illumination outside of cutoffAngle |
cutoffAngle | Maximum angle from lighting direction that receives full light |
lightColor | The color of the specular light source. |
surfaceScale | Scale factor to transform from alpha values to physical height. |
ks | Specular reflectance coefficient. |
shininess | The specular exponent determining how shiny the surface is. |
input | The input filter that defines surface normals (as alpha), or uses the source bitmap when null. |
cropRect | Optional rectangle that crops the input and output. |
Definition at line 357 of file SkLightingImageFilter.cpp.
|
static |
Create a tile image filter.
src | Defines the pixels to tile |
dst | Defines the pixel region that the tiles will be drawn to |
input | The input that will be tiled, if null the source bitmap is used instead. |
Definition at line 114 of file SkCropImageFilter.cpp.