andlabs-ui/test/spacing.go

54 lines
1.1 KiB
Go

// 26 june 2014
package main
import (
"flag"
"image"
"image/color"
"image/draw"
. "github.com/andlabs/ui"
)
// spacing test
type solidColor struct {
c color.Color
}
func (s solidColor) Paint(r image.Rectangle) *image.RGBA {
i := image.NewRGBA(r)
draw.Draw(i, r, &image.Uniform{s.c}, image.ZP, draw.Src)
return i
}
func (s solidColor) Mouse(m MouseEvent) bool { return false }
func (s solidColor) Key(e KeyEvent) bool { return false }
var spacetest = flag.String("spacetest", "", "test space idempotency; arg is x or y; overrides -area")
func spaceTest() {
w := 100
h := 50
ng := 1
gsx, gsy := 1, 0
f := NewVerticalStack
if *spacetest == "x" {
w = 50
h = 100
ng = 2
gsx, gsy = 0, 1
f = NewHorizontalStack
}
ah := solidColor{color.NRGBA{0,0,255,255}}
a1 := NewArea(w, h, ah)
a2 := NewArea(w, h, ah)
a3 := NewArea(w, h, ah)
a4 := NewArea(w, h, ah)
win := NewWindow("Stack", 250, 250, nullwindowhandler{})
win.SetSpaced(true)
win.Open(f(a1, a2))
win = NewWindow("Grid", 250, 250, nullwinhandler{})
win.SetSpaced(true)
g := NewGrid(ng, a3, a4)
g.SetFilling(0, 0)
g.SetStretchy(gsx, gsy)
win.Open(g)
}