main.go 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. package main
  2. import (
  3. "os"
  4. "fmt"
  5. "github.com/veandco/go-sdl2/sdl"
  6. "github.com/cuu/gogame/display"
  7. "github.com/cuu/gogame/event"
  8. // "github.com/cuu/gogame/color"
  9. "github.com/cuu/gogame/font"
  10. "github.com/cuu/gogame/time"
  11. "./sysgo/UI"
  12. )
  13. func run() int {
  14. display.Init()
  15. font.Init()
  16. screen := display.SetMode(int32(UI.Width),int32(UI.Height),0,32)
  17. UI.MyIconPool.Init()
  18. main_screen := UI.NewMainScreen()
  19. main_screen.HWND = screen
  20. main_screen.Init()
  21. title_bar := UI.NewTitleBar()
  22. foot_bar := UI.NewFootBar()
  23. title_bar.Init(main_screen)
  24. foot_bar.Init(main_screen)
  25. main_screen.TitleBar = title_bar
  26. main_screen.FootBar = foot_bar
  27. main_screen.ReadTheDirIntoPages("Menu",0,nil)
  28. main_screen.FartherPages()
  29. main_screen.Draw()
  30. main_screen.SwapAndShow()
  31. UI.SwapAndShow()
  32. fmt.Println(main_screen)
  33. running := true
  34. for running {
  35. ev := event.Wait()
  36. if ev.Type == event.QUIT {
  37. running = false
  38. break
  39. }
  40. if ev.Type == event.USEREVENT {
  41. fmt.Println(ev.Data["Msg"])
  42. }
  43. if ev.Type == event.KEYDOWN {
  44. fmt.Println(ev)
  45. if ev.Data["Key"] == "Q" {
  46. return 0
  47. }
  48. if ev.Data["Key"] == "Escape" {
  49. return 0
  50. }
  51. if ev.Data["Key"] == "T" {
  52. time.Delay(1000)
  53. }
  54. if ev.Data["Key"] == "P" {
  55. event.Post(event.RUNEVT,"GODEBUG=cgocheck=0 sucks") // just id and string, simpify the stuff
  56. }
  57. }
  58. }
  59. return 0
  60. }
  61. func main() {
  62. var exitcode int
  63. os.Setenv("SDL_VIDEO_CENTERED","1")
  64. sdl.Main(func() {
  65. exitcode = run()
  66. })
  67. os.Exit(exitcode)
  68. }