update bitmap name and add count of bitmap

This commit is contained in:
vcaesar 2018-01-08 21:58:08 +08:00
parent aa247025d2
commit 9f0400167b
2 changed files with 40 additions and 19 deletions

View File

@ -58,18 +58,18 @@ MMBitmapRef bitmap_deepcopy(MMBitmapRef bitmap){
return bitmap == NULL ? NULL : copyMMBitmap(bitmap); return bitmap == NULL ? NULL : copyMMBitmap(bitmap);
} }
MMPoint find_bitmap(MMBitmapRef bitmap, MMBitmapRef sbitmap, float tolerance){ MMPoint find_bitmap(MMBitmapRef bitmap, MMBitmapRef sbit, float tolerance){
MMPoint point = {-1, -1}; MMPoint point = {-1, -1};
// printf("tolenrance=%f\n", tolerance); // printf("tolenrance=%f\n", tolerance);
if (!bitmap_ready(sbitmap) || !bitmap_ready(bitmap)) { if (!bitmap_ready(sbit) || !bitmap_ready(bitmap)) {
printf("bitmap is not ready yet!\n"); printf("bitmap is not ready yet!\n");
return point; return point;
} }
MMRect rect = MMBitmapGetBounds(sbitmap); MMRect rect = MMBitmapGetBounds(sbit);
// printf("x=%d,y=%d,width=%d,height=%d\n", rect.origin.x, rect.origin.y, rect.size.width, rect.size.height); // printf("x=%d,y=%d,width=%d,height=%d\n", rect.origin.x, rect.origin.y, rect.size.width, rect.size.height);
if (findBitmapInRect(bitmap, sbitmap, &point, if (findBitmapInRect(bitmap, sbit, &point,
rect, tolerance) == 0) { rect, tolerance) == 0) {
return point; return point;
} }
@ -77,19 +77,19 @@ MMPoint find_bitmap(MMBitmapRef bitmap, MMBitmapRef sbitmap, float tolerance){
return point; return point;
} }
MMPoint *find_every_bitmap(MMBitmapRef bitmap, MMBitmapRef sbitmap, float tolerance, MMPoint *list){ MMPoint *find_every_bitmap(MMBitmapRef bitmap, MMBitmapRef sbit, float tolerance, MMPoint *list){
if (!bitmap_ready(bitmap) || !bitmap_ready(sbitmap)) return NULL; if (!bitmap_ready(bitmap) || !bitmap_ready(sbit)) return NULL;
MMPoint point; MMPoint point;
MMPointArrayRef pointArray; MMPointArrayRef pointArray;
MMRect rect = MMBitmapGetBounds(bitmap); MMRect rect = MMBitmapGetBounds(bitmap);
if (findBitmapInRect(bitmap, sbitmap, &point, if (findBitmapInRect(bitmap, sbit, &point,
rect, tolerance) == 0) { rect, tolerance) == 0) {
return NULL; return NULL;
} }
pointArray = findAllBitmapInRect(bitmap, sbitmap, rect, tolerance); pointArray = findAllBitmapInRect(bitmap, sbit, rect, tolerance);
if (pointArray == NULL) return NULL; if (pointArray == NULL) return NULL;
memcpy(list, pointArray->array, sizeof(MMPoint) * pointArray->count); memcpy(list, pointArray->array, sizeof(MMPoint) * pointArray->count);
@ -98,6 +98,14 @@ MMPoint *find_every_bitmap(MMBitmapRef bitmap, MMBitmapRef sbitmap, float tolera
return list; return list;
} }
int count_of_bitmap(MMBitmapRef bitmap, MMBitmapRef sbit, float tolerance){
if (!bitmap_ready(bitmap) || !bitmap_ready(sbit)) return 0;
MMRect rect = MMBitmapGetBounds(bitmap);
return countOfBitmapInRect(bitmap, sbit, rect, tolerance);
}
MMPoint aFindBitmap(MMBitmapRef bit_map, MMRect rect){ MMPoint aFindBitmap(MMBitmapRef bit_map, MMRect rect){
// MMRect rect; // MMRect rect;
// rect.size.width = 10; // rect.size.width = 10;

View File

@ -62,7 +62,7 @@ import (
) )
const ( const (
version string = "v0.47.0.476, Mount Cook!" version string = "v0.47.0.477, Mount Cook!"
) )
type ( type (
@ -654,6 +654,16 @@ func KeyToggle(args ...string) string {
return C.GoString(str) return C.GoString(str)
} }
// ReadAll read string from clipboard
func ReadAll() (string, error) {
return clipboard.ReadAll()
}
// WriteAll write string to clipboard
func WriteAll(text string) {
clipboard.WriteAll(text)
}
// TypeString type string // TypeString type string
func TypeString(x string) { func TypeString(x string) {
cx := C.CString(x) cx := C.CString(x)
@ -671,16 +681,6 @@ func TypeStr(str string) {
} }
} }
// ReadAll read string from clipboard
func ReadAll() (string, error) {
return clipboard.ReadAll()
}
// WriteAll write string to clipboard
func WriteAll(text string) {
clipboard.WriteAll(text)
}
// TypeStrDelay type string delayed // TypeStrDelay type string delayed
func TypeStrDelay(x string, y int) { func TypeStrDelay(x string, y int) {
cx := C.CString(x) cx := C.CString(x)
@ -782,6 +782,19 @@ func FindEveryBitmap(args ...interface{}) (int, int) {
return int(pos.x), int(pos.y) return int(pos.x), int(pos.y)
} }
// CountBitmap count of the bitmap
func CountBitmap(bitmap C.MMBitmapRef, sbit C.MMBitmapRef, args ...float32) int {
var tolerance C.float
if len(args) > 0 {
tolerance = C.float(args[0])
} else {
tolerance = 0.5
}
count := C.count_of_bitmap(bitmap, sbit, tolerance)
return int(count)
}
// FindBit find the bitmap, Wno-deprecated // FindBit find the bitmap, Wno-deprecated
func FindBit(args ...interface{}) (int, int) { func FindBit(args ...interface{}) (int, int) {
var bit C.MMBitmapRef var bit C.MMBitmapRef