From a98f122d4c9c0d648cc1f801601043746755870e Mon Sep 17 00:00:00 2001 From: vCaesar Date: Tue, 6 Jun 2017 22:56:48 +0800 Subject: [PATCH] Add more bitmap func --- bitmap/goBitmap.h | 26 ++++++++++++++++++++++++++ robotgo.go | 14 ++++++++++++++ 2 files changed, 40 insertions(+) diff --git a/bitmap/goBitmap.h b/bitmap/goBitmap.h index de71f80..66ea9c8 100644 --- a/bitmap/goBitmap.h +++ b/bitmap/goBitmap.h @@ -28,6 +28,32 @@ #include #include +/* Returns false and sets error if |bitmap| is NULL. */ +bool bitmap_ready(MMBitmapRef bitmap){ + if (bitmap == NULL || bitmap->imageBuffer == NULL) { + return false; + } + return true; +} + +void bitmap_dealloc(MMBitmapRef bitmap){ + if (bitmap != NULL) { + destroyMMBitmap(bitmap); + bitmap = NULL; + } +} + +bool bitmap_copy_to_pboard(MMBitmapRef bitmap){ + MMPasteError err; + + if (!bitmap_ready(bitmap)) return false; + if ((err = copyMMBitmapToPasteboard(bitmap)) != kMMPasteNoError) { + return false; + } + + return true; +} + MMPoint aFindBitmap(MMBitmapRef bit_map, MMRect rect){ // MMRect rect; // rect.size.width = 10; diff --git a/robotgo.go b/robotgo.go index 2fddcaa..3f8e4e2 100644 --- a/robotgo.go +++ b/robotgo.go @@ -644,6 +644,20 @@ func FreeBitmap(ref C.MMBitmapRef) { C.destroyMMBitmap(ref) } +// ReadBitmap returns false and sets error if |bitmap| is NULL +func ReadBitmap(bitmap C.MMBitmapRef) bool { + abool := C.bitmap_ready(bitmap) + gbool := bool(abool) + return gbool +} + +// CopyBitpb copy bitmap to pasteboard +func CopyBitpb(bitmap C.MMBitmapRef) bool { + abool := C.bitmap_copy_to_pboard(bitmap) + gbool := bool(abool) + return gbool +} + /* ___________ ____ _______ .__ __. .___________. | ____\ \ / / | ____|| \ | | | |