Merge pull request #1462 from iaosee/master

add type declare for methods of Context
This commit is contained in:
Anton Lavrenov 2022-12-14 08:37:37 -05:00 committed by GitHub
commit 066fec0248
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -2,6 +2,7 @@ import { Util } from './Util';
import { Konva } from './Global';
import { Canvas } from './Canvas';
import { Shape } from './Shape';
import { IRect } from './types';
function simplifyArray(arr: Array<any>) {
var retArr = [],
@ -137,7 +138,7 @@ export class Context {
}
}
_fill(shape) {
_fill(shape: Shape) {
// abstract
}
/**
@ -259,7 +260,7 @@ export class Context {
* @param {Number} [bounds.width]
* @param {Number} [bounds.height]
*/
clear(bounds?) {
clear(bounds?: IRect) {
var canvas = this.getCanvas();
if (bounds) {
@ -297,7 +298,7 @@ export class Context {
}
}
setAttr(attr, val) {
setAttr(attr: string, val) {
this._context[attr] = val;
}
@ -306,7 +307,14 @@ export class Context {
* @method
* @name Konva.Context#arc
*/
arc(a0, a1, a2, a3, a4, a5) {
arc(
a0: number,
a1: number,
a2: number,
a3: number,
a4: number,
a5?: boolean
) {
this._context.arc(a0, a1, a2, a3, a4, a5);
}
/**
@ -314,7 +322,13 @@ export class Context {
* @method
* @name Konva.Context#arcTo
*/
arcTo(a0, a1, a2, a3, a4) {
arcTo(
a0: number,
a1: number,
a2: number,
a3: number,
a4: number
) {
this._context.arcTo(a0, a1, a2, a3, a4);
}
/**
@ -330,7 +344,14 @@ export class Context {
* @method
* @name Konva.Context#bezierCurveTo
*/
bezierCurveTo(a0, a1, a2, a3, a4, a5) {
bezierCurveTo(
a0: number,
a1: number,
a2: number,
a3: number,
a4: number,
a5: number
) {
this._context.bezierCurveTo(a0, a1, a2, a3, a4, a5);
}
/**
@ -338,7 +359,12 @@ export class Context {
* @method
* @name Konva.Context#clearRect
*/
clearRect(a0, a1, a2, a3) {
clearRect(
a0: number,
a1: number,
a2: number,
a3: number
) {
this._context.clearRect(a0, a1, a2, a3);
}
/**
@ -375,7 +401,12 @@ export class Context {
* @method
* @name Konva.Context#createLinearGradient
*/
createLinearGradient(a0, a1, a2, a3) {
createLinearGradient(
a0: number,
a1: number,
a2: number,
a3: number
) {
return this._context.createLinearGradient(a0, a1, a2, a3);
}
/**
@ -383,7 +414,7 @@ export class Context {
* @method
* @name Konva.Context#createPattern
*/
createPattern(a0, a1) {
createPattern(a0: CanvasImageSource, a1: string | null) {
return this._context.createPattern(a0, a1);
}
/**
@ -391,7 +422,14 @@ export class Context {
* @method
* @name Konva.Context#createRadialGradient
*/
createRadialGradient(a0, a1, a2, a3, a4, a5) {
createRadialGradient(
a0: number,
a1: number,
a2: number,
a3: number,
a4: number,
a5: number
) {
return this._context.createRadialGradient(a0, a1, a2, a3, a4, a5);
}
/**
@ -443,8 +481,16 @@ export class Context {
* @method
* @name Konva.Context#isPointInPath
*/
isPointInPath(x, y) {
return this._context.isPointInPath(x, y);
isPointInPath(
x: number,
y: number,
path?: Path2D,
fillRule?: CanvasFillRule
) {
if (path) {
return this._context.isPointInPath(path, x, y, fillRule);
}
return this._context.isPointInPath(x, y, fillRule);
}
/**
* fill function.
@ -463,7 +509,7 @@ export class Context {
* @method
* @name Konva.Context#fillRect
*/
fillRect(x, y, width, height) {
fillRect(x: number, y: number, width: number, height: number) {
this._context.fillRect(x, y, width, height);
}
/**
@ -471,7 +517,7 @@ export class Context {
* @method
* @name Konva.Context#strokeRect
*/
strokeRect(x, y, width, height) {
strokeRect(x: number, y: number, width: number, height: number) {
this._context.strokeRect(x, y, width, height);
}
/**
@ -491,7 +537,7 @@ export class Context {
* @method
* @name Konva.Context#measureText
*/
measureText(text) {
measureText(text: string) {
return this._context.measureText(text);
}
/**
@ -499,7 +545,7 @@ export class Context {
* @method
* @name Konva.Context#getImageData
*/
getImageData(a0, a1, a2, a3) {
getImageData(a0: number, a1: number, a2: number, a3: number) {
return this._context.getImageData(a0, a1, a2, a3);
}
/**
@ -507,7 +553,7 @@ export class Context {
* @method
* @name Konva.Context#lineTo
*/
lineTo(a0, a1) {
lineTo(a0: number, a1: number) {
this._context.lineTo(a0, a1);
}
/**
@ -515,7 +561,7 @@ export class Context {
* @method
* @name Konva.Context#moveTo
*/
moveTo(a0, a1) {
moveTo(a0: number, a1: number) {
this._context.moveTo(a0, a1);
}
/**
@ -523,7 +569,7 @@ export class Context {
* @method
* @name Konva.Context#rect
*/
rect(a0, a1, a2, a3) {
rect(a0: number, a1: number, a2: number, a3: number) {
this._context.rect(a0, a1, a2, a3);
}
/**
@ -531,7 +577,7 @@ export class Context {
* @method
* @name Konva.Context#putImageData
*/
putImageData(a0, a1, a2) {
putImageData(a0: ImageData, a1: number, a2: number) {
this._context.putImageData(a0, a1, a2);
}
/**
@ -539,7 +585,7 @@ export class Context {
* @method
* @name Konva.Context#quadraticCurveTo
*/
quadraticCurveTo(a0, a1, a2, a3) {
quadraticCurveTo(a0: number, a1: number, a2: number, a3: number) {
this._context.quadraticCurveTo(a0, a1, a2, a3);
}
/**
@ -555,7 +601,7 @@ export class Context {
* @method
* @name Konva.Context#rotate
*/
rotate(a0) {
rotate(a0: number) {
this._context.rotate(a0);
}
/**
@ -571,7 +617,7 @@ export class Context {
* @method
* @name Konva.Context#scale
*/
scale(a0, a1) {
scale(a0: number, a1: number) {
this._context.scale(a0, a1);
}
/**
@ -579,7 +625,7 @@ export class Context {
* @method
* @name Konva.Context#setLineDash
*/
setLineDash(a0) {
setLineDash(a0: number[]) {
// works for Chrome and IE11
if (this._context.setLineDash) {
this._context.setLineDash(a0);
@ -606,7 +652,14 @@ export class Context {
* @method
* @name Konva.Context#setTransform
*/
setTransform(a0, a1, a2, a3, a4, a5) {
setTransform(
a0: number,
a1: number,
a2: number,
a3: number,
a4: number,
a5: number
) {
this._context.setTransform(a0, a1, a2, a3, a4, a5);
}
/**
@ -626,7 +679,7 @@ export class Context {
* @method
* @name Konva.Context#strokeText
*/
strokeText(a0, a1, a2, a3) {
strokeText(a0: string, a1: number, a2: number, a3: number) {
this._context.strokeText(a0, a1, a2, a3);
}
/**
@ -634,7 +687,14 @@ export class Context {
* @method
* @name Konva.Context#transform
*/
transform(a0, a1, a2, a3, a4, a5) {
transform(
a0: number,
a1: number,
a2: number,
a3: number,
a4: number,
a5: number
) {
this._context.transform(a0, a1, a2, a3, a4, a5);
}
/**
@ -642,7 +702,7 @@ export class Context {
* @method
* @name Konva.Context#translate
*/
translate(a0, a1) {
translate(a0: number, a1: number) {
this._context.translate(a0, a1);
}
_enableTrace() {
@ -704,7 +764,7 @@ export class Context {
// supported context properties
type CanvasContextProps = Pick<CanvasRenderingContext2D, typeof CONTEXT_PROPERTIES[number]>;
export interface Context extends CanvasContextProps {};
export interface Context extends CanvasContextProps { };
CONTEXT_PROPERTIES.forEach(function (prop) {
Object.defineProperty(Context.prototype, prop, {