From 1b532111c0c544cca3a225f1f39473690442ce14 Mon Sep 17 00:00:00 2001 From: dongwlin Date: Mon, 12 Aug 2024 11:43:24 +0800 Subject: [PATCH] fix: resolve type conversion error for C function pointers --- custom_sync_context.go | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/custom_sync_context.go b/custom_sync_context.go index 45d4260..9d779ed 100644 --- a/custom_sync_context.go +++ b/custom_sync_context.go @@ -117,15 +117,17 @@ func (ctx SyncContext) TouchUp(contact int32) bool { return C.MaaSyncContextTouchUp(ctx.handle, C.int32_t(contact)) != 0 } +type captureFuncType func(C.MaaSyncContextHandle, C.MaaImageBufferHandle) C.uint8_t + func (ctx SyncContext) Screencap() (image.Image, error) { - return ctx.getImage(C.MaaSyncContextScreencap) + return ctx.getImage(maaSyncContextScreencap) } func (ctx SyncContext) CacheImage() (image.Image, error) { - return ctx.getImage(C.MaaSyncContextCachedImage) + return ctx.getImage(maaSyncContextCachedImage) } -func (ctx SyncContext) getImage(captureFunc func(C.MaaSyncContextHandle, C.MaaImageBufferHandle) C.int) (image.Image, error) { +func (ctx SyncContext) getImage(captureFunc captureFuncType) (image.Image, error) { outImage := NewImageBuffer() defer outImage.Destroy() @@ -141,3 +143,11 @@ func (ctx SyncContext) getImage(captureFunc func(C.MaaSyncContextHandle, C.MaaIm return img, nil } + +func maaSyncContextScreencap(handle C.MaaSyncContextHandle, imageBufferHandle C.MaaImageBufferHandle) C.uint8_t { + return C.MaaSyncContextScreencap(handle, imageBufferHandle) +} + +func maaSyncContextCachedImage(handle C.MaaSyncContextHandle, imageBufferHandle C.MaaImageBufferHandle) C.uint8_t { + return C.MaaSyncContextCachedImage(handle, imageBufferHandle) +}