import { SMatrix, SObject } from "@persagy-web/base/lib"; import { SPaintEngine } from "./engines/SPaintEngine"; import { SBrush, SCanvasView, SFont, SLine, SPath2D, SPen, SPoint, SRect, SSize } from "./"; import { SArrow } from "./types/SArrow"; import { SShadow } from "./SShadow"; export declare class SPainter extends SObject { private readonly engine; get pen(): SPen; set pen(value: SPen); get brush(): SBrush; set brush(value: SBrush); get font(): SFont; set font(value: SFont); get composite(): number; set composite(value: number); get shadow(): SShadow; set shadow(value: SShadow); get worldTransform(): SMatrix; constructor(engine: SCanvasView | SPaintEngine); save(): void; restore(): void; translate(x: number, y: number): void; scale(x: number, y: number): void; rotate(angle: number): void; transform(m11: number, m12: number, m21: number, m22: number, dx: number, dy: number): void; setTransform(m11: number, m12: number, m21: number, m22: number, dx: number, dy: number): void; resetTransform(): void; setClip(path: Path2D): void; clearRect(rect: SRect): void; clearRect(leftTop: SPoint, rightBottom: SPoint): void; clearRect(leftTop: SPoint, size: SSize): void; clearRect(x: number, y: number, w: number, h: number): void; drawRect(rect: SRect): void; drawRect(leftTop: SPoint, rightBottom: SPoint): void; drawRect(leftTop: SPoint, size: SSize): void; drawRect(x: number, y: number, w: number, h: number): void; drawCircle(cx: number, cy: number, r: number): void; drawEllipse(cx: number, cy: number, rx: number, ry: number): void; drawArc(rect: SRect, startAngle: number, endAngle: number): void; drawArc(x: number, y: number, width: number, height: number, startAngle: number, endAngle: number): void; drawChord(rect: SRect, startAngle: number, endAngle: number): void; drawChord(x: number, y: number, width: number, height: number, startAngle: number, endAngle: number): void; drawPie(rect: SRect, startAngle: number, endAngle: number): void; drawPie(x: number, y: number, width: number, height: number, startAngle: number, endAngle: number): void; drawLine(line: SLine): void; drawLine(p1: SPoint, p2: SPoint): void; drawLine(x1: number, y1: number, x2: number, y2: number): void; drawPolyline(points: SPoint[]): void; drawPolygon(points: SPoint[]): void; drawPath(path: SPath2D): void; drawText(text: string, x: number, y: number, maxWidth?: number): void; drawImage(img: CanvasImageSource, x: number, y: number, width?: number, height?: number): void; toPx(p: number): number; textWidth(text: string): number; drawArrowLine(line: SLine, style?: SArrow): void; drawArrowLine(p1: SPoint, p2: SPoint, style?: SArrow): void; drawArrowLine(x1: number, y1: number, x2: number, y2: number, style?: SArrow): void; private drawBasicArrow; private drawTriangleArrow; private drawDiamondArrow; private drawSquareArrow; private drawCircleArrow; }