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 ( import (
"os" "os"
"runtime"
"unsafe" "unsafe"
"github.com/gen2brain/raylib-go/raylib" "github.com/gen2brain/raylib-go/raylib"
@ -24,7 +25,11 @@ func run(app unsafe.Pointer) {
raylib.SetConfigFlags(raylib.FlagVsyncHint) raylib.SetConfigFlags(raylib.FlagVsyncHint)
if runtime.GOOS != "android" {
raylib.InitWindow(screenWidth, screenHeight, "Android example")
} else {
raylib.InitWindow(screenWidth, screenHeight, app) raylib.InitWindow(screenWidth, screenHeight, app)
}
raylib.InitAudioDevice() raylib.InitAudioDevice()
@ -44,7 +49,7 @@ func run(app unsafe.Pointer) {
for !windowShouldClose { for !windowShouldClose {
raylib.UpdateMusicStream(ambient) raylib.UpdateMusicStream(ambient)
if raylib.IsKeyDown(raylib.KeyBack) { if runtime.GOOS == "android" && raylib.IsKeyDown(raylib.KeyBack) || raylib.WindowShouldClose() {
windowShouldClose = true windowShouldClose = true
} }
@ -122,4 +127,5 @@ func run(app unsafe.Pointer) {
} }
func main() { func main() {
run(nil)
} }

View file

@ -23,12 +23,16 @@ import (
var callbackHolder func(unsafe.Pointer) var callbackHolder func(unsafe.Pointer)
// Initialize Window and OpenGL Graphics // 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) cwidth := (C.int)(width)
cheight := (C.int)(height) cheight := (C.int)(height)
app, ok := t.(unsafe.Pointer)
if ok {
C.InitWindow(cwidth, cheight, app) C.InitWindow(cwidth, cheight, app)
C.init_asset_manager(app) C.init_asset_manager(app)
} }
}
// Sets callback function // Sets callback function
func SetCallbackFunc(callback func(unsafe.Pointer)) { func SetCallbackFunc(callback func(unsafe.Pointer)) {

View file

@ -10,13 +10,22 @@ import "C"
import "unsafe" import "unsafe"
// Initialize Window and OpenGL Graphics // 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) cwidth := (C.int)(width)
cheight := (C.int)(height) cheight := (C.int)(height)
title, ok := t.(string)
if ok {
ctitle := C.CString(title) ctitle := C.CString(title)
defer C.free(unsafe.Pointer(ctitle)) defer C.free(unsafe.Pointer(ctitle))
C.InitWindow(cwidth, cheight, ctitle) C.InitWindow(cwidth, cheight, ctitle)
} }
}
// Sets callback function
func SetCallbackFunc(func(unsafe.Pointer)) {
return
}
// Shows cursor // Shows cursor
func ShowCursor() { func ShowCursor() {

View file

@ -15,13 +15,22 @@ import (
) )
// Initialize Window and OpenGL Graphics // 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) cwidth := (C.int)(width)
cheight := (C.int)(height) cheight := (C.int)(height)
title, ok := t.(string)
if ok {
ctitle := C.CString(title) ctitle := C.CString(title)
defer C.free(unsafe.Pointer(ctitle)) defer C.free(unsafe.Pointer(ctitle))
C.InitWindow(cwidth, cheight, ctitle) C.InitWindow(cwidth, cheight, ctitle)
} }
}
// Sets callback function
func SetCallbackFunc(func(unsafe.Pointer)) {
return
}
// Shows cursor // Shows cursor
func ShowCursor() { func ShowCursor() {