Skip to main content
Module

x/fresh_charts/deps.ts>SvgCanvas

A server-side-rendered charting library for Fresh
Go to Latest
class SvgCanvas
implements VectorCanvas2D
import { SvgCanvas } from "https://deno.land/x/fresh_charts@0.2.1/deps.ts";

subset of CanvasRenderingContext2D

Constructors

new
SvgCanvas()

Properties

private
_fontHeightRatio
private
assets
private
clipPath
private
content
private
contentSaved
private
convertImageToSvgImageData
private
convertToMultiline
private
ctm
private
currentPoint
private
currentPointOnCtm
private
filterIdUrl
private
getFillAttrs
private
getFilterAttrs
private
getInheritedStyle
private
getStrokeAttrs
private
getTextPath
private
graphicsStack
private
idCount
private
lineDash
private
subpath
private
readonly
subpathIsEmptyOrClosed
private
template
fillStyle:
| string
| SvgCanvas2DLinerGradient
| SvgCanvas2DRadialGradient
| SvgCanvas2DPattern
font: string

canvas: "italic bold 26px 'Times New Roman'" svg: font-family ="Times New Roman" font-style =normal|italic|oblique font-variant=normal|small-caps font-weight =normal|bold|bolder|lighter|100|200|300|400|500|600|700|800|900 font-stretch=normal|wider|narrower|ultra-condensed|extra-condensed|condensed| semi-condensed|semi-expanded|expanded|extra-expanded|ultra-expanded font-size =||| font-size-adjust=|none font =[[<'font-style'>||<'font-variant'>||<'font-weight'>]?<'font-size'>[/<'line-height'>]?<'font-family'>]

fontHeightRatio: number
globalAlpha: number
globalCompositeOperation: GlobalCompositeOperationValue
lineCap: LineCapValue

stroke-linecap butt|round|square

lineDashOffset: number
lineJoin: LineJoinValue

stroke-linejoin miter|round|bevel

lineWidth: number
miterLimit: number
shadowBlur: number
shadowColor: string
shadowOffsetX: number
shadowOffsetY: number
strokeStyle:
| string
| SvgCanvas2DLinerGradient
| SvgCanvas2DRadialGradient
| SvgCanvas2DPattern
textAlign: TextAlignValue

text-anchor canvas:start|end|left|right|center svg:start|middle|end

textBaseline: TextBaselineValue

dominant-baseline canvas:top|hanging|middle|alphabetic|ideographic|bottom svg:auto|use-script|no-change|reset-size|ideographic|alphabetic|hanging|mathematical|central|middle|text-after-edge|text-before-edge

Methods

protected
getMultilineTextHeight(c: SvgTextAttributes): SvgTextAttributes
protected
getTextAttributes(maxWidthOrExtraAttrs:
| number
| SvgTextAttributes
| null
| undefined
): string
protected
getTextFontStyles(): string
appendCustomContent(markup: string): void
arc(
x: number,
y: number,
radius: number,
startAngle: number,
endAngle: number,
anticlockwise?: boolean,
): void

postscript arc / arcn anticlockwise= true: x y startAngle endAngle arc anticlockwise=false: x y startAngle endAngle arcn center: (x,y)

arcTo(
x1: number,
y1: number,
x2: number,
y2: number,
radius: number,
): void

postscript x1 y1 x2 y2 arcto

beginGroup(): void
beginPath(): void

postscript newpath

beginPattern(): void
bezierCurveTo(
cp1x: number,
cp1y: number,
cp2x: number,
cp2y: number,
x: number,
y: number,
...extra: number[],
): void

postscript cp1x cp1y cp2x cp2y x y curveto

circle(
x: number,
y: number,
radius: number,
anticlockwise?: boolean,
): void
clearRect(
x: number,
y: number,
w: number,
h: number,
): void
clip(fillRule?: string): void

fillRule: nonzero|evenodd

closePath(): void

postscript closepath

createLinearGradient(
x0: number,
y0: number,
x1: number,
y1: number,
): SvgCanvas2DLinerGradient
createPattern(imageData: HTMLImageElement | HTMLCanvasElement | SvgCanvasImageData, repetition?: string): SvgCanvas2DPattern
createRadialGradient(
cx: number,
cy: number,
r: number,
fx: number,
fy: number,
fr?: number,
): SvgCanvas2DRadialGradient

fr is ignored. fr is always 0.

drawImage(
imageData:
| HTMLImageElement
| HTMLCanvasElement
| SvgCanvasImageData
| string
,
canvasOffsetX: number,
canvasOffsetY: number,
canvasImageWidth: number,
canvasImageHeight: number,
): void
endGroup(): void
endPattern(
x: number,
y: number,
width: number,
height: number,
): string
fill(fillRule?: string): void

fillRule: nonzero|evenodd

fillRect(
x: number,
y: number,
w: number,
h: number,
): void
fillStroke(fillRule?: string): void

fillRule: nonzero|evenodd

fillStrokeRect(
x: number,
y: number,
w: number,
h: number,
): void
fillStrokeText(
text: string,
x: number,
y: number,
maxWidthOrExtraAttrs?: number | SvgTextAttributes,
): void
fillText(
text: string,
x: number,
y: number,
maxWidthOrExtraAttrs?: number | SvgTextAttributes,
): void
getLineDash(): number[]
lineTo(
x: number,
y: number,
...extra: number[],
): void

postscript x y lineto

measureText(text: string): { width: number; }
moveTo(x: number, y: number): void

postscript x y moveto

quadraticCurveTo(
cpx: number,
cpy: number,
x: number,
y: number,
...extra: number[],
): void
rect(
x: number,
y: number,
w: number,
h: number,
anticlockwise?: boolean,
): void
registerCustomAsset(markup: string | SvgCanvas2DAsset): void
registerCustomFilter(id: string, markup: string): void
registerImage(imageData: HTMLImageElement | HTMLCanvasElement | SvgCanvasImageData, id?: string): string
render(viewbox: Rect2D, unit?: string): string
restore(restorePath?: boolean): void

postscript grestore

rotate(angle: number): void

postscript (angle*180/PI) rotate

roundRect(
x: number,
y: number,
w: number,
h: number,
radius: number,
anticlockwise?: boolean,
): void
save(): void

postscript gsave

scale(x: number, y: number): void

postscript x y scale

setLineDash(segments: number[]): void
setTransform(
m11: number,
m12: number,
m21: number,
m22: number,
dx: number,
dy: number,
): void

postscript [m11 m12 m21 m22 dx dy] setmatrix

stroke(): void
strokeRect(
x: number,
y: number,
w: number,
h: number,
): void
strokeText(
text: string,
x: number,
y: number,
maxWidthOrExtraAttrs?: number | SvgTextAttributes,
): void
toDataUrl(
viewbox: Rect2D,
unit?: string,
lineLength?: number,
): string
transform(
m11: number,
m12: number,
m21: number,
m22: number,
dx: number,
dy: number,
): void

postscript [m11 m12 m21 m22 dx dy] concat

translate(x: number, y: number): void

postscript x y translate