From: Matthew Leibowitz Date: Tue, 7 Feb 2017 12:37:27 +0000 (-0600) Subject: Added some more path members X-Git-Tag: accepted/tizen/5.0/unified/20181102.025319~79 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=13849e529c7b3c116e077b479e83e67b8c5ab5a4;p=platform%2Fupstream%2FlibSkiaSharp.git Added some more path members --- diff --git a/include/c/sk_path.h b/include/c/sk_path.h index 16d9ada..8106170 100644 --- a/include/c/sk_path.h +++ b/include/c/sk_path.h @@ -267,6 +267,10 @@ SK_C_API bool sk_pathmeasure_is_closed(sk_pathmeasure_t* pathMeasure); SK_C_API bool sk_pathmeasure_next_contour(sk_pathmeasure_t* pathMeasure); +SK_C_API void sk_path_add_poly(sk_path_t* cpath, const sk_point_t* points, int count, bool close); + +SK_C_API uint32_t sk_path_get_segment_masks(sk_path_t* cpath); + SK_C_PLUS_PLUS_END_GUARD #endif diff --git a/include/c/sk_types.h b/include/c/sk_types.h index db43f1e..1bd6646 100644 --- a/include/c/sk_types.h +++ b/include/c/sk_types.h @@ -493,6 +493,13 @@ typedef enum { } sk_path_add_mode_t; typedef enum { + LINE_SK_PATH_SEGMENT_MASK = 1 << 0, + QUAD_SK_PATH_SEGMENT_MASK = 1 << 1, + CONIC_SK_PATH_SEGMENT_MASK = 1 << 2, + CUBIC_SK_PATH_SEGMENT_MASK = 1 << 3, +} sk_path_segment_mask_t; + +typedef enum { TRANSLATE_SK_PATH_EFFECT_1D_STYLE, ROTATE_SK_PATH_EFFECT_1D_STYLE, MORPH_SK_PATH_EFFECT_1D_STYLE, diff --git a/src/c/sk_enums.cpp b/src/c/sk_enums.cpp index 42059e5..ee8da4e 100644 --- a/src/c/sk_enums.cpp +++ b/src/c/sk_enums.cpp @@ -59,6 +59,12 @@ static_assert ((int)SkPath::FillType::kEvenOdd_FillType == (int)EVENODD static_assert ((int)SkPath::FillType::kInverseWinding_FillType == (int)INVERSE_WINDING_SK_PATH_FILLTYPE, ASSERT_MSG(SkPath::FillType, sk_path_filltype_t)); static_assert ((int)SkPath::FillType::kInverseEvenOdd_FillType == (int)INVERSE_EVENODD_SK_PATH_FILLTYPE, ASSERT_MSG(SkPath::FillType, sk_path_filltype_t)); +// sk_path_segment_mask_t +static_assert ((int)SkPath::SegmentMask::kLine_SegmentMask == (int)LINE_SK_PATH_SEGMENT_MASK, ASSERT_MSG(SkPath::SegmentMask, sk_path_segment_mask_t)); +static_assert ((int)SkPath::SegmentMask::kQuad_SegmentMask == (int)QUAD_SK_PATH_SEGMENT_MASK, ASSERT_MSG(SkPath::SegmentMask, sk_path_segment_mask_t)); +static_assert ((int)SkPath::SegmentMask::kConic_SegmentMask == (int)CONIC_SK_PATH_SEGMENT_MASK, ASSERT_MSG(SkPath::SegmentMask, sk_path_segment_mask_t)); +static_assert ((int)SkPath::SegmentMask::kCubic_SegmentMask == (int)CUBIC_SK_PATH_SEGMENT_MASK, ASSERT_MSG(SkPath::SegmentMask, sk_path_segment_mask_t)); + // sk_text_align_t static_assert ((int)SkPaint::Align::kLeft_Align == (int)LEFT_SK_TEXT_ALIGN, ASSERT_MSG(SkPaint::Align, sk_text_align_t)); static_assert ((int)SkPaint::Align::kCenter_Align == (int)CENTER_SK_TEXT_ALIGN, ASSERT_MSG(SkPaint::Align, sk_text_align_t)); diff --git a/src/c/sk_path.cpp b/src/c/sk_path.cpp index 3894c1f..2188121 100644 --- a/src/c/sk_path.cpp +++ b/src/c/sk_path.cpp @@ -360,3 +360,11 @@ bool sk_pathmeasure_is_closed(sk_pathmeasure_t* pathMeasure) { bool sk_pathmeasure_next_contour(sk_pathmeasure_t* pathMeasure) { return AsPathMeasure(pathMeasure)->nextContour(); } + +void sk_path_add_poly(sk_path_t* cpath, const sk_point_t* points, int count, bool close) { + AsPath(cpath)->addPoly(AsPoint(points), count, close); +} + +uint32_t sk_path_get_segment_masks(sk_path_t* cpath) { + return AsPath(cpath)->getSegmentMasks(); +}