From: Matthew Leibowitz Date: Mon, 6 Feb 2017 19:55:42 +0000 (-0600) Subject: Added C API for SkBitmap::extractAlpha X-Git-Tag: accepted/tizen/5.0/unified/20181102.025319~80 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=d44a5051d62783ef9440658f987bb6a1eca59b2b;p=platform%2Fupstream%2FlibSkiaSharp.git Added C API for SkBitmap::extractAlpha --- diff --git a/include/c/sk_bitmap.h b/include/c/sk_bitmap.h index e7c8dc2..45ff463 100644 --- a/include/c/sk_bitmap.h +++ b/include/c/sk_bitmap.h @@ -53,7 +53,7 @@ SK_C_API sk_colortable_t* sk_bitmap_get_colortable(sk_bitmap_t* cbitmap); SK_C_API void sk_bitmap_set_pixels(sk_bitmap_t* cbitmap, void* pixels, sk_colortable_t* ctable); SK_C_API bool sk_bitmap_peek_pixels(sk_bitmap_t* cbitmap, sk_pixmap_t* cpixmap); SK_C_API bool sk_bitmap_extract_subset(sk_bitmap_t* cbitmap, sk_bitmap_t* dst, sk_irect_t* subset); - +SK_C_API bool sk_bitmap_extract_alpha(sk_bitmap_t* cbitmap, sk_bitmap_t* dst, const sk_paint_t* paint, sk_ipoint_t* offset); SK_C_PLUS_PLUS_END_GUARD diff --git a/src/c/sk_bitmap.cpp b/src/c/sk_bitmap.cpp index 4578408..12a1741 100644 --- a/src/c/sk_bitmap.cpp +++ b/src/c/sk_bitmap.cpp @@ -384,4 +384,11 @@ bool sk_bitmap_extract_subset(sk_bitmap_t* cbitmap, sk_bitmap_t* cdst, sk_irect_ SkBitmap* bmp = AsBitmap(cbitmap); SkBitmap* dst = AsBitmap(cdst); return bmp->extractSubset(dst, AsIRect(*subset)); -} \ No newline at end of file +} + +bool sk_bitmap_extract_alpha(sk_bitmap_t* cbitmap, sk_bitmap_t* cdst, const sk_paint_t* paint, sk_ipoint_t* offset) +{ + SkBitmap* bmp = AsBitmap(cbitmap); + SkBitmap* dst = AsBitmap(cdst); + return bmp->extractAlpha(dst, AsPaint(paint), AsIPoint(offset)); +} diff --git a/src/c/sk_types_priv.h b/src/c/sk_types_priv.h index 8360c38..913281c 100644 --- a/src/c/sk_types_priv.h +++ b/src/c/sk_types_priv.h @@ -393,6 +393,10 @@ static inline const SkIPoint* AsIPoint(const sk_ipoint_t* p) { return reinterpret_cast(p); } +static inline SkIPoint* AsIPoint(sk_ipoint_t* p) { + return reinterpret_cast(p); +} + static inline const SkSize& AsSize(const sk_size_t& p) { return reinterpret_cast(p); }