main.go 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  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. "github.com/cuu/LauncherGoDev/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.Init()
  18. UI.MyIconPool.Init()
  19. main_screen := UI.NewMainScreen()
  20. main_screen.HWND = screen
  21. main_screen.Init()
  22. title_bar := UI.NewTitleBar()
  23. foot_bar := UI.NewFootBar()
  24. title_bar.Init(main_screen)
  25. foot_bar.Init(main_screen)
  26. main_screen.TitleBar = title_bar
  27. main_screen.FootBar = foot_bar
  28. main_screen.ReadTheDirIntoPages("Menu",0,nil)
  29. main_screen.FartherPages()
  30. main_screen.Draw()
  31. main_screen.SwapAndShow()
  32. UI.SwapAndShow()
  33. fmt.Println(main_screen)
  34. event.AddCustomEvent(UI.RUNEVT)
  35. running := true
  36. for running {
  37. ev := event.Wait()
  38. if ev.Type == event.QUIT {
  39. running = false
  40. break
  41. }
  42. if ev.Type == event.USEREVENT {
  43. fmt.Println("UserEvent: ",ev.Data["Msg"])
  44. }
  45. if ev.Type == event.KEYDOWN {
  46. if ev.Data["Key"] == "Q" {
  47. main_screen.OnExitCb()
  48. return 0
  49. }else if ev.Data["Key"] == "D" {
  50. time.Delay(1000)
  51. }else if ev.Data["Key"] == "P" {
  52. event.Post(UI.RUNEVT,"GODEBUG=cgocheck=0 sucks") // just id and string, simplify the stuff
  53. }else {
  54. main_screen.KeyDown(ev)
  55. }
  56. }
  57. }
  58. return 0
  59. }
  60. func main() {
  61. var exitcode int
  62. os.Setenv("SDL_VIDEO_CENTERED","1")
  63. sdl.Main(func() {
  64. exitcode = run()
  65. })
  66. os.Exit(exitcode)
  67. }