package glfw //#include //#define GLFW_INCLUDE_NONE //#include "glfw/include/GLFW/glfw3.h" import "C" import ( "reflect" "unsafe" ) func glfwbool(b C.int) bool { if b == C.int(True) { return true } return false } func bytes(origin []byte) (pointer *uint8, free func()) { n := len(origin) if n == 0 { return nil, func() {} } data := C.malloc(C.size_t(n)) dataSlice := *(*[]byte)(unsafe.Pointer(&reflect.SliceHeader{ Data: uintptr(data), Len: n, Cap: n, })) copy(dataSlice, origin) return &dataSlice[0], func() { C.free(data) } }