diff --git a/Menu/GameShell/HelloWorld/HelloWorld.so b/Menu/GameShell/HelloWorld/HelloWorld.so index 9070992..441752e 100644 Binary files a/Menu/GameShell/HelloWorld/HelloWorld.so and b/Menu/GameShell/HelloWorld/HelloWorld.so differ diff --git a/build.sh b/build.sh new file mode 100755 index 0000000..597d349 --- /dev/null +++ b/build.sh @@ -0,0 +1,9 @@ +#!/bin/bash + +go build main.go + +##HelloWorld +cd Menu/GameShell/HelloWorld/ +go build -o HelloWorld.so -buildmode=plugin +cd - + diff --git a/sysgo/UI/multilabel.go b/sysgo/UI/multilabel.go index b4abfc8..4a3d9e2 100644 --- a/sysgo/UI/multilabel.go +++ b/sysgo/UI/multilabel.go @@ -103,9 +103,19 @@ func (self *MultiLabel) blit_text(surf *sdl.Surface,text string, pos_x,pos_y int row_total_width := 0 lines := 0 - for _,line := range words[:4] { + tmp := words + if len(words) > 4 { + tmp = words[:4] + } + + for _,line := range tmp { word_height := 0 - for _,word := range line[:12] { + tmp2 := line + if len(line) > 12 { + tmp2 = line[:12] + } + + for _,word := range tmp2 { word_surface := font.Render(fnt,word,true,self.Color,nil) word_width := surface.GetWidth(word_surface) word_height = surface.GetHeight(word_surface) diff --git a/sysgo/UI/scroller.go b/sysgo/UI/scroller.go index 709a322..407d02f 100644 --- a/sysgo/UI/scroller.go +++ b/sysgo/UI/scroller.go @@ -1,6 +1,8 @@ package UI import ( + "fmt" + "github.com/veandco/go-sdl2/sdl" // "github.com/veandco/go-sdl2/ttf" @@ -31,6 +33,7 @@ type ListScroller struct{ func NewListScroller() *ListScroller { l := &ListScroller{} + l.Width = 7 l.Color = &color.Color{131,199,219,255} // SkinManager().GiveColor('Front') return l } @@ -81,7 +84,10 @@ func (self *ListScroller) Draw() { w_,h_ := self.Parent.Size() start_rect := draw.MidRect(self.PosX+self.StartX,self.StartY+self.Value,self.Width,self.Height,w_,h_) - - draw.AARoundRect(self.CanvasHWND,start_rect,self.Color,3,0,self.Color) + if self.Width < 1 { + fmt.Println("ListScroller width error") + }else { + draw.AARoundRect(self.CanvasHWND,start_rect,self.Color,3,0,self.Color) + } } diff --git a/test.go b/test.go index cae2eb4..45b8350 100644 --- a/test.go +++ b/test.go @@ -41,7 +41,7 @@ func run() int { fmt.Println(screen.Pitch) fmt.Println( screen.BytesPerPixel() ) - img_surf := image.Load("skin/default/sys.go/gameshell/icons/roundcorners.png") + img_surf := image.Load("skin/default/sysgo/gameshell/icons/roundcorners.png") fmt.Println("WxH: ", img_surf.W,img_surf.H) @@ -68,6 +68,9 @@ func run() int { rect2 := rect.Rect(3,120,200,30) draw.AARoundRect(screen,&rect2,&color.Color{0,213,222,255},10,0, &color.Color{0,213,222,255}) + rect3 := rect.Rect(300,12,7,200) + draw.AARoundRect(screen,&rect3,&color.Color{0,213,222,255},3,0, &color.Color{0,213,222,255}) + font.Init() font_path := "skin/default/truetype/NotoSansCJK-Regular.ttf"