ui/draw,ui/layout: export OpClip

Signed-off-by: Elias Naur <mail@eliasnaur.com>
This commit is contained in:
Elias Naur
2019-06-17 16:45:49 +02:00
parent 1765a66fd6
commit d67b7eca6c
3 changed files with 9 additions and 8 deletions
+3 -3
View File
@@ -113,10 +113,10 @@ func (d *OpDraw) Decode(data []byte, refs []interface{}) {
}
}
// RectClip append a clip op corresponding to
// RectClip returns an OpClip op corresponding to
// a pixel aligned rectangular area.
func RectClip(ops *ui.Ops, r image.Rectangle) {
opClip{bounds: toRectF(r)}.Add(ops)
func RectClip(r image.Rectangle) OpClip {
return OpClip{bounds: toRectF(r)}
}
func itof(i int) float32 {
+5 -4
View File
@@ -23,12 +23,13 @@ type PathBuilder struct {
hasBounds bool
}
// opClip structure must match opClip in package ui/internal/gpu.
type opClip struct {
// OpClip structure must match opClip in package ui/internal/gpu.
type OpClip struct {
bounds f32.Rectangle
}
func (p opClip) Add(o *ui.Ops) {
func (p OpClip) Add(o *ui.Ops) {
data := make([]byte, ops.TypeClipLen)
data[0] = byte(ops.TypeClip)
bo := binary.LittleEndian
@@ -277,7 +278,7 @@ func (p *PathBuilder) simpleQuadTo(ctrl, to f32.Point) {
func (p *PathBuilder) End() {
p.end()
opClip{
OpClip{
bounds: p.bounds,
}.Add(p.ops)
}
+1 -1
View File
@@ -180,7 +180,7 @@ func (l *List) Layout() Dimens {
Max: axisPoint(l.Axis, max, ui.Inf),
}
ui.OpPush{}.Add(ops)
draw.RectClip(ops, r)
draw.RectClip(r).Add(ops)
ui.OpTransform{
Transform: ui.Offset(toPointF(axisPoint(l.Axis, pos, cross))),
}.Add(ops)