@antv/f-my
Version:
FEngine for alipay mini-program
168 lines (167 loc) • 8.2 kB
TypeScript
type TCanvasLineJoin = 'bevel' | 'round' | 'miter';
type TCanvasLineCap = 'butt' | 'round' | 'square';
type TCanvasTextBaseLine = 'top' | 'hanging' | 'middle' | 'alphabetic' | 'ideographic' | 'bottom';
type TCanvasTextAlign = 'left' | 'right' | 'center' | 'start' | 'end';
type TCanvasPatternRepeat = 'repeat' | 'repeat-x' | 'repeat-y' | 'no-repeat';
type TCanvasGradient = any;
type TCanvasPattern = any;
type TCanvasImageSource = IMiniProgramCanvasContext_v1 | CanvasImageElement;
interface IMiniProgramCanvasContext_v1 {
set fillStyle(value: string | TCanvasGradient | null | TCanvasPattern);
set font(value: string);
get font(): string;
set fontSize(value: any);
set strokeStyle(value: string | TCanvasGradient | null | TCanvasPattern);
set globalAlpha(value: number);
set lineWidth(value: number);
set lineCap(value: TCanvasLineCap);
set lineJoin(value: TCanvasLineJoin);
set miterLimit(value: number);
set textBaseline(value: TCanvasTextBaseLine);
set lineDashOffset(value: number);
set textAlign(value: TCanvasTextAlign);
set globalCompositeOperation(value: string);
setFillStyle(color: string | TCanvasGradient | null | TCanvasPattern): void;
fillRect(x: number, y: number, width: number, height: number): void;
strokeRect(x: number, y: number, width: number, height: number): void;
beginPath(): void;
arc(x: number, y: number, radius: number, startDeg: number, endDeg: number, anticlockwise?: boolean): void;
fill(): void;
clip(): void;
rect(x: number, y: number, width: number, height: number): void;
stroke(): void;
scale(x: number, y: number): void;
rotate(angle: number): void;
translate(x: number, y: number): void;
save(): void;
restore(): void;
clearRect(x: number, y: number, width: number, height: number): void;
fillText(text: string, x: number, y: number, maxWidth?: number): void;
moveTo(x: number, y: number): void;
lineTo(x: number, y: number): void;
arcTo(x1: number, y1: number, x2: number, y2: number, radius: number): void;
transform(a: number, b: number, c: number, d: number, e: number, f: number): void;
setTransform(a: number, b: number, c: number, d: number, e: number, f: number): void;
closePath(): void;
quadraticCurveTo(cpx: number, cpy: number, x: number, y: number): void;
bezierCurveTo(cp1x: number, cp1y: number, cp2x: number, cp2y: number, x: number, y: number): void;
setLineDash(gaps: number[]): void;
strokeText(text: string, x: number, y: number, maxWidth?: number): void;
setStrokeStyle(color: string | TCanvasGradient | null | TCanvasPattern): void;
setGlobalAlpha(alpha: number): void;
setLineWidth(width: number): void;
setLineCap(lineCap: TCanvasLineCap): void;
setLineJoin(lineJoin: TCanvasLineJoin): void;
setMiterLimit(limit: number): void;
setTextBaseline(baseline: TCanvasTextBaseLine): void;
setLineDashOffset(offset: number): void;
setTextAlign(align: TCanvasTextAlign): void;
setGlobalCompositeOperation(op: string): void;
setShadow(offsetX?: number, offsetY?: number, blur?: number, color?: string): void;
setFontSize(size: number): void;
setFont(font: string): void;
createRadialGradient(x0: number, y0: number, r0: number, x1: number, y1: number, r1: number): TCanvasGradient;
createCircularGradient(x: number, y: number, r: number): TCanvasGradient;
createLinearGradient(x0: number, y0: number, x1: number, y1: number): TCanvasGradient;
drawImage(imageOrContext: TCanvasImageSource, sx: number, sy: number, sWidth?: number, sHeight?: number, dx?: number, dy?: number, dWidth?: number, dHeight?: number): void;
draw(reserve?: boolean): void;
createPattern(image: TCanvasImageSource, repeat: TCanvasPatternRepeat): TCanvasPattern;
}
export declare function createCanvasAdapter(canvasContext: any): {
element: CanvasElement;
context: SimulatedCanvasContext;
};
declare class CanvasImageElement {
url: string;
private _context;
private _onload?;
private _onerror?;
private _invoked;
private _rawImgObj?;
static toImageSource(imageOrContext: any): TCanvasImageSource | null;
constructor(url: string, _context: IMiniProgramCanvasContext_v1);
private _complete;
set onload(fn: () => void);
set onerror(fn: () => void);
}
declare class CanvasElement {
private canvasContext;
private offscreenCanvas;
constructor(canvasContext: IMiniProgramCanvasContext_v1, offscreenCanvas?: any);
createImage(url: string): CanvasImageElement;
requestAnimationFrame(fn: any): any;
cancelAnimationFrame(tid: any): any;
}
declare class SimulatedCanvasContext {
private ctx;
canvas: CanvasElement;
constructor(ctx: IMiniProgramCanvasContext_v1);
private _fillStyle;
set fillStyle(value: string | TCanvasGradient | null | TCanvasPattern);
get fillStyle(): string | TCanvasGradient | null | TCanvasPattern;
set font(value: string);
get font(): string;
set fontSize(value: any);
private _globalAlpha;
set globalAlpha(value: number);
get globalAlpha(): number;
private _globalCompositeOperation;
set globalCompositeOperation(value: string);
get globalCompositeOperation(): string;
private _lineCap;
set lineCap(value: TCanvasLineCap);
get lineCap(): TCanvasLineCap;
private _lineDashOffset;
set lineDashOffset(value: number);
get lineDashOffset(): number;
private _lineJoin;
set lineJoin(value: TCanvasLineJoin);
get lineJoin(): TCanvasLineJoin;
private _lineWidth;
set lineWidth(value: number);
get lineWidth(): number;
private _miterLimit;
set miterLimit(value: number);
get miterLimit(): number;
private _strokeStyle;
set strokeStyle(value: string | TCanvasGradient | null | TCanvasPattern);
get strokeStyle(): string | TCanvasGradient | null | TCanvasPattern;
private _textAlign;
set textAlign(value: TCanvasTextAlign);
get textAlign(): TCanvasTextAlign;
private _textBaseline;
set textBaseline(value: TCanvasTextBaseLine);
get textBaseline(): TCanvasTextBaseLine;
arc(x: number, y: number, radius: number, startDeg: number, endDeg: number, anticlockwise?: boolean): void;
arcTo(x1: number, y1: number, x2: number, y2: number, radius: number): void;
beginPath(): void;
bezierCurveTo(cp1x: number, cp1y: number, cp2x: number, cp2y: number, x: number, y: number): void;
clearRect(x: number, y: number, width: number, height: number): void;
clip(): void;
closePath(): void;
createLinearGradient(x0: number, y0: number, x1: number, y1: number): TCanvasGradient;
createPattern(image: TCanvasImageSource, repeat: TCanvasPatternRepeat): TCanvasPattern;
createRadialGradient(x0: number, y0: number, r0: number, x1: number, y1: number, r1: number): TCanvasGradient;
drawImage(imageOrContext: TCanvasImageSource, sx: number, sy: number, sWidth: number, sHeight: number, dx: number, dy: number, dWidth: number, dHeight: number): void;
ellipse(x: number, y: number, radiusX: number, radiusY: number, rotation: number, startAngle: number, endAngle: number, anticlockwise?: boolean): void;
fill(): void;
fillRect(x: number, y: number, width: number, height: number): void;
fillText(text: string, x: number, y: number, maxWidth?: number): 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, width: number, height: number): void;
resetTransform(): void;
restore(): void;
rotate(angle: number): void;
save(): void;
scale(x: number, y: number): void;
setLineDash(gaps: number[]): void;
setTransform(a: number, b: number, c: number, d: number, e: number, f: number): void;
stroke(): void;
strokeRect(x: number, y: number, width: number, height: number): void;
strokeText(text: string, x: number, y: number, maxWidth?: number): void;
transform(a: number, b: number, c: number, d: number, e: number, f: number): void;
translate(x: number, y: number): void;
}
export {};