Versions in this module Expand all Collapse all v0 v0.7.22 Jul 21, 2026 Changes in this version + var ErrEmptyQuery = errors.New("rtisvg: empty SQL query") + var ErrInvalidColumns = errors.New("rtisvg: invalid columns") + var ErrInvalidLayout = errors.New("rtisvg: invalid layout") + var ErrInvalidTemplate = errors.New("rtisvg: invalid template") + var ErrLimitExceeded = errors.New("rtisvg: limit exceeded") + var ErrNilDatabase = errors.New("rtisvg: nil database") + var ErrNilRasterizer = errors.New("rtisvg: nil rasterizer") + var ErrRasterUnavailable = errors.New("rtisvg: PNG rasterizer unavailable in this build") + var ErrUnsafeSVG = errors.New("rtisvg: unsafe SVG") + type Align string + const AlignCenter + const AlignLeft + const AlignRight + type CellData struct + Align Align + Anchor string + ColumnIndex int + ColumnName string + Height float64 + Raw any + RowIndex int + Text string + TextX float64 + TextY float64 + Width float64 + X float64 + Y float64 + type Column struct + Align Align + Formatter FormatFunc + Header string + Name string + Width float64 + type ColumnData struct + Align Align + Anchor string + CenterX float64 + Header string + Index int + Name string + Right float64 + Width float64 + X float64 + type FormatFunc func(value any) (string, error) + func TimeFormat(layout string) FormatFunc + type HeaderData struct + Align Align + Anchor string + Height float64 + Index int + Name string + Text string + TextX float64 + TextY float64 + Width float64 + X float64 + Y float64 + type Layout struct + Bottom float64 + CellPadding float64 + HeaderHeight float64 + PaddingX float64 + RowHeight float64 + Top float64 + Width float64 + type Limits struct + MaxPNGBytes int + MaxPixels int64 + MaxRows int + MaxSVGBytes int + MaxTemplateBytes int64 + type PNGOptions struct + Background string + Scale float64 + type RasterizeOptions struct + Background string + Height int + Scale float64 + Width int + type Rasterizer interface + Rasterize func(ctx context.Context, svg []byte, options RasterizeOptions) ([]byte, error) + type Renderer struct + func New() *Renderer + func NewWithRasterizer(rasterizer Rasterizer) *Renderer + func (r *Renderer) Render(ctx context.Context, db *sql.DB, req Request) (Result, error) + type Request struct + Args []any + Columns []Column + Data map[string]any + DisableQueryOnly bool + Headers []string + Layout Layout + Limits Limits + PNG PNGOptions + Query string + Template Template + type Result struct + ColumnNames []string + Columns int + Height int + PNG []byte + PNGHeight int + PNGWidth int + Rows int + SVG []byte + Width int + func Render(ctx context.Context, db *sql.DB, req Request) (Result, error) + func RenderSVG(ctx context.Context, db *sql.DB, req Request) (Result, error) + func RenderWith(ctx context.Context, db *sql.DB, req Request, rasterizer Rasterizer) (Result, error) + type RowData struct + Cells []CellData + CenterY float64 + Height float64 + Index int + Number int + Y float64 + type Template struct + FS fs.FS + Path string + func FileTemplate(path string) Template + type TemplateData struct + ColCount int + Columns []ColumnData + Data map[string]any + Headers []HeaderData + Height float64 + Layout Layout + RowCount int + Rows []RowData + Width float64