@visactor/vrender-core
Version:
```typescript import { xxx } from '@visactor/vrender-core'; ```
102 lines (101 loc) • 6.13 kB
TypeScript
import type { IMatrix } from '@visactor/vutils';
import { Matrix } from '@visactor/vutils';
import type { ICanvas, ICommonStyleParams, IContext2d, ISetCommonStyleParams, ISetStrokeStyleParams, IStrokeStyleParams, IConicalGradientData, ITextStyleParams } from '../interface';
import { CustomPath2D } from '../common/custom-path2d';
export declare class EmptyContext2d implements IContext2d {
path: CustomPath2D;
canvas: null;
stack: Matrix[];
protected matrix: Matrix;
protected applyedMatrix?: Matrix;
fillStyle: string | CanvasGradient | CanvasPattern;
font: string;
globalAlpha: number;
lineCap: string;
lineDashOffset: number;
lineJoin: string;
lineWidth: number;
miterLimit: number;
shadowBlur: number;
shadowColor: string;
shadowOffsetX: number;
shadowOffsetY: number;
strokeStyle: string | CanvasGradient | CanvasPattern;
textAlign: string;
textBaseline: string;
dpr: number;
_clearMatrix: IMatrix;
get nativeContext(): any;
constructor(canvas: any, dpr: number);
getCanvas(): ICanvas;
getContext(): void;
setTransformForCurrent(force?: boolean): void;
get currentMatrix(): Matrix;
cloneMatrix(m: Matrix): IMatrix;
clear(): void;
reset(): void;
restore(): void;
highPerformanceRestore(): void;
rotate(rad: number, setTransform?: boolean): void;
save(): void;
highPerformanceSave(): void;
scale(sx: number, sy: number, setTransform?: boolean): void;
setScale(sx: number, sy: number, setTransform?: boolean): void;
scalePoint(sx: number, sy: number, px: number, py: number, setTransform?: boolean): void;
setTransform(a: number, b: number, c: number, d: number, e: number, f: number, setTransform?: boolean, dpr?: number): void;
setTransformFromMatrix(matrix: Matrix, setTransform?: boolean, dpr?: number): void;
resetTransform(setTransform?: boolean, dpr?: number): void;
transform(a: number, b: number, c: number, d: number, e: number, f: number, setTransform?: boolean): void;
transformFromMatrix(matrix: Matrix, setTransform?: boolean): void;
translate(x: number, y: number, setTransform?: boolean): void;
rotateDegrees(deg: number, setTransform?: boolean): void;
rotateAbout(rad: number, x: number, y: number, setTransform?: boolean): void;
rotateDegreesAbout(deg: number, x: number, y: number, setTransform?: boolean): void;
beginPath(): void;
clip(fillRule?: CanvasFillRule): void;
clip(path: Path2D, fillRule?: CanvasFillRule): void;
arc(x: number, y: number, radius: number, startAngle: number, endAngle: number, anticlockwise?: boolean): void;
arcTo(x1: number, y1: number, x2: number, y2: number, radius: number): void;
bezierCurveTo(cp1x: number, cp1y: number, cp2x: number, cp2y: number, x: number, y: number): void;
closePath(): void;
ellipse(x: number, y: number, radiusX: number, radiusY: number, rotation: number, startAngle: number, endAngle: number, anticlockwise?: boolean): void;
lineTo(x: number, y: number): void;
moveTo(x: number, y: number): void;
quadraticCurveTo(cpx: number, cpy: number, x: number, y: number): void;
rect(x: number, y: number, w: number, h: number): void;
createImageData(imageDataOrSw: number | ImageData, sh?: number): ImageData;
createLinearGradient(x0: number, y0: number, x1: number, y1: number): CanvasGradient;
createPattern(image: HTMLImageElement | HTMLCanvasElement | HTMLVideoElement, repetition: string): CanvasPattern;
createRadialGradient(x0: number, y0: number, r0: number, x1: number, y1: number, r1: number): CanvasGradient;
createConicGradient(x: number, y: number, startAngle: number, endAngle: number): IConicalGradientData;
fill(path?: Path2D, fillRule?: CanvasFillRule): void;
fillRect(x: number, y: number, width: number, height: number): void;
clearRect(x: number, y: number, w: number, h: number): void;
fillText(text: string, x: number, y: number): void;
getImageData(sx: number, sy: number, sw: number, sh: number): ImageData;
getLineDash(): number[];
isPointInPath(x: number, y: number): boolean;
isPointInStroke(x: number, y: number): boolean;
measureText(text: string): {
width: number;
};
putImageData(imagedata: ImageData, dx: number, dy: number): void;
setLineDash(segments: number[]): void;
stroke(path?: Path2D): void;
strokeRect(x: number, y: number, width: number, height: number): void;
strokeText(text: string, x: number, y: number): void;
drawImage(image: HTMLImageElement | HTMLCanvasElement | HTMLVideoElement | ImageBitmap, dstX: number, dstY: number): void;
drawImage(image: HTMLImageElement | HTMLCanvasElement | HTMLVideoElement | ImageBitmap, dstX: number, dstY: number, dstW: number, dstH: number): void;
drawImage(image: HTMLImageElement | HTMLCanvasElement | HTMLVideoElement | ImageBitmap, srcX: number, srcY: number, srcW: number, srcH: number, dstX: number, dstY: number, dstW: number, dstH: number): void;
setCommonStyle(params: ISetCommonStyleParams, attribute: ICommonStyleParams, offsetX: number, offsetY: number, defaultParams?: ICommonStyleParams | Partial<ICommonStyleParams>[]): void;
_setCommonStyle(params: ISetCommonStyleParams, offsetX: number, offsetY: number, defaultParams?: ICommonStyleParams): void;
setStrokeStyle(params: ISetStrokeStyleParams, attribute: IStrokeStyleParams, offsetX: number, offsetY: number, defaultParams?: IStrokeStyleParams | IStrokeStyleParams[]): void;
_setStrokeStyle(params: ISetStrokeStyleParams, offsetX: number, offsetY: number, defaultParams?: IStrokeStyleParams): void;
setTextStyleWithoutAlignBaseline(params: Partial<ITextStyleParams>, defaultParams?: ITextStyleParams): void;
setTextStyle(params: Partial<ITextStyleParams>, defaultParams?: ITextStyleParams): void;
draw(): void;
clearMatrix(setTransform?: boolean, dpr?: number): void;
setClearMatrix(a: number, b: number, c: number, d: number, e: number, f: number): void;
onlyTranslate(dpr?: number): boolean;
release(...params: any): void;
}