From 7f07933eb3ecfae1dc3e033153a7defee21367c1 Mon Sep 17 00:00:00 2001 From: Elias Naur Date: Wed, 16 Oct 2019 11:07:52 +0200 Subject: [PATCH] layout: unexport Context.Layout and make it a function Layout wasn't used outside package layout, so let's not export it. Signed-off-by: Elias Naur --- layout/flex.go | 4 ++-- layout/layout.go | 23 ++++++++++++----------- layout/list.go | 2 +- layout/stack.go | 4 ++-- 4 files changed, 17 insertions(+), 16 deletions(-) diff --git a/layout/flex.go b/layout/flex.go index 1eeaa855..2c506fd2 100644 --- a/layout/flex.go +++ b/layout/flex.go @@ -67,7 +67,7 @@ func (f *Flex) Rigid(gtx *Context, w Widget) FlexChild { cs = axisConstraints(f.Axis, Constraint{Max: mainMax}, axisCrossConstraint(f.Axis, cs)) var m op.MacroOp m.Record(gtx.Ops) - dims := gtx.Layout(cs, w) + dims := ctxLayout(gtx, cs, w) m.Stop() f.rigidSize += axisMain(f.Axis, dims.Size) f.expand(dims) @@ -95,7 +95,7 @@ func (f *Flex) Flex(gtx *Context, weight float32, w Widget) FlexChild { cs = axisConstraints(f.Axis, submainc, axisCrossConstraint(f.Axis, cs)) var m op.MacroOp m.Record(gtx.Ops) - dims := gtx.Layout(cs, w) + dims := ctxLayout(gtx, cs, w) m.Stop() f.expand(dims) return FlexChild{m, dims} diff --git a/layout/layout.go b/layout/layout.go index 65c36f5e..715bcff7 100644 --- a/layout/layout.go +++ b/layout/layout.go @@ -82,16 +82,17 @@ const ( Vertical ) -// Layout a widget with a set of constraints and return its -// dimensions. The previous constraints are restored after layout. -func (s *Context) Layout(cs Constraints, w Widget) Dimensions { - saved := s.Constraints - s.Constraints = cs - s.Dimensions = Dimensions{} +// layout a widget with a set of constraints and return its +// dimensions. The widget dimensions are constrained abd the previous +// constraints are restored after layout. +func ctxLayout(gtx *Context, cs Constraints, w Widget) Dimensions { + saved := gtx.Constraints + gtx.Constraints = cs + gtx.Dimensions = Dimensions{} w() - s.Dimensions.Size = cs.Constrain(s.Dimensions.Size) - s.Constraints = saved - return s.Dimensions + gtx.Dimensions.Size = cs.Constrain(gtx.Dimensions.Size) + gtx.Constraints = saved + return gtx.Dimensions } // Reset the context. The constraints' minimum and maximum values are @@ -166,7 +167,7 @@ func (in Inset) Layout(gtx *Context, w Widget) { var stack op.StackOp stack.Push(gtx.Ops) op.TransformOp{}.Offset(toPointF(image.Point{X: left, Y: top})).Add(gtx.Ops) - dims := gtx.Layout(mcs, w) + dims := ctxLayout(gtx, mcs, w) stack.Pop() gtx.Dimensions = Dimensions{ Size: dims.Size.Add(image.Point{X: right + left, Y: top + bottom}), @@ -188,7 +189,7 @@ func (a Align) Layout(gtx *Context, w Widget) { mcs := cs mcs.Width.Min = 0 mcs.Height.Min = 0 - dims := gtx.Layout(mcs, w) + dims := ctxLayout(gtx, mcs, w) macro.Stop() sz := dims.Size if sz.X < cs.Width.Min { diff --git a/layout/list.go b/layout/list.go index 7a60cfeb..672b07ca 100644 --- a/layout/list.go +++ b/layout/list.go @@ -93,7 +93,7 @@ func (l *List) Layout(gtx *Context, len int, w ListElement) { for l.init(gtx, len); l.more(); l.next() { cs := axisConstraints(l.Axis, Constraint{Max: inf}, axisCrossConstraint(l.Axis, l.ctx.Constraints)) i := l.index() - l.end(gtx.Layout(cs, func() { + l.end(ctxLayout(gtx, cs, func() { w(i) })) } diff --git a/layout/stack.go b/layout/stack.go index 9d56d61e..560d7aa3 100644 --- a/layout/stack.go +++ b/layout/stack.go @@ -32,7 +32,7 @@ func (s *Stack) Rigid(gtx *Context, w Widget) StackChild { cs.Height.Min = 0 var m op.MacroOp m.Record(gtx.Ops) - dims := gtx.Layout(cs, w) + dims := ctxLayout(gtx, cs, w) m.Stop() s.expand(dims) return StackChild{m, dims} @@ -46,7 +46,7 @@ func (s *Stack) Expand(gtx *Context, w Widget) StackChild { Width: Constraint{Min: s.maxSZ.X, Max: gtx.Constraints.Width.Max}, Height: Constraint{Min: s.maxSZ.Y, Max: gtx.Constraints.Height.Max}, } - dims := gtx.Layout(cs, w) + dims := ctxLayout(gtx, cs, w) m.Stop() s.expand(dims) return StackChild{m, dims}