Android example can now be built on desktop

This commit is contained in:
Milan Nikolic 2017-02-02 03:09:17 +01:00
parent 56debbf236
commit e365f75e34
5 changed files with 43 additions and 15 deletions

View file

@ -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)
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)
}

View file

@ -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)
app, ok := t.(unsafe.Pointer)
if ok {
C.InitWindow(cwidth, cheight, app)
C.init_asset_manager(app)
}
}
// Sets callback function

View file

@ -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)
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

View file

@ -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)
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