mirror of
https://github.com/clockworkpi/LauncherGoDev.git
synced 2025-12-12 16:08:52 +01:00
110 lines
2.0 KiB
Go
110 lines
2.0 KiB
Go
package UI
|
|
|
|
import (
|
|
"fmt"
|
|
|
|
"github.com/veandco/go-sdl2/ttf"
|
|
|
|
"github.com/clockworkpi/LauncherGoDev/sysgo"
|
|
"github.com/cuu/gogame/font"
|
|
)
|
|
|
|
type WidgetInterface interface {
|
|
Size() (int, int)
|
|
NewSize(w, h int)
|
|
Coord() (int, int)
|
|
NewCoord(x, y int)
|
|
}
|
|
|
|
type Coord struct {
|
|
X int
|
|
Y int
|
|
}
|
|
|
|
type Plane struct {
|
|
W int
|
|
H int
|
|
}
|
|
|
|
type Widget struct {
|
|
PosX int
|
|
PosY int
|
|
Width int
|
|
Height int
|
|
}
|
|
|
|
func (self *Widget) Size() (int, int) {
|
|
return self.Width, self.Height
|
|
}
|
|
|
|
func (self *Widget) NewSize(w, h int) {
|
|
self.Width = w
|
|
self.Height = h
|
|
}
|
|
|
|
func (self *Widget) Coord() (int, int) {
|
|
return self.PosX, self.PosY
|
|
}
|
|
|
|
func (self *Widget) NewCoord(x, y int) {
|
|
self.PosX = x
|
|
self.PosY = y
|
|
}
|
|
|
|
//invoked in main.go
|
|
func Init() {
|
|
font.Init()
|
|
|
|
skinpath := sysgo.SKIN + "/truetype"
|
|
|
|
Fonts = make(map[string]*ttf.Font)
|
|
|
|
fonts_path := make(map[string]string)
|
|
|
|
fonts_path["varela"] = fmt.Sprintf("%s/VarelaRound-Regular.ttf", skinpath)
|
|
fonts_path["veramono"] = fmt.Sprintf("%s/VeraMono.ttf", skinpath)
|
|
fonts_path["noto"] = fmt.Sprintf("%s/NotoSansMono-Regular.ttf", skinpath)
|
|
fonts_path["notocjk"] = fmt.Sprintf("%s/NotoSansCJK-Regular.ttf", skinpath)
|
|
|
|
for i := 10; i < 41; i++ {
|
|
keyname := fmt.Sprintf("varela%d", i)
|
|
Fonts[keyname] = font.FontRW(fonts_path["varela"], i)
|
|
}
|
|
|
|
Fonts["varela120"] = font.FontRW(fonts_path["varela"], 120)
|
|
|
|
for i := 10; i < 26; i++ {
|
|
keyname := fmt.Sprintf("veramono%d", i)
|
|
Fonts[keyname] = font.FontRW(fonts_path["veramono"], i)
|
|
}
|
|
|
|
for i := 10; i < 28; i++ {
|
|
keyname := fmt.Sprintf("notosansmono%d", i)
|
|
Fonts[keyname] = font.FontRW(fonts_path["noto"], i)
|
|
}
|
|
|
|
for i := 10; i < 28; i++ {
|
|
keyname := fmt.Sprintf("notosanscjk%d", i)
|
|
Fonts[keyname] = font.FontRW(fonts_path["notocjk"], i)
|
|
}
|
|
|
|
//
|
|
keys_def_init()
|
|
|
|
//// global variables Init
|
|
if MyIconPool == nil {
|
|
MyIconPool = NewIconPool()
|
|
MyIconPool.Init()
|
|
}
|
|
if MyLangManager == nil {
|
|
|
|
MyLangManager = NewLangManager()
|
|
MyLangManager.Init()
|
|
|
|
}
|
|
if MySkinManager == nil {
|
|
MySkinManager = NewSkinManager()
|
|
MySkinManager.Init()
|
|
}
|
|
}
|