1 | import Taro from '@tarojs/api';
|
2 | import { CanvasGradient } from "@tarojs/api";
|
3 | interface IAction {
|
4 | func: (...arr: any[]) => void;
|
5 | args: any[];
|
6 | }
|
7 | declare class CanvasContext implements Taro.CanvasContext {
|
8 | __raw__: CanvasRenderingContext2D;
|
9 | actions: IAction[];
|
10 | constructor(canvas: any, ctx: any);
|
11 | set ctx(e: CanvasRenderingContext2D);
|
12 | get ctx(): CanvasRenderingContext2D;
|
13 | canvas: HTMLCanvasElement;
|
14 | protected emptyActions(): void;
|
15 | protected enqueueActions(func: IAction['func'], ...args: any[]): void;
|
16 | set fillStyle(e: string);
|
17 | get fillStyle(): string;
|
18 | set font(e: string);
|
19 | get font(): string;
|
20 | set globalAlpha(e: number);
|
21 | get globalAlpha(): number;
|
22 | set globalCompositeOperation(e: GlobalCompositeOperation);
|
23 | get globalCompositeOperation(): GlobalCompositeOperation;
|
24 | set lineCap(e: CanvasLineCap);
|
25 | get lineCap(): CanvasLineCap;
|
26 | set lineDashOffset(e: number);
|
27 | get lineDashOffset(): number;
|
28 | set lineJoin(e: CanvasLineJoin);
|
29 | get lineJoin(): CanvasLineJoin;
|
30 | set lineWidth(e: number);
|
31 | get lineWidth(): number;
|
32 | set miterLimit(e: number);
|
33 | get miterLimit(): number;
|
34 | set shadowBlur(e: number);
|
35 | get shadowBlur(): number;
|
36 | set shadowColor(e: string);
|
37 | get shadowColor(): string;
|
38 | set shadowOffsetX(e: number);
|
39 | get shadowOffsetX(): number;
|
40 | set shadowOffsetY(e: number);
|
41 | get shadowOffsetY(): number;
|
42 | set strokeStyle(e: string);
|
43 | get strokeStyle(): string;
|
44 | /** 小程序文档中不包括 ↓↓↓ */
|
45 | set textAlign(e: CanvasTextAlign);
|
46 | get textAlign(): CanvasTextAlign;
|
47 | set textBaseline(e: CanvasTextBaseline);
|
48 | get textBaseline(): CanvasTextBaseline;
|
49 | set direction(e: CanvasDirection);
|
50 | get direction(): CanvasDirection;
|
51 | set imageSmoothingEnabled(e: boolean);
|
52 | get imageSmoothingEnabled(): boolean;
|
53 | set imageSmoothingQuality(e: ImageSmoothingQuality);
|
54 | get imageSmoothingQuality(): ImageSmoothingQuality;
|
55 | set filter(e: string);
|
56 | get filter(): string;
|
57 | /** 小程序文档中不包括 ↑↑↑ */
|
58 | /** 小程序文档中不包括 ↑↑↑ */
|
59 | arc(...args: any[]): void;
|
60 | arcTo(...args: any[]): void;
|
61 | beginPath(...args: any[]): void;
|
62 | bezierCurveTo(...args: any[]): void;
|
63 | clearRect(...args: any[]): void;
|
64 | clip(...args: any[]): void;
|
65 | closePath(...args: any[]): void;
|
66 | createPattern(imageResource: string, repetition: keyof Taro.CanvasContext.Repetition): CanvasPattern | null | Promise<CanvasPattern | null>;
|
67 | /**
|
68 | * 将之前在绘图上下文中的描述(路径、变形、样式)画到 canvas 中。
|
69 | * @todo 每次 draw 都会读取 width 和 height
|
70 | */
|
71 | /**
|
72 | * 将之前在绘图上下文中的描述(路径、变形、样式)画到 canvas 中。
|
73 | * @todo 每次 draw 都会读取 width 和 height
|
74 | */
|
75 | draw(reserve?: boolean, callback?: (...args: any[]) => any): Promise<void>;
|
76 | drawImage(imageResource: string, ...extra: any[]): void;
|
77 | fill(...args: any[]): void;
|
78 | fillRect(...args: any[]): void;
|
79 | fillText(...args: any[]): void;
|
80 | lineTo(...args: any[]): void;
|
81 | moveTo(...args: any[]): void;
|
82 | quadraticCurveTo(...args: any[]): void;
|
83 | rect(...args: any[]): void;
|
84 | // @ts-ignore
|
85 | reset(): any;
|
86 | restore(): void;
|
87 | rotate(...args: any[]): void;
|
88 | save(): void;
|
89 | scale(...args: any[]): void;
|
90 | setFillStyle(color: string | CanvasGradient): void;
|
91 | setFontSize(fontSize: number): void;
|
92 | setGlobalAlpha(alpha: number): void;
|
93 | setLineCap(lineCap: keyof Taro.CanvasContext.LineCap): void;
|
94 | setLineDash(pattern: number[], offset: number): void;
|
95 | setLineJoin(lineJoin: keyof Taro.CanvasContext.LineJoin): void;
|
96 | setLineWidth(lineWidth: number): void;
|
97 | setMiterLimit(miterLimit: number): void;
|
98 | setShadow(offsetX: number, offsetY: number, blur: number, color: string): void;
|
99 | setStrokeStyle(color: string | CanvasGradient): void;
|
100 | setTextAlign(align: keyof Taro.CanvasContext.Align): void;
|
101 | setTextBaseline(textBaseline: keyof Taro.CanvasContext.TextBaseline): void;
|
102 | setTransform(...args: any[]): void;
|
103 | stroke(...args: any[]): void;
|
104 | strokeRect(...args: any[]): void;
|
105 | strokeText(...args: any[]): void;
|
106 | transform(...args: any[]): void;
|
107 | translate(...args: any[]): void;
|
108 | measureText(text: string): TextMetrics;
|
109 | createCircularGradient(x: number, y: number, r: number): CanvasGradient;
|
110 | createLinearGradient(x0: number, y0: number, x1: number, y1: number): CanvasGradient;
|
111 | }
|
112 | export { CanvasContext };
|