2014-06-26 13:22:49 -05:00
|
|
|
// 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)
|
2014-07-01 08:33:49 -05:00
|
|
|
win := NewWindow("Stack", 250, 250)
|
2014-06-26 13:22:49 -05:00
|
|
|
win.SetSpaced(true)
|
|
|
|
win.Open(f(a1, a2))
|
2014-07-01 08:33:49 -05:00
|
|
|
win = NewWindow("Grid", 250, 250)
|
2014-06-26 13:22:49 -05:00
|
|
|
win.SetSpaced(true)
|
|
|
|
g := NewGrid(ng, a3, a4)
|
|
|
|
g.SetFilling(0, 0)
|
|
|
|
g.SetStretchy(gsx, gsy)
|
|
|
|
win.Open(g)
|
|
|
|
}
|