59 lines
1.6 KiB
Go
59 lines
1.6 KiB
Go
// Copyright 2010 The draw2d Authors. All rights reserved.
|
|
// created: 21/11/2010 by Laurent Le Goff
|
|
|
|
package draw2d
|
|
|
|
import (
|
|
"image"
|
|
"image/color"
|
|
)
|
|
|
|
// FillRule defines the type for fill rules
|
|
type FillRule int
|
|
|
|
const (
|
|
// FillRuleEvenOdd defines the even odd filling rule
|
|
FillRuleEvenOdd FillRule = iota
|
|
// FillRuleWinding defines the non zero winding rule
|
|
FillRuleWinding
|
|
)
|
|
|
|
// GraphicContext describes the interface for the various backends (images, pdf, opengl, ...)
|
|
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
|
|
GetStringBounds(s string) (left, top, right, bottom float64)
|
|
CreateStringPath(text string, x, y float64) (cursor float64)
|
|
FillString(text string) (cursor float64)
|
|
FillStringAt(text string, x, y float64) (cursor float64)
|
|
StrokeString(text string) (cursor float64)
|
|
StrokeStringAt(text string, x, y float64) (cursor float64)
|
|
Stroke(paths ...*PathStorage)
|
|
Fill(paths ...*PathStorage)
|
|
FillStroke(paths ...*PathStorage)
|
|
}
|