aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/effects/SkBlurMask.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/effects/SkBlurMask.h')
-rw-r--r--src/effects/SkBlurMask.h88
1 files changed, 0 insertions, 88 deletions
diff --git a/src/effects/SkBlurMask.h b/src/effects/SkBlurMask.h
deleted file mode 100644
index 67009b0bb5..0000000000
--- a/src/effects/SkBlurMask.h
+++ /dev/null
@@ -1,88 +0,0 @@
-/*
- * Copyright 2006 The Android Open Source Project
- *
- * Use of this source code is governed by a BSD-style license that can be
- * found in the LICENSE file.
- */
-
-#ifndef SkBlurMask_DEFINED
-#define SkBlurMask_DEFINED
-
-#include "SkBlurTypes.h"
-#include "SkShader.h"
-#include "SkMask.h"
-#include "SkRRect.h"
-
-class SkBlurMask {
-public:
- static bool SK_WARN_UNUSED_RESULT BlurRect(SkScalar sigma, SkMask *dst, const SkRect &src,
- SkBlurStyle, SkIPoint *margin = nullptr,
- SkMask::CreateMode createMode =
- SkMask::kComputeBoundsAndRenderImage_CreateMode);
- static bool SK_WARN_UNUSED_RESULT BlurRRect(SkScalar sigma, SkMask *dst, const SkRRect &src,
- SkBlurStyle, SkIPoint *margin = nullptr,
- SkMask::CreateMode createMode =
- SkMask::kComputeBoundsAndRenderImage_CreateMode);
-
- // forceQuality will prevent BoxBlur from falling back to the low quality approach when sigma
- // is very small -- this can be used predict the margin bump ahead of time without completely
- // replicating the internal logic. This permits not only simpler caching of blurred results,
- // but also being able to predict precisely at what pixels the blurred profile of e.g. a
- // rectangle will lie.
- //
- // Calling details:
- // * calculate margin - if src.fImage is null, then this call only calculates the border.
- // * failure - if src.fImage is not null, failure is signal with dst->fImage being
- // null.
-
- static bool SK_WARN_UNUSED_RESULT BoxBlur(SkMask* dst, const SkMask& src,
- SkScalar sigma, SkBlurStyle style, SkBlurQuality,
- SkIPoint* margin = nullptr,
- bool forceQuality = false);
-
- // the "ground truth" blur does a gaussian convolution; it's slow
- // but useful for comparison purposes.
- static bool SK_WARN_UNUSED_RESULT BlurGroundTruth(SkScalar sigma, SkMask* dst,
- const SkMask& src,
- SkBlurStyle, SkIPoint* margin = nullptr);
-
- // If radius > 0, return the corresponding sigma, else return 0
- static SkScalar SK_API ConvertRadiusToSigma(SkScalar radius);
- // If sigma > 0.5, return the corresponding radius, else return 0
- static SkScalar SK_API ConvertSigmaToRadius(SkScalar sigma);
-
- /* Helper functions for analytic rectangle blurs */
-
- /** Look up the intensity of the (one dimnensional) blurred half-plane.
- @param profile The precomputed 1D blur profile; initialized by ComputeBlurProfile below.
- @param loc the location to look up; The lookup will clamp invalid inputs, but
- meaningful data are available between 0 and blurred_width
- @param blurred_width The width of the final, blurred rectangle
- @param sharp_width The width of the original, unblurred rectangle.
- */
- static uint8_t ProfileLookup(const uint8_t* profile, int loc, int blurredWidth, int sharpWidth);
-
- /** Populate the profile of a 1D blurred halfplane.
- @param profile The 1D table to fill in
- @param size Should be 6*sigma bytes
- @param sigma The standard deviation of the gaussian blur kernel
- */
- static void ComputeBlurProfile(uint8_t* profile, int size, SkScalar sigma);
-
- /** Compute an entire scanline of a blurred step function. This is a 1D helper that
- will produce both the horizontal and vertical profiles of the blurry rectangle.
- @param pixels Location to store the resulting pixel data; allocated and managed by caller
- @param profile Precomputed blur profile computed by ComputeBlurProfile above.
- @param width Size of the pixels array.
- @param sigma Standard deviation of the gaussian blur kernel used to compute the profile;
- this implicitly gives the size of the pixels array.
- */
-
- static void ComputeBlurredScanline(uint8_t* pixels, const uint8_t* profile,
- unsigned int width, SkScalar sigma);
-
-
-
-};
-
-#endif