add tochar bitmap and gostring, update godoc and fmt code

This commit is contained in:
vcaesar 2017-12-27 19:24:16 +08:00
parent 3efeb614a4
commit b8413f7bd4

View File

@ -105,6 +105,11 @@ func Try(fun func(), handler func(interface{})) {
fun()
}
// GoString teans C.char to string
func GoString(char *C.char) string {
return C.GoString(char)
}
/*
_______. ______ .______ _______ _______ .__ __.
/ | / || _ \ | ____|| ____|| \ | |
@ -166,6 +171,7 @@ func GetPixelColor(x, y int) string {
// color := C.aGetPixelColor(x, y)
gcolor := C.GoString(color)
defer C.free(unsafe.Pointer(color))
return gcolor
}
@ -182,6 +188,7 @@ func SetXDisplayName(name string) string {
str := C.aSetXDisplayName(cname)
gstr := C.GoString(str)
defer C.free(unsafe.Pointer(cname))
return gstr
}
@ -190,6 +197,7 @@ func GetXDisplayName() string {
name := C.aGetXDisplayName()
gname := C.GoString(name)
defer C.free(unsafe.Pointer(name))
return gname
}
@ -435,6 +443,7 @@ func MouseClick(args ...interface{}) {
button = C.LEFT_BUTTON
double = false
})
C.aMouseClick(button, double)
}
@ -462,6 +471,7 @@ func Click(args ...interface{}) {
button = C.LEFT_BUTTON
double = false
})
C.aMouseClick(button, double)
}
@ -474,6 +484,7 @@ func MoveClick(x, y int, args ...interface{}) {
// MouseToggle toggle the mouse
func MouseToggle(args ...interface{}) {
var button C.MMMouseButton
Try(func() {
// button = args[1].(C.MMMouseButton)
if args[1].(string) == "left" {
@ -489,6 +500,7 @@ func MouseToggle(args ...interface{}) {
// fmt.Println("err:::", e)
button = C.LEFT_BUTTON
})
down := C.CString(args[0].(string))
C.aMouseToggle(down, button)
defer C.free(unsafe.Pointer(down))
@ -581,8 +593,8 @@ func KeyTap(args ...interface{}) {
defer C.free(unsafe.Pointer(amod))
defer C.free(unsafe.Pointer(amodt))
}
defer C.free(unsafe.Pointer(zkey))
defer C.free(unsafe.Pointer(zkey))
}
// KeyToggle toggle the keyboard
@ -799,12 +811,14 @@ func PointInBounds(bitmap C.MMBitmapRef, x, y int) bool {
func OpenBitmap(args ...interface{}) C.MMBitmapRef {
path := C.CString(args[0].(string))
var mtype C.uint16_t
Try(func() {
mtype = C.uint16_t(args[1].(int))
}, func(e interface{}) {
// fmt.Println("err:::", e)
mtype = 1
})
bit := C.bitmap_open(path, mtype)
defer C.free(unsafe.Pointer(path))
// fmt.Println("opening...", bit)
@ -817,6 +831,7 @@ func BitmapStr(str string) C.MMBitmapRef {
cs := C.CString(str)
bit := C.bitmap_from_string(cs)
defer C.free(unsafe.Pointer(cs))
return bit
}
@ -847,15 +862,18 @@ func SaveBitmap(args ...interface{}) string {
// // defer C.free(unsafe.Pointer(path))
// }
// TostringBitmap tostring bitmap to C.char
// TostringBitmap tostring bitmap to string
func TostringBitmap(bit C.MMBitmapRef) string {
// str_bit := C.aTostringBitmap(bit)
strBit := C.tostring_Bitmap(bit)
// fmt.Println("...", str_bit)
// return str_bit
return C.GoString(strBit)
}
// TocharBitmap tostring bitmap to C.char
func TocharBitmap(bit C.MMBitmapRef) *C.char {
strBit := C.tostring_Bitmap(bit)
return strBit
}
// ToBitmap trans C.MMBitmapRef to Bitmap
func ToBitmap(bit C.MMBitmapRef) Bitmap {
bitmap := Bitmap{
@ -866,6 +884,7 @@ func ToBitmap(bit C.MMBitmapRef) Bitmap {
BitsPerPixel: uint8(bit.bitsPerPixel),
BytesPerPixel: uint8(bit.bytesPerPixel),
}
return bitmap
}
@ -895,7 +914,8 @@ func Convert(args ...interface{}) {
// fmt.Println("err:::", e)
mtype = 1
})
//C.CString()
// C.CString()
opath := args[0].(string)
spath := args[1].(string)
bitmap := OpenBitmap(opath)
@ -1009,6 +1029,7 @@ func AddEvent(aeve string) int {
// fmt.Println("event@@", eve)
geve := int(eve)
defer C.free(unsafe.Pointer(cs))
return geve
}
@ -1024,6 +1045,7 @@ func LEvent(aeve string) int {
// fmt.Println("event@@", eve)
geve := int(eve)
defer C.free(unsafe.Pointer(cs))
return geve
}
@ -1055,6 +1077,7 @@ func ShowAlert(title, msg string, args ...string) int {
defaultButton = "Ok"
cancelButton = "Cancel"
})
atitle := C.CString(title)
amsg := C.CString(msg)
adefaultButton := C.CString(defaultButton)
@ -1062,10 +1085,12 @@ func ShowAlert(title, msg string, args ...string) int {
cbool := C.aShowAlert(atitle, amsg, adefaultButton, acancelButton)
ibool := int(cbool)
defer C.free(unsafe.Pointer(atitle))
defer C.free(unsafe.Pointer(amsg))
defer C.free(unsafe.Pointer(adefaultButton))
defer C.free(unsafe.Pointer(acancelButton))
return ibool
}
@ -1191,6 +1216,7 @@ func FindName(pid int32) (string, error) {
if err != nil {
return "", err
}
names, err := nps.Name()
if err != nil {
return "", err
@ -1222,6 +1248,7 @@ func FindNames() ([]string, error) {
return strArr, err
}
return strArr, err
}