diff --git a/examples/android/example/main.go b/examples/android/example/main.go index e3d1330..8b10628 100644 --- a/examples/android/example/main.go +++ b/examples/android/example/main.go @@ -2,6 +2,7 @@ package main import ( "os" + "runtime" "unsafe" "github.com/gen2brain/raylib-go/raylib" @@ -24,7 +25,11 @@ func run(app unsafe.Pointer) { raylib.SetConfigFlags(raylib.FlagVsyncHint) - raylib.InitWindow(screenWidth, screenHeight, app) + if runtime.GOOS != "android" { + raylib.InitWindow(screenWidth, screenHeight, "Android example") + } else { + raylib.InitWindow(screenWidth, screenHeight, app) + } raylib.InitAudioDevice() @@ -44,7 +49,7 @@ func run(app unsafe.Pointer) { for !windowShouldClose { raylib.UpdateMusicStream(ambient) - if raylib.IsKeyDown(raylib.KeyBack) { + if runtime.GOOS == "android" && raylib.IsKeyDown(raylib.KeyBack) || raylib.WindowShouldClose() { windowShouldClose = true } @@ -122,4 +127,5 @@ func run(app unsafe.Pointer) { } func main() { + run(nil) } diff --git a/raylib/platform_android.c b/raylib/platform_android.c index 6463f34..b033eeb 100644 --- a/raylib/platform_android.c +++ b/raylib/platform_android.c @@ -8,6 +8,6 @@ void android_main(struct android_app *app) { void init_asset_manager(void *state) { struct android_app *app; - app = (struct android_app *)state; - asset_manager = app->activity->assetManager; + app = (struct android_app *)state; + asset_manager = app->activity->assetManager; } diff --git a/raylib/platform_android.go b/raylib/platform_android.go index d01a6fc..96a35d2 100644 --- a/raylib/platform_android.go +++ b/raylib/platform_android.go @@ -23,11 +23,15 @@ import ( var callbackHolder func(unsafe.Pointer) // Initialize Window and OpenGL Graphics -func InitWindow(width int32, height int32, app unsafe.Pointer) { +func InitWindow(width int32, height int32, t interface{}) { cwidth := (C.int)(width) cheight := (C.int)(height) - C.InitWindow(cwidth, cheight, app) - C.init_asset_manager(app) + + app, ok := t.(unsafe.Pointer) + if ok { + C.InitWindow(cwidth, cheight, app) + C.init_asset_manager(app) + } } // Sets callback function diff --git a/raylib/platform_arm.go b/raylib/platform_arm.go index 4e84707..3b8d68f 100644 --- a/raylib/platform_arm.go +++ b/raylib/platform_arm.go @@ -10,12 +10,21 @@ import "C" import "unsafe" // Initialize Window and OpenGL Graphics -func InitWindow(width int32, height int32, title string) { +func InitWindow(width int32, height int32, t interface{}) { cwidth := (C.int)(width) cheight := (C.int)(height) - ctitle := C.CString(title) - defer C.free(unsafe.Pointer(ctitle)) - C.InitWindow(cwidth, cheight, ctitle) + + title, ok := t.(string) + if ok { + ctitle := C.CString(title) + defer C.free(unsafe.Pointer(ctitle)) + C.InitWindow(cwidth, cheight, ctitle) + } +} + +// Sets callback function +func SetCallbackFunc(func(unsafe.Pointer)) { + return } // Shows cursor diff --git a/raylib/platform_desktop.go b/raylib/platform_desktop.go index 579f310..67da077 100644 --- a/raylib/platform_desktop.go +++ b/raylib/platform_desktop.go @@ -15,12 +15,21 @@ import ( ) // Initialize Window and OpenGL Graphics -func InitWindow(width int32, height int32, title string) { +func InitWindow(width int32, height int32, t interface{}) { cwidth := (C.int)(width) cheight := (C.int)(height) - ctitle := C.CString(title) - defer C.free(unsafe.Pointer(ctitle)) - C.InitWindow(cwidth, cheight, ctitle) + + title, ok := t.(string) + if ok { + ctitle := C.CString(title) + defer C.free(unsafe.Pointer(ctitle)) + C.InitWindow(cwidth, cheight, ctitle) + } +} + +// Sets callback function +func SetCallbackFunc(func(unsafe.Pointer)) { + return } // Shows cursor