1/*
2 * Copyright 2014 Google Inc.
3 *
4 * Use of this source code is governed by a BSD-style license that can be
5 * found in the LICENSE file.
6 */
7
8// EXPERIMENTAL EXPERIMENTAL EXPERIMENTAL EXPERIMENTAL
9// DO NOT USE -- FOR INTERNAL TESTING ONLY
10
11#ifndef sk_maskfilter_DEFINED
12#define sk_maskfilter_DEFINED
13
14#include "include/c/sk_types.h"
15
16typedef enum {
17 NORMAL_SK_BLUR_STYLE, //!< fuzzy inside and outside
18 SOLID_SK_BLUR_STYLE, //!< solid inside, fuzzy outside
19 OUTER_SK_BLUR_STYLE, //!< nothing inside, fuzzy outside
20 INNER_SK_BLUR_STYLE, //!< fuzzy inside, nothing outside
21} sk_blurstyle_t;
22
23SK_C_PLUS_PLUS_BEGIN_GUARD
24
25/**
26 Increment the reference count on the given sk_maskfilter_t. Must be
27 balanced by a call to sk_maskfilter_unref().
28*/
29SK_API void sk_maskfilter_ref(sk_maskfilter_t*);
30/**
31 Decrement the reference count. If the reference count is 1 before
32 the decrement, then release both the memory holding the
33 sk_maskfilter_t and any other associated resources. New
34 sk_maskfilter_t are created with a reference count of 1.
35*/
36SK_API void sk_maskfilter_unref(sk_maskfilter_t*);
37
38/**
39 Create a blur maskfilter.
40 @param sk_blurstyle_t The SkBlurStyle to use
41 @param sigma Standard deviation of the Gaussian blur to apply. Must be > 0.
42*/
43SK_API sk_maskfilter_t* sk_maskfilter_new_blur(sk_blurstyle_t, float sigma);
44
45SK_C_PLUS_PLUS_END_GUARD
46
47#endif
48