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