Documentation ¶
Overview ¶
Package vector provides functions for vector graphics rendering.
This package is under experiments and the API might be changed with breaking backward compatibility.
Index ¶
- func DrawFilledCircle(dst *ebiten.Image, cx, cy, r float32, clr color.Color, antialias bool)
- func DrawFilledRect(dst *ebiten.Image, x, y, width, height float32, clr color.Color, ...)
- func StrokeCircle(dst *ebiten.Image, cx, cy, r float32, strokeWidth float32, clr color.Color, ...)
- func StrokeLine(dst *ebiten.Image, x0, y0, x1, y1 float32, strokeWidth float32, ...)
- func StrokeRect(dst *ebiten.Image, x, y, width, height float32, strokeWidth float32, ...)
- type Direction
- type LineCap
- type LineJoin
- type Path
- func (p *Path) AppendVerticesAndIndicesForFilling(vertices []ebiten.Vertex, indices []uint16) ([]ebiten.Vertex, []uint16)
- func (p *Path) AppendVerticesAndIndicesForStroke(vertices []ebiten.Vertex, indices []uint16, op *StrokeOptions) ([]ebiten.Vertex, []uint16)
- func (p *Path) Arc(x, y, radius, startAngle, endAngle float32, dir Direction)
- func (p *Path) ArcTo(x1, y1, x2, y2, radius float32)
- func (p *Path) Close()
- func (p *Path) CubicTo(x1, y1, x2, y2, x3, y3 float32)
- func (p *Path) LineTo(x, y float32)
- func (p *Path) MoveTo(x, y float32)
- func (p *Path) QuadTo(x1, y1, x2, y2 float32)
- type StrokeOptions
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func DrawFilledCircle ¶
DrawFilledCircle fills a circle with the specified center position (cx, cy), the radius (r), width and color.
func DrawFilledRect ¶
func DrawFilledRect(dst *ebiten.Image, x, y, width, height float32, clr color.Color, antialias bool)
DrawFilledRect fills a rectangle with the specified width and color.
func StrokeCircle ¶
func StrokeCircle(dst *ebiten.Image, cx, cy, r float32, strokeWidth float32, clr color.Color, antialias bool)
StrokeCircle strokes a circle with the specified center position (cx, cy), the radius (r), width and color.
clr has be to be a solid (non-transparent) color.
Types ¶
type LineCap ¶
type LineCap int
LineCap represents the way in which how the ends of the stroke are rendered.
type Path ¶
type Path struct {
// contains filtered or unexported fields
}
Path represents a collection of path subpathments.
func (*Path) AppendVerticesAndIndicesForFilling ¶
func (p *Path) AppendVerticesAndIndicesForFilling(vertices []ebiten.Vertex, indices []uint16) ([]ebiten.Vertex, []uint16)
AppendVerticesAndIndicesForFilling appends vertices and indices to fill this path and returns them. AppendVerticesAndIndicesForFilling works in a similar way to the built-in append function. If the arguments are nils, AppendVerticesAndIndicesForFilling returns new slices.
The returned vertice's SrcX and SrcY are 0, and ColorR, ColorG, ColorB, and ColorA are 1.
The returned values are intended to be passed to DrawTriangles or DrawTrianglesShader with the EvenOdd fill rule in order to render a complex polygon like a concave polygon, a polygon with holes, or a self-intersecting polygon.
The returned vertices and indices should be rendered with a solid (non-transparent) color with the default Blend (source-over). Otherwise, there is no guarantee about the rendering result.
func (*Path) AppendVerticesAndIndicesForStroke ¶
func (p *Path) AppendVerticesAndIndicesForStroke(vertices []ebiten.Vertex, indices []uint16, op *StrokeOptions) ([]ebiten.Vertex, []uint16)
AppendVerticesAndIndicesForStroke appends vertices and indices to render a stroke of this path and returns them. AppendVerticesAndIndicesForStroke works in a similar way to the built-in append function. If the arguments are nils, AppendVerticesAndIndicesForStroke returns new slices.
The returned vertice's SrcX and SrcY are 0, and ColorR, ColorG, ColorB, and ColorA are 1.
The returned values are intended to be passed to DrawTriangles or DrawTrianglesShader with a solid (non-transparent) color with the FillAll fill rule (not the EvenOdd fill rule).
func (*Path) ArcTo ¶
ArcTo adds an arc curve to the path. (x1, y1) is the first control point, and (x2, y2) is the second control point.
func (*Path) Close ¶
func (p *Path) Close()
Close adds a new line from the last position of the current subpath to the first position of the current subpath, and marks the current subpath closed. Following operations for this path will start with a new subpath.
func (*Path) CubicTo ¶
CubicTo adds a cubic Bézier curve to the path. (x1, y1) and (x2, y2) are the control points, and (x3, y3) is the destination.
func (*Path) LineTo ¶
LineTo adds a line segument to the path, which starts from the last position of the current subpath and ends to the given position (x, y). If p doesn't have any subpaths or the last subpath is closed, LineTo sets (x, y) as the start position of a new subpath.
type StrokeOptions ¶
type StrokeOptions struct { // Width is the stroke width in pixels. // // The default (zero) value is 0. Width float32 // LineCap is the way in which how the ends of the stroke are rendered. // Line caps are not rendered when the subpath is marked as closed. // // The default (zero) value is LineCapButt. LineCap LineCap // LineJoin is the way in which how two segments are joined. // // The default (zero) value is LineJoiMiter. LineJoin LineJoin // MiterLimit is the miter limit for LineJoinMiter. // For details, see https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/stroke-miterlimit. // // The default (zero) value is 0. MiterLimit float32 }
StrokeOptions is options to render a stroke.