op/clip: remove Op.Add

The Add method was a compatibility stop-gap.

API change. Use clip.Op.Push and Pop the return value to explicitly mark
the region affected by the clip operation.

Signed-off-by: Elias Naur <mail@eliasnaur.com>
This commit is contained in:
Elias Naur
2021-10-24 14:04:03 +02:00
parent 9cf7cc75f4
commit e14e33b87e
5 changed files with 8 additions and 58 deletions
+2 -12
View File
@@ -41,18 +41,11 @@ func init() {
// state to the intersection of the current p.
func (p Op) Push(o *op.Ops) Stack {
id, macroID := ops.PushOp(&o.Internal, ops.ClipStack)
p.add(o, true)
p.add(o)
return Stack{ops: &o.Internal, id: id, macroID: macroID}
}
// Add is like Push except it doesn't save the current state on the stack.
//
// Deprecated: use Push instead.
func (p Op) Add(o *op.Ops) {
p.add(o, false)
}
func (p Op) add(o *op.Ops, push bool) {
func (p Op) add(o *op.Ops) {
path := p.path
outline := p.outline
@@ -87,9 +80,6 @@ func (p Op) add(o *op.Ops, push bool) {
if outline {
data[17] = byte(1)
}
if push {
data[18] = byte(1)
}
}
func (s Stack) Pop() {
-21
View File
@@ -28,13 +28,6 @@ func (r Rect) Push(ops *op.Ops) Stack {
return r.Op().Push(ops)
}
// Add the rectangle clip to the clip state.
//
// Deprecated: use Push instead.
func (r Rect) Add(ops *op.Ops) {
r.Op().Add(ops)
}
// UniformRRect returns an RRect with all corner radii set to the
// provided radius.
func UniformRRect(rect f32.Rectangle, radius float32) RRect {
@@ -78,13 +71,6 @@ func (rr RRect) Push(ops *op.Ops) Stack {
return rr.Op(ops).Push(ops)
}
// Add the rectangle clip to the clip state.
//
// Deprecated: use Push instead.
func (rr RRect) Add(ops *op.Ops) {
rr.Op(ops).Add(ops)
}
// Path returns the PathSpec for the rounded rectangle.
func (rr RRect) Path(ops *op.Ops) PathSpec {
var p Path
@@ -138,13 +124,6 @@ func (c Circle) Push(ops *op.Ops) Stack {
return c.Op(ops).Push(ops)
}
// Add the circle clip to the clip state.
//
// Deprecated: use Push instead.
func (c Circle) Add(ops *op.Ops) {
c.Op(ops).Add(ops)
}
// Path returns the PathSpec for the circle.
func (c Circle) Path(ops *op.Ops) PathSpec {
var p Path