mirror of
https://git.sr.ht/~eliasnaur/gio
synced 2026-07-06 18:05:35 +00:00
op/clip: export Op method of clip shapes
This allows passing the resulting clip.Op types into functions that draw shapes. Signed-off-by: Chris Waldon <christopher.waldon.dev@gmail.com>
This commit is contained in:
+6
-1
@@ -324,7 +324,12 @@ func (p *Path) End() Op {
|
|||||||
// Rect represents the clip area of a pixel-aligned rectangle.
|
// Rect represents the clip area of a pixel-aligned rectangle.
|
||||||
type Rect image.Rectangle
|
type Rect image.Rectangle
|
||||||
|
|
||||||
|
// Op returns the op for the rectangle.
|
||||||
|
func (r Rect) Op(ops *op.Ops) Op {
|
||||||
|
return Op{bounds: image.Rectangle(r)}
|
||||||
|
}
|
||||||
|
|
||||||
// Add the clip operation.
|
// Add the clip operation.
|
||||||
func (r Rect) Add(ops *op.Ops) {
|
func (r Rect) Add(ops *op.Ops) {
|
||||||
Op{bounds: image.Rectangle(r)}.Add(ops)
|
r.Op(ops).Add(ops)
|
||||||
}
|
}
|
||||||
|
|||||||
+6
-5
@@ -18,8 +18,8 @@ type RRect struct {
|
|||||||
SE, SW, NW, NE float32
|
SE, SW, NW, NE float32
|
||||||
}
|
}
|
||||||
|
|
||||||
// op returns the op for the rectangle.
|
// Op returns the op for the rounded rectangle.
|
||||||
func (rr RRect) op(ops *op.Ops) Op {
|
func (rr RRect) Op(ops *op.Ops) Op {
|
||||||
var p Path
|
var p Path
|
||||||
p.Begin(ops)
|
p.Begin(ops)
|
||||||
p.Move(rr.Rect.Min)
|
p.Move(rr.Rect.Min)
|
||||||
@@ -29,7 +29,7 @@ func (rr RRect) op(ops *op.Ops) Op {
|
|||||||
|
|
||||||
// Add the rectangle clip.
|
// Add the rectangle clip.
|
||||||
func (rr RRect) Add(ops *op.Ops) {
|
func (rr RRect) Add(ops *op.Ops) {
|
||||||
rr.op(ops).Add(ops)
|
rr.Op(ops).Add(ops)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Border represents the clip area of a rectangular border.
|
// Border represents the clip area of a rectangular border.
|
||||||
@@ -41,7 +41,8 @@ type Border struct {
|
|||||||
SE, SW, NW, NE float32
|
SE, SW, NW, NE float32
|
||||||
}
|
}
|
||||||
|
|
||||||
func (b Border) op(ops *op.Ops) Op {
|
// Op returns the Op for the border.
|
||||||
|
func (b Border) Op(ops *op.Ops) Op {
|
||||||
var p Path
|
var p Path
|
||||||
p.Begin(ops)
|
p.Begin(ops)
|
||||||
w := b.Width
|
w := b.Width
|
||||||
@@ -65,7 +66,7 @@ func (b Border) op(ops *op.Ops) Op {
|
|||||||
|
|
||||||
// Add the border clip.
|
// Add the border clip.
|
||||||
func (rr Border) Add(ops *op.Ops) {
|
func (rr Border) Add(ops *op.Ops) {
|
||||||
rr.op(ops).Add(ops)
|
rr.Op(ops).Add(ops)
|
||||||
}
|
}
|
||||||
|
|
||||||
// roundRect adds the outline of a rectangle with rounded corners to a
|
// roundRect adds the outline of a rectangle with rounded corners to a
|
||||||
|
|||||||
Reference in New Issue
Block a user