2019-06-26 23:20:32 +08:00

115 lines
2.0 KiB
Go

package UI
import (
"fmt"
"github.com/veandco/go-sdl2/ttf"
"github.com/cuu/gogame/font"
"github.com/clockworkpi/LauncherGoDev/sysgo"
)
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.Font(fonts_path["varela"],i)
}
Fonts["varela120"] = font.Font(fonts_path["varela"],120)
for i:=10;i<26;i++ {
keyname := fmt.Sprintf("veramono%d", i)
Fonts[keyname] = font.Font(fonts_path["veramono"],i)
}
for i:= 10;i<28;i++ {
keyname := fmt.Sprintf("notosansmono%d", i)
Fonts[keyname] = font.Font(fonts_path["noto"], i)
}
for i:=10;i<28;i++ {
keyname := fmt.Sprintf("notosanscjk%d",i)
Fonts[keyname] = font.Font(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()
}
}