UI.go 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  1. package UI
  2. import (
  3. "fmt"
  4. "github.com/veandco/go-sdl2/ttf"
  5. "github.com/cuu/gogame/font"
  6. "github.com/clockworkpi/LauncherGoDev/sysgo"
  7. )
  8. type WidgetInterface interface {
  9. Size() (int,int)
  10. NewSize(w,h int)
  11. Coord()(int,int)
  12. NewCoord(x,y int)
  13. }
  14. type Widget struct {
  15. PosX int
  16. PosY int
  17. Width int
  18. Height int
  19. }
  20. func (self *Widget) Size() (int,int) {
  21. return self.Width,self.Height
  22. }
  23. func (self *Widget) NewSize(w,h int) {
  24. self.Width = w
  25. self.Height = h
  26. }
  27. func (self *Widget) Coord() (int,int) {
  28. return self.PosX,self.PosY
  29. }
  30. func (self *Widget) NewCoord(x,y int) {
  31. self.PosX = x
  32. self.PosY = y
  33. }
  34. //invoked in main.go
  35. func Init() {
  36. font.Init()
  37. skinpath := "skin/"+sysgo.SKIN+"/truetype"
  38. Fonts = make(map[string]*ttf.Font)
  39. fonts_path := make(map[string]string)
  40. fonts_path["varela"] = fmt.Sprintf("%s/VarelaRound-Regular.ttf",skinpath)
  41. fonts_path["veramono"] = fmt.Sprintf("%s/VeraMono.ttf",skinpath)
  42. fonts_path["noto"] = fmt.Sprintf("%s/NotoSansMono-Regular.ttf", skinpath)
  43. fonts_path["notocjk"] = fmt.Sprintf("%s/NotoSansCJK-Regular.ttf" ,skinpath)
  44. for i:=10;i<41;i++ {
  45. keyname := fmt.Sprintf("varela%d",i)
  46. Fonts[ keyname ] = font.Font(fonts_path["varela"],i)
  47. }
  48. Fonts["varela120"] = font.Font(fonts_path["varela"],120)
  49. for i:=10;i<26;i++ {
  50. keyname := fmt.Sprintf("veramono%d", i)
  51. Fonts[keyname] = font.Font(fonts_path["veramono"],i)
  52. }
  53. for i:= 10;i<28;i++ {
  54. keyname := fmt.Sprintf("notosansmono%d", i)
  55. Fonts[keyname] = font.Font(fonts_path["noto"], i)
  56. }
  57. for i:=10;i<28;i++ {
  58. keyname := fmt.Sprintf("notosanscjk%d",i)
  59. Fonts[keyname] = font.Font(fonts_path["notocjk"],i)
  60. }
  61. }
  62. func init() {
  63. if MyIconPool == nil {
  64. MyIconPool = NewIconPool()
  65. }
  66. if MyLangManager == nil {
  67. MyLangManager = NewLangManager()
  68. MyLangManager.Init()
  69. }
  70. if MySkinManager == nil {
  71. MySkinManager = NewSkinManager()
  72. MySkinManager.Init()
  73. }
  74. }