Documentation ¶
Index ¶
- func DrawBezierPathWithCreator(bpath CubicBezierPath, creator *pdfcontent.ContentCreator)
- func DrawPathWithCreator(path Path, creator *pdfcontent.ContentCreator)
- type BasicLine
- type BoundingBox
- type Circle
- type CubicBezierCurve
- type CubicBezierPath
- type Line
- type LineEndingStyle
- type LineStyle
- type Path
- type Point
- type Rectangle
- type Vector
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func DrawBezierPathWithCreator ¶
func DrawBezierPathWithCreator(bpath CubicBezierPath, creator *pdfcontent.ContentCreator)
DrawBezierPathWithCreator makes the bezier path with the content creator. Adds the PDF commands to draw the path to the creator instance.
func DrawPathWithCreator ¶
func DrawPathWithCreator(path Path, creator *pdfcontent.ContentCreator)
DrawPathWithCreator makes the path with the content creator. Adds the PDF commands to draw the path to the creator instance.
Types ¶
type BasicLine ¶
type BasicLine struct { X1 float64 Y1 float64 X2 float64 Y2 float64 LineColor *pdf.PdfColorDeviceRGB Opacity float64 // Alpha value (0-1). LineWidth float64 LineStyle LineStyle }
BasicLine defines a line between point 1 (X1,Y1) and point 2 (X2,Y2). The line has a specified width, color and opacity.
type BoundingBox ¶
BoundingBox represents the smallest rectangular area that encapsulates an object.
type Circle ¶
type Circle struct { X float64 Y float64 Width float64 Height float64 FillEnabled bool // Show fill? FillColor *pdf.PdfColorDeviceRGB BorderEnabled bool // Show border? BorderWidth float64 BorderColor *pdf.PdfColorDeviceRGB Opacity float64 // Alpha value (0-1). }
Circle represents a circle shape with fill and border properties that can be drawn to a PDF content stream.
type CubicBezierCurve ¶
type CubicBezierCurve struct { P0 Point // Starting point. P1 Point // Control point 1. P2 Point // Control point 2. P3 Point // Final point. }
CubicBezierCurve is defined by: R(t) = P0*(1-t)^3 + P1*3*t*(1-t)^2 + P2*3*t^2*(1-t) + P3*t^3 where P0 is the current point, P1, P2 control points and P3 the final point.
func NewCubicBezierCurve ¶
func NewCubicBezierCurve(x0, y0, x1, y1, x2, y2, x3, y3 float64) CubicBezierCurve
NewCubicBezierCurve returns a new cubic Bezier curve.
func (CubicBezierCurve) AddOffsetXY ¶
func (curve CubicBezierCurve) AddOffsetXY(offX, offY float64) CubicBezierCurve
AddOffsetXY adds X,Y offset to all points on a curve.
func (CubicBezierCurve) GetBounds ¶
func (curve CubicBezierCurve) GetBounds() model.PdfRectangle
GetBounds returns the bounding box of the Bezier curve.
type CubicBezierPath ¶
type CubicBezierPath struct {
Curves []CubicBezierCurve
}
CubicBezierPath represents a collection of cubic Bezier curves.
func NewCubicBezierPath ¶
func NewCubicBezierPath() CubicBezierPath
NewCubicBezierPath returns a new empty cubic Bezier path.
func (CubicBezierPath) AppendCurve ¶
func (p CubicBezierPath) AppendCurve(curve CubicBezierCurve) CubicBezierPath
AppendCurve appends the specified Bezier curve to the path.
func (CubicBezierPath) Copy ¶
func (p CubicBezierPath) Copy() CubicBezierPath
Copy returns a clone of the Bezier path.
func (CubicBezierPath) GetBoundingBox ¶
func (p CubicBezierPath) GetBoundingBox() Rectangle
GetBoundingBox returns the bounding box of the Bezier path.
func (CubicBezierPath) Offset ¶
func (p CubicBezierPath) Offset(offX, offY float64) CubicBezierPath
Offset shifts the Bezier path with the specified offsets.
type Line ¶
type Line struct { X1 float64 Y1 float64 X2 float64 Y2 float64 LineColor *pdf.PdfColorDeviceRGB Opacity float64 // Alpha value (0-1). LineWidth float64 LineEndingStyle1 LineEndingStyle // Line ending style of point 1. LineEndingStyle2 LineEndingStyle // Line ending style of point 2. LineStyle LineStyle }
Line defines a line shape between point 1 (X1,Y1) and point 2 (X2,Y2). The line ending styles can be none (regular line), or arrows at either end. The line also has a specified width, color and opacity.
type LineEndingStyle ¶
type LineEndingStyle int
LineEndingStyle defines the line ending style for lines. The currently supported line ending styles are None, Arrow (ClosedArrow) and Butt.
const ( LineEndingStyleNone LineEndingStyle = 0 LineEndingStyleArrow LineEndingStyle = 1 LineEndingStyleButt LineEndingStyle = 2 )
Line ending styles.
type Path ¶
type Path struct {
Points []Point
}
Path consists of straight line connections between each point defined in an array of points.
func (Path) AppendPoint ¶
AppendPoint adds the specified point to the path.
func (Path) GetBoundingBox ¶
func (p Path) GetBoundingBox() BoundingBox
GetBoundingBox returns the bounding box of the path.
func (Path) GetPointNumber ¶
GetPointNumber returns the path point at the index specified by number. The index is 1-based.
func (Path) RemovePoint ¶
RemovePoint removes the point at the index specified by number from the path. The index is 1-based.
type Point ¶
Point represents a two-dimensional point.
type Rectangle ¶
type Rectangle struct { X float64 Y float64 Width float64 Height float64 FillEnabled bool // Show fill? FillColor *pdf.PdfColorDeviceRGB BorderEnabled bool // Show border? BorderWidth float64 BorderColor *pdf.PdfColorDeviceRGB Opacity float64 // Alpha value (0-1). }
Rectangle is a shape with a specified Width and Height and a lower left corner at (X,Y) that can be drawn to a PDF content stream. The rectangle can optionally have a border and a filling color. The Width/Height includes the border (if any specified), i.e. is positioned inside.
type Vector ¶
Vector represents a two-dimensional vector.
func NewVectorBetween ¶
NewVectorBetween returns a new vector with the direction specified by the subtraction of point a from point b (b-a).
func NewVectorPolar ¶
NewVectorPolar returns a new vector calculated from the specified magnitude and angle.
func (Vector) GetPolarAngle ¶
GetPolarAngle returns the angle the magnitude of the vector forms with the positive X-axis going counterclockwise.