diff --git a/.gitignore b/.gitignore index dd43ffa..0a1017e 100644 --- a/.gitignore +++ b/.gitignore @@ -3,3 +3,4 @@ cmd/cal/cal cmd/scroll/scroll cmd/grid/grid *.apk +memprofile* diff --git a/cmd/cal/main.go b/cmd/cal/main.go index 9e418b0..be182db 100644 --- a/cmd/cal/main.go +++ b/cmd/cal/main.go @@ -20,7 +20,6 @@ import ( ) var ( - sel int32 face text.Face ) diff --git a/main.go b/main.go index 89cc5a2..87ee133 100644 --- a/main.go +++ b/main.go @@ -204,8 +204,9 @@ type List = WidgetCombinator type AxisOpt struct{ axis layout.Axis } func Axis(x layout.Axis) AxisOpt { return AxisOpt{x} } -var Horizontal = AxisOpt{ layout.Horizontal } -var Vertical = AxisOpt{ layout.Vertical } + +var Horizontal = AxisOpt{layout.Horizontal} +var Vertical = AxisOpt{layout.Vertical} type ListOpts struct { AxisOpt @@ -510,6 +511,29 @@ func Rrect(ops *ui.Ops, width, height, se, sw, nw, ne float32) { Mallocs("Rrect() end") } +type fillWidget struct { + axis layout.Axis +} + +func FillWidth(ws ...Widget) Widget { + return Enclose(fillWidget{layout.Horizontal}, ws...) +} +func FillHeight(ws ...Widget) Widget { + return Enclose(fillWidget{layout.Vertical}, ws...) +} + +func (fw fillWidget) Begin(ctx *Context) { + switch fw.axis { + case layout.Horizontal: + ctx.cs.Width.Min = ctx.cs.Width.Max + case layout.Vertical: + ctx.cs.Height.Min = ctx.cs.Height.Max + } +} + +func (fw fillWidget) End(*Context) { +} + type Clickable interface { Widget Clicked(*Context) bool