diff --git a/ImageScript.d.ts b/ImageScript.d.ts index 85a7d9a..34573e2 100644 --- a/ImageScript.d.ts +++ b/ImageScript.d.ts @@ -153,6 +153,16 @@ export class Frame extends Image { constructor(width: number, height: number, duration?: number, xOffset?: number, yOffset?: number, disposalMode?: typeof Frame.DISPOSAL_KEEP | string); + duration: number; + + xOffset: number; + + yOffset: number; + + get disposalMode(): number; + + set disposalMode(disposalMode: string|number); + toString(): string; static from(image: Image, duration?: number, xOffset?: number, yOffset?: number, disposalMode?: typeof Frame.DISPOSAL_KEEP | string): Frame; diff --git a/ImageScript.js b/ImageScript.js index 153beba..bcb194b 100644 --- a/ImageScript.js +++ b/ImageScript.js @@ -1269,8 +1269,6 @@ class Frame extends Image { if (isNaN(duration) || duration < 0) throw new RangeError('Invalid frame duration'); - disposalMode = Frame.__convert_disposal_mode__(disposalMode); - super(width, height); this.duration = duration; this.xOffset = xOffset; @@ -1278,6 +1276,22 @@ class Frame extends Image { this.disposalMode = disposalMode; } + /** + * The Frame's disposal mode + * @returns {number} + */ + get disposalMode() { + return this.__disposalMode__; + } + + /** + * Sets the frame's disposal mode, converting it to the internal numeric value. + * @param {string|number} disposalMode The frame's disposal mode + */ + set disposalMode(disposalMode) { + this.__disposalMode__ = Frame.__convert_disposal_mode__(disposalMode); + } + toString() { return `Frame<${this.width}x${this.height}x${this.duration}ms>`; } @@ -1295,8 +1309,6 @@ class Frame extends Image { if (!(image instanceof Image)) throw new TypeError('Invalid image passed'); - disposalMode = Frame.__convert_disposal_mode__(disposalMode); - const frame = new Frame(image.width, image.height, duration, xOffset, yOffset, disposalMode); frame.bitmap.set(image.bitmap);