cuu 5 år sedan
förälder
incheckning
74723955d9
5 ändrade filer med 33 tillägg och 5 borttagningar
  1. BIN
      Menu/GameShell/HelloWorld/HelloWorld.so
  2. 9 0
      build.sh
  3. 12 2
      sysgo/UI/multilabel.go
  4. 8 2
      sysgo/UI/scroller.go
  5. 4 1
      test.go

BIN
Menu/GameShell/HelloWorld/HelloWorld.so


+ 9 - 0
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 -
+

+ 12 - 2
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)

+ 8 - 2
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)
+	}
 }

+ 4 - 1
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"