Documentation ¶
Overview ¶
Package clip provides operations for defining areas that applies to operations such as paints and pointer handlers.
The current clip is initially the infinite set. Pushing an Op sets the clip to the intersection of the current clip and pushed clip area. Popping the area restores the clip to its state before pushing.
General clipping areas are constructed with Path. Common cases such as rectangular clip areas also exist as convenient constructors.
Index ¶
- type Ellipse
- type Op
- type Outline
- type Path
- func (p *Path) Arc(f1, f2 f32.Point, angle float32)
- func (p *Path) ArcTo(f1, f2 f32.Point, angle float32)
- func (p *Path) Begin(o *op.Ops)
- func (p *Path) Close()
- func (p *Path) Cube(ctrl0, ctrl1, to f32.Point)
- func (p *Path) CubeTo(ctrl0, ctrl1, to f32.Point)
- func (p *Path) End() PathSpec
- func (p *Path) Line(delta f32.Point)
- func (p *Path) LineTo(to f32.Point)
- func (p *Path) Move(delta f32.Point)
- func (p *Path) MoveTo(to f32.Point)
- func (p *Path) Pos() f32.Point
- func (p *Path) Quad(ctrl, to f32.Point)
- func (p *Path) QuadTo(ctrl, to f32.Point)
- type PathSpec
- type RRect
- type Rect
- type Stack
- type Stroke
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Ellipse ¶
Ellipse represents the largest axis-aligned ellipse that is contained in its bounds.
type Op ¶
type Op struct {
// contains filtered or unexported fields
}
Op represents a clip area. Op intersects the current clip area with itself.
type Outline ¶
type Outline struct {
Path PathSpec
}
Outline represents the area inside of a path, according to the non-zero winding rule.
type Path ¶
type Path struct {
// contains filtered or unexported fields
}
Path constructs a Op clip path described by lines and Bézier curves, where drawing outside the Path is discarded. The inside-ness of a pixel is determines by the non-zero winding rule, similar to the SVG rule of the same name.
Path generates no garbage and can be used for dynamic paths; path data is stored directly in the Ops list supplied to Begin.
func (*Path) ArcTo ¶
ArcTo adds an elliptical arc to the path. The implied ellipse is defined by its focus points f1 and f2. The arc starts in the current point and ends angle radians along the ellipse boundary. The sign of angle determines the direction; positive being counter-clockwise, negative clockwise.
func (*Path) Begin ¶
Begin the path, storing the path data and final Op into ops.
Caller must also call End to finish the drawing. Forgetting to call it will result in a "panic: cannot mix multi ops with single ones".
func (*Path) Cube ¶
Cube records a cubic Bézier from the pen through two control points ending in to.
func (*Path) CubeTo ¶
CubeTo records a cubic Bézier from the pen through two control points ending in to, with absolute coordinates.
type RRect ¶
RRect represents the clip area of a rectangle with rounded corners.
Specify a square with corner radii equal to half the square size to construct a circular clip area.
func UniformRRect ¶
UniformRRect returns an RRect with all corner radii set to the provided radius.