UNPKG

4.55 kBTypeScriptView Raw
1import Taro from '@tarojs/api';
2import { CanvasGradient } from "@tarojs/api";
3interface IAction {
4 func: (...arr: any[]) => void;
5 args: any[];
6}
7declare 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}
112export { CanvasContext };