Added C API for SkBitmap::extractAlpha
authorMatthew Leibowitz <mattleibow@live.com>
Mon, 6 Feb 2017 19:55:42 +0000 (13:55 -0600)
committerMatthew Leibowitz <mattleibow@live.com>
Mon, 6 Feb 2017 19:55:42 +0000 (13:55 -0600)
include/c/sk_bitmap.h
src/c/sk_bitmap.cpp
src/c/sk_types_priv.h

index e7c8dc2..45ff463 100644 (file)
@@ -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
 
index 4578408..12a1741 100644 (file)
@@ -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));
+}
index 8360c38..913281c 100644 (file)
@@ -393,6 +393,10 @@ static inline const SkIPoint* AsIPoint(const sk_ipoint_t* p) {
     return reinterpret_cast<const SkIPoint*>(p);
 }
 
+static inline SkIPoint* AsIPoint(sk_ipoint_t* p) {
+    return reinterpret_cast<SkIPoint*>(p);
+}
+
 static inline const SkSize& AsSize(const sk_size_t& p) {
     return reinterpret_cast<const SkSize&>(p);
 }