mirror of
https://git.sr.ht/~eliasnaur/gio
synced 2026-07-05 17:35:36 +00:00
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 <mail@eliasnaur.com>
This commit is contained in:
+2
-2
@@ -67,7 +67,7 @@ func (f *Flex) Rigid(gtx *Context, w Widget) FlexChild {
|
|||||||
cs = axisConstraints(f.Axis, Constraint{Max: mainMax}, axisCrossConstraint(f.Axis, cs))
|
cs = axisConstraints(f.Axis, Constraint{Max: mainMax}, axisCrossConstraint(f.Axis, cs))
|
||||||
var m op.MacroOp
|
var m op.MacroOp
|
||||||
m.Record(gtx.Ops)
|
m.Record(gtx.Ops)
|
||||||
dims := gtx.Layout(cs, w)
|
dims := ctxLayout(gtx, cs, w)
|
||||||
m.Stop()
|
m.Stop()
|
||||||
f.rigidSize += axisMain(f.Axis, dims.Size)
|
f.rigidSize += axisMain(f.Axis, dims.Size)
|
||||||
f.expand(dims)
|
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))
|
cs = axisConstraints(f.Axis, submainc, axisCrossConstraint(f.Axis, cs))
|
||||||
var m op.MacroOp
|
var m op.MacroOp
|
||||||
m.Record(gtx.Ops)
|
m.Record(gtx.Ops)
|
||||||
dims := gtx.Layout(cs, w)
|
dims := ctxLayout(gtx, cs, w)
|
||||||
m.Stop()
|
m.Stop()
|
||||||
f.expand(dims)
|
f.expand(dims)
|
||||||
return FlexChild{m, dims}
|
return FlexChild{m, dims}
|
||||||
|
|||||||
+12
-11
@@ -82,16 +82,17 @@ const (
|
|||||||
Vertical
|
Vertical
|
||||||
)
|
)
|
||||||
|
|
||||||
// Layout a widget with a set of constraints and return its
|
// layout a widget with a set of constraints and return its
|
||||||
// dimensions. The previous constraints are restored after layout.
|
// dimensions. The widget dimensions are constrained abd the previous
|
||||||
func (s *Context) Layout(cs Constraints, w Widget) Dimensions {
|
// constraints are restored after layout.
|
||||||
saved := s.Constraints
|
func ctxLayout(gtx *Context, cs Constraints, w Widget) Dimensions {
|
||||||
s.Constraints = cs
|
saved := gtx.Constraints
|
||||||
s.Dimensions = Dimensions{}
|
gtx.Constraints = cs
|
||||||
|
gtx.Dimensions = Dimensions{}
|
||||||
w()
|
w()
|
||||||
s.Dimensions.Size = cs.Constrain(s.Dimensions.Size)
|
gtx.Dimensions.Size = cs.Constrain(gtx.Dimensions.Size)
|
||||||
s.Constraints = saved
|
gtx.Constraints = saved
|
||||||
return s.Dimensions
|
return gtx.Dimensions
|
||||||
}
|
}
|
||||||
|
|
||||||
// Reset the context. The constraints' minimum and maximum values are
|
// 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
|
var stack op.StackOp
|
||||||
stack.Push(gtx.Ops)
|
stack.Push(gtx.Ops)
|
||||||
op.TransformOp{}.Offset(toPointF(image.Point{X: left, Y: top})).Add(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()
|
stack.Pop()
|
||||||
gtx.Dimensions = Dimensions{
|
gtx.Dimensions = Dimensions{
|
||||||
Size: dims.Size.Add(image.Point{X: right + left, Y: top + bottom}),
|
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 := cs
|
||||||
mcs.Width.Min = 0
|
mcs.Width.Min = 0
|
||||||
mcs.Height.Min = 0
|
mcs.Height.Min = 0
|
||||||
dims := gtx.Layout(mcs, w)
|
dims := ctxLayout(gtx, mcs, w)
|
||||||
macro.Stop()
|
macro.Stop()
|
||||||
sz := dims.Size
|
sz := dims.Size
|
||||||
if sz.X < cs.Width.Min {
|
if sz.X < cs.Width.Min {
|
||||||
|
|||||||
+1
-1
@@ -93,7 +93,7 @@ func (l *List) Layout(gtx *Context, len int, w ListElement) {
|
|||||||
for l.init(gtx, len); l.more(); l.next() {
|
for l.init(gtx, len); l.more(); l.next() {
|
||||||
cs := axisConstraints(l.Axis, Constraint{Max: inf}, axisCrossConstraint(l.Axis, l.ctx.Constraints))
|
cs := axisConstraints(l.Axis, Constraint{Max: inf}, axisCrossConstraint(l.Axis, l.ctx.Constraints))
|
||||||
i := l.index()
|
i := l.index()
|
||||||
l.end(gtx.Layout(cs, func() {
|
l.end(ctxLayout(gtx, cs, func() {
|
||||||
w(i)
|
w(i)
|
||||||
}))
|
}))
|
||||||
}
|
}
|
||||||
|
|||||||
+2
-2
@@ -32,7 +32,7 @@ func (s *Stack) Rigid(gtx *Context, w Widget) StackChild {
|
|||||||
cs.Height.Min = 0
|
cs.Height.Min = 0
|
||||||
var m op.MacroOp
|
var m op.MacroOp
|
||||||
m.Record(gtx.Ops)
|
m.Record(gtx.Ops)
|
||||||
dims := gtx.Layout(cs, w)
|
dims := ctxLayout(gtx, cs, w)
|
||||||
m.Stop()
|
m.Stop()
|
||||||
s.expand(dims)
|
s.expand(dims)
|
||||||
return StackChild{m, 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},
|
Width: Constraint{Min: s.maxSZ.X, Max: gtx.Constraints.Width.Max},
|
||||||
Height: Constraint{Min: s.maxSZ.Y, Max: gtx.Constraints.Height.Max},
|
Height: Constraint{Min: s.maxSZ.Y, Max: gtx.Constraints.Height.Max},
|
||||||
}
|
}
|
||||||
dims := gtx.Layout(cs, w)
|
dims := ctxLayout(gtx, cs, w)
|
||||||
m.Stop()
|
m.Stop()
|
||||||
s.expand(dims)
|
s.expand(dims)
|
||||||
return StackChild{m, dims}
|
return StackChild{m, dims}
|
||||||
|
|||||||
Reference in New Issue
Block a user