2 * Copyright 2014 Google Inc.
3 * Copyright 2015 Xamarin Inc.
4 * Copyright 2017 Microsoft Corporation. All rights reserved.
6 * Use of this source code is governed by a BSD-style license that can be
7 * found in the LICENSE file.
10 #ifndef sk_patheffect_DEFINED
11 #define sk_patheffect_DEFINED
15 SK_C_PLUS_PLUS_BEGIN_GUARD
17 SK_C_API void sk_path_effect_unref(sk_path_effect_t* t);
18 SK_C_API sk_path_effect_t* sk_path_effect_create_compose(sk_path_effect_t* outer, sk_path_effect_t* inner);
19 SK_C_API sk_path_effect_t* sk_path_effect_create_sum(sk_path_effect_t* first, sk_path_effect_t* second);
20 SK_C_API sk_path_effect_t* sk_path_effect_create_discrete(float segLength, float deviation, uint32_t seedAssist /*0*/);
21 SK_C_API sk_path_effect_t* sk_path_effect_create_corner(float radius);
22 SK_C_API sk_path_effect_t* sk_path_effect_create_arc_to(float radius);
23 SK_C_API sk_path_effect_t* sk_path_effect_create_1d_path(const sk_path_t* path, float advance, float phase, sk_path_effect_1d_style_t style);
24 SK_C_API sk_path_effect_t* sk_path_effect_create_2d_line(float width, const sk_matrix_t* matrix);
25 SK_C_API sk_path_effect_t* sk_path_effect_create_2d_path(const sk_matrix_t* matrix, const sk_path_t* path);
26 SK_C_API sk_path_effect_t* sk_path_effect_create_dash(const float intervals[], int count, float phase);
28 SK_C_PLUS_PLUS_END_GUARD