gamen icon indicating copy to clipboard operation
gamen copied to clipboard

macos and ios support

Open rajveermalviya opened this issue 3 years ago • 4 comments

An ideal implementation would use AppKit for macOS and UIKit for iOS respectively.

rajveermalviya avatar Aug 02 '22 18:08 rajveermalviya

Does gamen try to be a backbone for all kinds of applications that need a ui, or is it just for games? How does it differ from nuxui? Or other frameworks/engines? ( https://github.com/nuxui/nuxui )

sparky4pro avatar Aug 30 '22 14:08 sparky4pro

I feel like I have already answered this in this reddit comment so I am going to link it here. (though feel free to comment back here or above mentioned matrix room)

https://www.reddit.com/r/golang/comments/wz49hp/comment/im31jya/?utm_source=share&utm_medium=web2x&context=3

gamen is just a window handling library, it is comparable to glfw & winit.

GUI toolkits like fyne and Gio internally use window handling to get a window on the screen, handle mouse & keyboard events captured by that window, setting size of the window, and many more, gamen does all that by dealing with platform specific APIs for you.

fyne uses glfw on desktop and (afaik) go-mobile for ios/android support & Gio rolls its own.

gamen's goal is to provide a single api for all platforms.

It's definitely not to be used directly by your next todo app, but a GUI toolkit or a Game can use gamen internally.

rajveermalviya avatar Aug 30 '22 14:08 rajveermalviya

Thank you for your answer.

Looked at the gamen code a bit, and it might be that for macOS and iOS some things in gamen are not needed, as these operating systems do not need a "main event message loop" to work...

sparky4pro avatar Aug 31 '22 00:08 sparky4pro

Hey @rajveermalviya Hope all is well !!

This looks really cool...

I am happy to help test on IOS and Mac is needed.

cd gamen/examples/cursor_icons && go build . && ./cursor_icons
# github.com/rajveermalviya/gamen/examples/cursor_icons
./main.go:16:20: undefined: display.NewDisplay
./main.go:22:20: undefined: display.NewWindow
make: *** [run-cursor] Error 2
 gamen  make run-handling_close
cd gamen/examples/handling_close && go build . && ./handling_close
# github.com/rajveermalviya/gamen/examples/handling_close
./main.go:15:20: undefined: display.NewDisplay
./main.go:21:20: undefined: display.NewWindow
make: *** [run-handling_close] Error 2
 gamen  make run-hello
cd gamen/examples/hello && go build . && ./hello
# github.com/rajveermalviya/gamen/examples/hello
./main.go:17:20: undefined: display.NewDisplay
./main.go:23:20: undefined: display.NewWindow
make: *** [run-hello] Error 2
 gamen  make run-multiwindow
cd gamen/examples/multiwindow && go build . && ./multiwindow
# github.com/rajveermalviya/gamen/examples/multiwindow
./main.go:15:20: undefined: display.NewDisplay
./main.go:27:21: undefined: display.NewWindow
make: *** [run-multiwindow] Error 2
 gamen  make run-wgpu_poll
cd gamen/examples/wgpu_poll && go build . && ./wgpu_poll
# github.com/rajveermalviya/gamen/examples/wgpu_poll
./main.go:80:33: undefined: getSurfaceDescriptor
./main.go:214:20: undefined: display.NewDisplay
./main.go:220:20: undefined: display.NewWindow
make: *** [run-wgpu_poll] Error 2
 gamen  make run-wgpu_wait
cd gamen/examples/wgpu_wait && go build . && ./wgpu_wait

# github.com/rajveermalviya/gamen/examples/wgpu_wait
./main.go:80:33: undefined: getSurfaceDescriptor
./main.go:214:20: undefined: display.NewDisplay
./main.go:220:20: undefined: display.NewWindow
make: *** [run-wgpu_wait] Error 2

gedw99 avatar Sep 19 '22 13:09 gedw99