Documentation
¶
Overview ¶
The package draw2d provide a Graphic Context that can draw vectorial figure on surface.
Index ¶
- Constants
- Variables
- func Circle(path Path, cx, cy, radius float64)
- func DrawImage(src image.Image, dest draw.Image, tr MatrixTransform, op draw.Op, ...)
- func Ellipse(path Path, cx, cy, rx, ry float64)
- func GetFont(fontData FontData) *truetype.Font
- func GetFontFolder() string
- func Rect(path Path, x1, y1, x2, y2 float64)
- func RegisterFont(fontData FontData, font *truetype.Font)
- func RoundRect(path Path, x1, y1, x2, y2, arcWidth, arcHeight float64)
- func SetFontFolder(folder string)
- type Cap
- type ContextStack
- type DashVertexConverter
- type DemuxConverter
- type FillRule
- type FontData
- type FontFamily
- type FontStyle
- type GraphicContext
- type ImageFilter
- type ImageGraphicContext
- func (gc *ImageGraphicContext) Clear()
- func (gc *ImageGraphicContext) ClearRect(x1, y1, x2, y2 int)
- func (gc *ImageGraphicContext) DrawImage(img image.Image)
- func (gc *ImageGraphicContext) Fill(paths ...*PathStorage)
- func (gc *ImageGraphicContext) FillString(text string) (cursor float64)
- func (gc *ImageGraphicContext) FillStroke(paths ...*PathStorage)
- func (gc *ImageGraphicContext) GetDPI() int
- func (gc *ImageGraphicContext) SetDPI(dpi int)
- func (gc *ImageGraphicContext) Stroke(paths ...*PathStorage)
- type Join
- type LineStroker
- type MatrixTransform
- func (tr MatrixTransform) Determinant() float64
- func (tr1 MatrixTransform) Equals(tr2 MatrixTransform) bool
- func (tr MatrixTransform) GetInverseTransformation() MatrixTransform
- func (tr MatrixTransform) GetMaxAbsScaling() (s float64)
- func (tr MatrixTransform) GetMinAbsScaling() (s float64)
- func (tr MatrixTransform) GetScale() float64
- func (tr MatrixTransform) GetScaling() (x, y float64)
- func (tr MatrixTransform) GetTranslation() (x, y float64)
- func (tr MatrixTransform) InverseTransform(points ...*float64)
- func (tr MatrixTransform) IsIdentity() bool
- func (tr MatrixTransform) IsTranslation() bool
- func (tr1 MatrixTransform) Multiply(tr2 MatrixTransform) MatrixTransform
- func (tr *MatrixTransform) Rotate(angle float64) *MatrixTransform
- func (tr *MatrixTransform) Scale(sx, sy float64) *MatrixTransform
- func (tr MatrixTransform) Transform(points ...*float64)
- func (tr MatrixTransform) TransformArray(points []float64)
- func (tr MatrixTransform) TransformRasterPoint(points ...*raster.Point)
- func (tr MatrixTransform) TransformRectangle(x0, y0, x2, y2 *float64)
- func (tr *MatrixTransform) Translate(tx, ty float64) *MatrixTransform
- func (tr MatrixTransform) VectorTransform(points ...*float64)
- type MatrixTransformAdder
- type Painter
- type Path
- type PathAdder
- type PathCmd
- type PathConverter
- func (c *PathConverter) ArcTo(cx, cy, rx, ry, startAngle, angle float64) *PathConverter
- func (c *PathConverter) Close() *PathConverter
- func (c *PathConverter) Convert(paths ...*PathStorage)
- func (c *PathConverter) ConvertCommand(cmd PathCmd, vertices ...float64) int
- func (c *PathConverter) CubicCurveTo(cx1, cy1, cx2, cy2, x, y float64) *PathConverter
- func (c *PathConverter) LineTo(x, y float64) *PathConverter
- func (c *PathConverter) MoveTo(x, y float64) *PathConverter
- func (c *PathConverter) QuadCurveTo(cx, cy, x, y float64) *PathConverter
- func (c *PathConverter) RArcTo(dcx, dcy, rx, ry, startAngle, angle float64) *PathConverter
- func (c *PathConverter) RCubicCurveTo(dcx1, dcy1, dcx2, dcy2, dx, dy float64) *PathConverter
- func (c *PathConverter) RLineTo(dx, dy float64) *PathConverter
- func (c *PathConverter) RMoveTo(dx, dy float64) *PathConverter
- func (c *PathConverter) RQuadCurveTo(dcx, dcy, dx, dy float64) *PathConverter
- type PathStorage
- func (p *PathStorage) ArcTo(cx, cy, rx, ry, startAngle, angle float64) *PathStorage
- func (p *PathStorage) Clear()
- func (p *PathStorage) Close() *PathStorage
- func (src *PathStorage) Copy() (dest *PathStorage)
- func (p *PathStorage) CubicCurveTo(cx1, cy1, cx2, cy2, x, y float64) *PathStorage
- func (p *PathStorage) IsEmpty() bool
- func (p *PathStorage) LastPoint() (x, y float64)
- func (p *PathStorage) LineTo(x, y float64) *PathStorage
- func (p *PathStorage) MoveTo(x, y float64) *PathStorage
- func (p *PathStorage) QuadCurveTo(cx, cy, x, y float64) *PathStorage
- func (p *PathStorage) RArcTo(dcx, dcy, rx, ry, startAngle, angle float64) *PathStorage
- func (p *PathStorage) RCubicCurveTo(dcx1, dcy1, dcx2, dcy2, dx, dy float64) *PathStorage
- func (p *PathStorage) RLineTo(dx, dy float64) *PathStorage
- func (p *PathStorage) RMoveTo(dx, dy float64) *PathStorage
- func (p *PathStorage) RQuadCurveTo(dcx, dcy, dx, dy float64) *PathStorage
- func (p *PathStorage) String() string
- type StackGraphicContext
- func (gc *StackGraphicContext) ArcTo(cx, cy, rx, ry, startAngle, angle float64)
- func (gc *StackGraphicContext) BeginPath()
- func (gc *StackGraphicContext) Close()
- func (gc *StackGraphicContext) ComposeMatrixTransform(Tr MatrixTransform)
- func (gc *StackGraphicContext) CubicCurveTo(cx1, cy1, cx2, cy2, x, y float64)
- func (gc *StackGraphicContext) GetFontData() FontData
- func (gc *StackGraphicContext) GetFontSize() float64
- func (gc *StackGraphicContext) GetMatrixTransform() MatrixTransform
- func (gc *StackGraphicContext) IsEmpty() bool
- func (gc *StackGraphicContext) LastPoint() (float64, float64)
- func (gc *StackGraphicContext) LineTo(x, y float64)
- func (gc *StackGraphicContext) MoveTo(x, y float64)
- func (gc *StackGraphicContext) QuadCurveTo(cx, cy, x, y float64)
- func (gc *StackGraphicContext) RArcTo(dcx, dcy, rx, ry, startAngle, angle float64)
- func (gc *StackGraphicContext) RCubicCurveTo(dcx1, dcy1, dcx2, dcy2, dx, dy float64)
- func (gc *StackGraphicContext) RLineTo(dx, dy float64)
- func (gc *StackGraphicContext) RMoveTo(dx, dy float64)
- func (gc *StackGraphicContext) RQuadCurveTo(dcx, dcy, dx, dy float64)
- func (gc *StackGraphicContext) Restore()
- func (gc *StackGraphicContext) Rotate(angle float64)
- func (gc *StackGraphicContext) Save()
- func (gc *StackGraphicContext) Scale(sx, sy float64)
- func (gc *StackGraphicContext) SetFillColor(c color.Color)
- func (gc *StackGraphicContext) SetFillRule(f FillRule)
- func (gc *StackGraphicContext) SetFontData(FontData FontData)
- func (gc *StackGraphicContext) SetFontSize(FontSize float64)
- func (gc *StackGraphicContext) SetLineCap(Cap Cap)
- func (gc *StackGraphicContext) SetLineDash(Dash []float64, DashOffset float64)
- func (gc *StackGraphicContext) SetLineJoin(Join Join)
- func (gc *StackGraphicContext) SetLineWidth(LineWidth float64)
- func (gc *StackGraphicContext) SetMatrixTransform(Tr MatrixTransform)
- func (gc *StackGraphicContext) SetStrokeColor(c color.Color)
- func (gc *StackGraphicContext) Translate(tx, ty float64)
- type VertexAdder
- type VertexCommand
- type VertexConverter
- type VertexMatrixTransform
Constants ¶
View Source
const M = 1<<16 - 1
Variables ¶
View Source
var ( CurveRecursionLimit = 32 CurveCollinearityEpsilon = 1e-30 CurveAngleToleranceEpsilon = 0.01 )
Functions ¶
func DrawImage ¶
func DrawImage(src image.Image, dest draw.Image, tr MatrixTransform, op draw.Op, filter ImageFilter)
func GetFontFolder ¶
func GetFontFolder() string
func RegisterFont ¶
func SetFontFolder ¶
func SetFontFolder(folder string)
Types ¶
type ContextStack ¶
type DashVertexConverter ¶
type DashVertexConverter struct {
// contains filtered or unexported fields
}
func NewDashConverter ¶
func NewDashConverter(dash []float64, dashOffset float64, converter VertexConverter) *DashVertexConverter
func (*DashVertexConverter) NextCommand ¶
func (dasher *DashVertexConverter) NextCommand(cmd VertexCommand)
func (*DashVertexConverter) Vertex ¶
func (dasher *DashVertexConverter) Vertex(x, y float64)
type DemuxConverter ¶
type DemuxConverter struct {
// contains filtered or unexported fields
}
func NewDemuxConverter ¶
func NewDemuxConverter(converters ...VertexConverter) *DemuxConverter
func (*DemuxConverter) NextCommand ¶
func (dc *DemuxConverter) NextCommand(cmd VertexCommand)
func (*DemuxConverter) Vertex ¶
func (dc *DemuxConverter) Vertex(x, y float64)
type FontData ¶
type FontData struct { Name string Family FontFamily Style FontStyle }
type FontFamily ¶
type FontFamily byte
const ( FontFamilySans FontFamily = iota FontFamilySerif FontFamilyMono )
type GraphicContext ¶
type GraphicContext interface { Path // Create a new path BeginPath() GetMatrixTransform() MatrixTransform SetMatrixTransform(tr MatrixTransform) ComposeMatrixTransform(tr MatrixTransform) Rotate(angle float64) Translate(tx, ty float64) Scale(sx, sy float64) SetStrokeColor(c color.Color) SetFillColor(c color.Color) SetFillRule(f FillRule) SetLineWidth(lineWidth float64) SetLineCap(cap Cap) SetLineJoin(join Join) SetLineDash(dash []float64, dashOffset float64) SetFontSize(fontSize float64) GetFontSize() float64 SetFontData(fontData FontData) GetFontData() FontData DrawImage(image image.Image) Save() Restore() Clear() ClearRect(x1, y1, x2, y2 int) SetDPI(dpi int) GetDPI() int FillString(text string) (cursor float64) Stroke(paths ...*PathStorage) Fill(paths ...*PathStorage) FillStroke(paths ...*PathStorage) }
type ImageFilter ¶
type ImageFilter int
const ( LinearFilter ImageFilter = iota BilinearFilter BicubicFilter )
type ImageGraphicContext ¶
type ImageGraphicContext struct { *StackGraphicContext DPI int // contains filtered or unexported fields }
func NewGraphicContext ¶
func NewGraphicContext(img draw.Image) *ImageGraphicContext
*
- Create a new Graphic context from an image
func NewGraphicContextWithPainter ¶
func NewGraphicContextWithPainter(img draw.Image, painter Painter) *ImageGraphicContext
Create a new Graphic context from an image and a Painter (see Freetype-go)
func (*ImageGraphicContext) Clear ¶
func (gc *ImageGraphicContext) Clear()
func (*ImageGraphicContext) ClearRect ¶
func (gc *ImageGraphicContext) ClearRect(x1, y1, x2, y2 int)
func (*ImageGraphicContext) DrawImage ¶
func (gc *ImageGraphicContext) DrawImage(img image.Image)
func (*ImageGraphicContext) Fill ¶
func (gc *ImageGraphicContext) Fill(paths ...*PathStorage)
*** second method ***
func (*ImageGraphicContext) FillString ¶
func (gc *ImageGraphicContext) FillString(text string) (cursor float64)
func (*ImageGraphicContext) FillStroke ¶
func (gc *ImageGraphicContext) FillStroke(paths ...*PathStorage)
second method
func (*ImageGraphicContext) GetDPI ¶
func (gc *ImageGraphicContext) GetDPI() int
func (*ImageGraphicContext) SetDPI ¶
func (gc *ImageGraphicContext) SetDPI(dpi int)
func (*ImageGraphicContext) Stroke ¶
func (gc *ImageGraphicContext) Stroke(paths ...*PathStorage)
*** second method ***
type LineStroker ¶
type LineStroker struct { Next VertexConverter HalfLineWidth float64 Cap Cap Join Join // contains filtered or unexported fields }
func NewLineStroker ¶
func NewLineStroker(c Cap, j Join, converter VertexConverter) *LineStroker
func (*LineStroker) NextCommand ¶
func (l *LineStroker) NextCommand(command VertexCommand)
func (*LineStroker) Vertex ¶
func (l *LineStroker) Vertex(x, y float64)
type MatrixTransform ¶
type MatrixTransform [6]float64
func NewIdentityMatrix ¶
func NewIdentityMatrix() MatrixTransform
* Creates an identity transformation.
func NewMatrixTransform ¶
func NewMatrixTransform(rectangle1, rectangle2 [4]float64) MatrixTransform
*
- Creates a transformation, combining a scale and a translation, that transform rectangle1 into rectangle2.
func NewRotationMatrix ¶
func NewRotationMatrix(angle float64) MatrixTransform
*
- Creates a rotation transformation.
func NewScaleMatrix ¶
func NewScaleMatrix(sx, sy float64) MatrixTransform
*
- Creates a transformation with a sx, sy scale factor
func NewTranslationMatrix ¶
func NewTranslationMatrix(tx, ty float64) MatrixTransform
*
- Creates a transformation with a translation, that,
- transform point1 into point2.
func (MatrixTransform) Determinant ¶
func (tr MatrixTransform) Determinant() float64
func (MatrixTransform) Equals ¶
func (tr1 MatrixTransform) Equals(tr2 MatrixTransform) bool
*
- Tests if a two transformation are equal. A tolerance is applied when
- comparing matrix elements.
func (MatrixTransform) GetInverseTransformation ¶
func (tr MatrixTransform) GetInverseTransformation() MatrixTransform
*
- Returns a transformation that is the inverse of the given transformation.
func (MatrixTransform) GetMaxAbsScaling ¶
func (tr MatrixTransform) GetMaxAbsScaling() (s float64)
func (MatrixTransform) GetMinAbsScaling ¶
func (tr MatrixTransform) GetMinAbsScaling() (s float64)
func (MatrixTransform) GetScale ¶
func (tr MatrixTransform) GetScale() float64
func (MatrixTransform) GetScaling ¶
func (tr MatrixTransform) GetScaling() (x, y float64)
func (MatrixTransform) GetTranslation ¶
func (tr MatrixTransform) GetTranslation() (x, y float64)
func (MatrixTransform) InverseTransform ¶
func (tr MatrixTransform) InverseTransform(points ...*float64)
func (MatrixTransform) IsIdentity ¶
func (tr MatrixTransform) IsIdentity() bool
*
- Tests if a transformation is the identity transformation. A tolerance
- is applied when comparing matrix elements.
func (MatrixTransform) IsTranslation ¶
func (tr MatrixTransform) IsTranslation() bool
*
- Tests if a transformation is is a pure translation. A tolerance
- is applied when comparing matrix elements.
func (MatrixTransform) Multiply ¶
func (tr1 MatrixTransform) Multiply(tr2 MatrixTransform) MatrixTransform
func (*MatrixTransform) Rotate ¶
func (tr *MatrixTransform) Rotate(angle float64) *MatrixTransform
func (*MatrixTransform) Scale ¶
func (tr *MatrixTransform) Scale(sx, sy float64) *MatrixTransform
func (MatrixTransform) Transform ¶
func (tr MatrixTransform) Transform(points ...*float64)
func (MatrixTransform) TransformArray ¶
func (tr MatrixTransform) TransformArray(points []float64)
func (MatrixTransform) TransformRasterPoint ¶
func (tr MatrixTransform) TransformRasterPoint(points ...*raster.Point)
func (MatrixTransform) TransformRectangle ¶
func (tr MatrixTransform) TransformRectangle(x0, y0, x2, y2 *float64)
func (*MatrixTransform) Translate ¶
func (tr *MatrixTransform) Translate(tx, ty float64) *MatrixTransform
func (MatrixTransform) VectorTransform ¶
func (tr MatrixTransform) VectorTransform(points ...*float64)
type MatrixTransformAdder ¶
type MatrixTransformAdder struct {
// contains filtered or unexported fields
}
this adder apply a Matrix transformation to points
func NewMatrixTransformAdder ¶
func NewMatrixTransformAdder(tr MatrixTransform, adder raster.Adder) *MatrixTransformAdder
func (MatrixTransformAdder) Add1 ¶
func (mta MatrixTransformAdder) Add1(b raster.Point)
Add1 adds a linear segment to the current curve.
func (MatrixTransformAdder) Add2 ¶
func (mta MatrixTransformAdder) Add2(b, c raster.Point)
Add2 adds a quadratic segment to the current curve.
func (MatrixTransformAdder) Add3 ¶
func (mta MatrixTransformAdder) Add3(b, c, d raster.Point)
Add3 adds a cubic segment to the current curve.
func (MatrixTransformAdder) Start ¶
func (mta MatrixTransformAdder) Start(a raster.Point)
Start starts a new curve at the given point.
type Path ¶
type Path interface { // Return the current point of the path LastPoint() (x, y float64) // Create a new subpath that start at the specified point MoveTo(x, y float64) // Create a new subpath that start at the specified point // relative to the current point RMoveTo(dx, dy float64) // Add a line to the current subpath LineTo(x, y float64) // Add a line to the current subpath // relative to the current point RLineTo(dx, dy float64) QuadCurveTo(cx, cy, x, y float64) RQuadCurveTo(dcx, dcy, dx, dy float64) CubicCurveTo(cx1, cy1, cx2, cy2, x, y float64) RCubicCurveTo(dcx1, dcy1, dcx2, dcy2, dx, dy float64) ArcTo(cx, cy, rx, ry, startAngle, angle float64) RArcTo(dcx, dcy, rx, ry, startAngle, angle float64) Close() }
type PathAdder ¶
type PathAdder struct { ApproximationScale float64 // contains filtered or unexported fields }
func NewPathAdder ¶
func (*PathAdder) Convert ¶
func (pathAdder *PathAdder) Convert(paths ...*PathStorage)
type PathConverter ¶
type PathConverter struct {
ApproximationScale, AngleTolerance, CuspLimit float64
// contains filtered or unexported fields
}
func NewPathConverter ¶
func NewPathConverter(converter VertexConverter) *PathConverter
func (*PathConverter) ArcTo ¶
func (c *PathConverter) ArcTo(cx, cy, rx, ry, startAngle, angle float64) *PathConverter
func (*PathConverter) Close ¶
func (c *PathConverter) Close() *PathConverter
func (*PathConverter) Convert ¶
func (c *PathConverter) Convert(paths ...*PathStorage)
func (*PathConverter) ConvertCommand ¶
func (c *PathConverter) ConvertCommand(cmd PathCmd, vertices ...float64) int
func (*PathConverter) CubicCurveTo ¶
func (c *PathConverter) CubicCurveTo(cx1, cy1, cx2, cy2, x, y float64) *PathConverter
func (*PathConverter) LineTo ¶
func (c *PathConverter) LineTo(x, y float64) *PathConverter
func (*PathConverter) MoveTo ¶
func (c *PathConverter) MoveTo(x, y float64) *PathConverter
func (*PathConverter) QuadCurveTo ¶
func (c *PathConverter) QuadCurveTo(cx, cy, x, y float64) *PathConverter
func (*PathConverter) RArcTo ¶
func (c *PathConverter) RArcTo(dcx, dcy, rx, ry, startAngle, angle float64) *PathConverter
func (*PathConverter) RCubicCurveTo ¶
func (c *PathConverter) RCubicCurveTo(dcx1, dcy1, dcx2, dcy2, dx, dy float64) *PathConverter
func (*PathConverter) RLineTo ¶
func (c *PathConverter) RLineTo(dx, dy float64) *PathConverter
func (*PathConverter) RMoveTo ¶
func (c *PathConverter) RMoveTo(dx, dy float64) *PathConverter
func (*PathConverter) RQuadCurveTo ¶
func (c *PathConverter) RQuadCurveTo(dcx, dcy, dx, dy float64) *PathConverter
type PathStorage ¶
type PathStorage struct {
// contains filtered or unexported fields
}
func NewPathStorage ¶
func NewPathStorage() (p *PathStorage)
func (*PathStorage) ArcTo ¶
func (p *PathStorage) ArcTo(cx, cy, rx, ry, startAngle, angle float64) *PathStorage
func (*PathStorage) Clear ¶
func (p *PathStorage) Clear()
func (*PathStorage) Close ¶
func (p *PathStorage) Close() *PathStorage
func (*PathStorage) Copy ¶
func (src *PathStorage) Copy() (dest *PathStorage)
func (*PathStorage) CubicCurveTo ¶
func (p *PathStorage) CubicCurveTo(cx1, cy1, cx2, cy2, x, y float64) *PathStorage
func (*PathStorage) IsEmpty ¶
func (p *PathStorage) IsEmpty() bool
func (*PathStorage) LastPoint ¶
func (p *PathStorage) LastPoint() (x, y float64)
func (*PathStorage) LineTo ¶
func (p *PathStorage) LineTo(x, y float64) *PathStorage
func (*PathStorage) MoveTo ¶
func (p *PathStorage) MoveTo(x, y float64) *PathStorage
func (*PathStorage) QuadCurveTo ¶
func (p *PathStorage) QuadCurveTo(cx, cy, x, y float64) *PathStorage
func (*PathStorage) RArcTo ¶
func (p *PathStorage) RArcTo(dcx, dcy, rx, ry, startAngle, angle float64) *PathStorage
func (*PathStorage) RCubicCurveTo ¶
func (p *PathStorage) RCubicCurveTo(dcx1, dcy1, dcx2, dcy2, dx, dy float64) *PathStorage
func (*PathStorage) RLineTo ¶
func (p *PathStorage) RLineTo(dx, dy float64) *PathStorage
func (*PathStorage) RMoveTo ¶
func (p *PathStorage) RMoveTo(dx, dy float64) *PathStorage
func (*PathStorage) RQuadCurveTo ¶
func (p *PathStorage) RQuadCurveTo(dcx, dcy, dx, dy float64) *PathStorage
func (*PathStorage) String ¶
func (p *PathStorage) String() string
type StackGraphicContext ¶
type StackGraphicContext struct {
Current *ContextStack
}
func NewStackGraphicContext ¶
func NewStackGraphicContext() *StackGraphicContext
*
- Create a new Graphic context from an image
func (*StackGraphicContext) ArcTo ¶
func (gc *StackGraphicContext) ArcTo(cx, cy, rx, ry, startAngle, angle float64)
func (*StackGraphicContext) BeginPath ¶
func (gc *StackGraphicContext) BeginPath()
func (*StackGraphicContext) Close ¶
func (gc *StackGraphicContext) Close()
func (*StackGraphicContext) ComposeMatrixTransform ¶
func (gc *StackGraphicContext) ComposeMatrixTransform(Tr MatrixTransform)
func (*StackGraphicContext) CubicCurveTo ¶
func (gc *StackGraphicContext) CubicCurveTo(cx1, cy1, cx2, cy2, x, y float64)
func (*StackGraphicContext) GetFontData ¶
func (gc *StackGraphicContext) GetFontData() FontData
func (*StackGraphicContext) GetFontSize ¶
func (gc *StackGraphicContext) GetFontSize() float64
func (*StackGraphicContext) GetMatrixTransform ¶
func (gc *StackGraphicContext) GetMatrixTransform() MatrixTransform
func (*StackGraphicContext) IsEmpty ¶
func (gc *StackGraphicContext) IsEmpty() bool
func (*StackGraphicContext) LastPoint ¶
func (gc *StackGraphicContext) LastPoint() (float64, float64)
func (*StackGraphicContext) LineTo ¶
func (gc *StackGraphicContext) LineTo(x, y float64)
func (*StackGraphicContext) MoveTo ¶
func (gc *StackGraphicContext) MoveTo(x, y float64)
func (*StackGraphicContext) QuadCurveTo ¶
func (gc *StackGraphicContext) QuadCurveTo(cx, cy, x, y float64)
func (*StackGraphicContext) RArcTo ¶
func (gc *StackGraphicContext) RArcTo(dcx, dcy, rx, ry, startAngle, angle float64)
func (*StackGraphicContext) RCubicCurveTo ¶
func (gc *StackGraphicContext) RCubicCurveTo(dcx1, dcy1, dcx2, dcy2, dx, dy float64)
func (*StackGraphicContext) RLineTo ¶
func (gc *StackGraphicContext) RLineTo(dx, dy float64)
func (*StackGraphicContext) RMoveTo ¶
func (gc *StackGraphicContext) RMoveTo(dx, dy float64)
func (*StackGraphicContext) RQuadCurveTo ¶
func (gc *StackGraphicContext) RQuadCurveTo(dcx, dcy, dx, dy float64)
func (*StackGraphicContext) Restore ¶
func (gc *StackGraphicContext) Restore()
func (*StackGraphicContext) Rotate ¶
func (gc *StackGraphicContext) Rotate(angle float64)
func (*StackGraphicContext) Save ¶
func (gc *StackGraphicContext) Save()
func (*StackGraphicContext) Scale ¶
func (gc *StackGraphicContext) Scale(sx, sy float64)
func (*StackGraphicContext) SetFillColor ¶
func (gc *StackGraphicContext) SetFillColor(c color.Color)
func (*StackGraphicContext) SetFillRule ¶
func (gc *StackGraphicContext) SetFillRule(f FillRule)
func (*StackGraphicContext) SetFontData ¶
func (gc *StackGraphicContext) SetFontData(FontData FontData)
func (*StackGraphicContext) SetFontSize ¶
func (gc *StackGraphicContext) SetFontSize(FontSize float64)
func (*StackGraphicContext) SetLineCap ¶
func (gc *StackGraphicContext) SetLineCap(Cap Cap)
func (*StackGraphicContext) SetLineDash ¶
func (gc *StackGraphicContext) SetLineDash(Dash []float64, DashOffset float64)
func (*StackGraphicContext) SetLineJoin ¶
func (gc *StackGraphicContext) SetLineJoin(Join Join)
func (*StackGraphicContext) SetLineWidth ¶
func (gc *StackGraphicContext) SetLineWidth(LineWidth float64)
func (*StackGraphicContext) SetMatrixTransform ¶
func (gc *StackGraphicContext) SetMatrixTransform(Tr MatrixTransform)
func (*StackGraphicContext) SetStrokeColor ¶
func (gc *StackGraphicContext) SetStrokeColor(c color.Color)
func (*StackGraphicContext) Translate ¶
func (gc *StackGraphicContext) Translate(tx, ty float64)
type VertexAdder ¶
type VertexAdder struct {
// contains filtered or unexported fields
}
func NewVertexAdder ¶
func NewVertexAdder(adder raster.Adder) *VertexAdder
func (*VertexAdder) NextCommand ¶
func (vertexAdder *VertexAdder) NextCommand(cmd VertexCommand)
func (*VertexAdder) Vertex ¶
func (vertexAdder *VertexAdder) Vertex(x, y float64)
type VertexCommand ¶
type VertexCommand byte
const ( VertexNoCommand VertexCommand = iota VertexStartCommand VertexJoinCommand VertexCloseCommand VertexStopCommand )
type VertexConverter ¶
type VertexConverter interface { NextCommand(cmd VertexCommand) Vertex(x, y float64) }
type VertexMatrixTransform ¶
type VertexMatrixTransform struct { Next VertexConverter // contains filtered or unexported fields }
this VertexConverter apply the Matrix transformation tr
func NewVertexMatrixTransform ¶
func NewVertexMatrixTransform(tr MatrixTransform, converter VertexConverter) *VertexMatrixTransform
func (*VertexMatrixTransform) NextCommand ¶
func (vmt *VertexMatrixTransform) NextCommand(command VertexCommand)
Vertex Matrix Transform
func (*VertexMatrixTransform) Vertex ¶
func (vmt *VertexMatrixTransform) Vertex(x, y float64)
Source Files
¶
Click to show internal directories.
Click to hide internal directories.