Skip to content

Commit e92d1c1

Browse files
LeonChuumatmen
authored andcommitted
fix: removing redundant calls to __convert_disposal_mode__ and exposing Frame properties (#27)
1 parent fd83a9a commit e92d1c1

2 files changed

Lines changed: 26 additions & 4 deletions

File tree

ImageScript.d.ts

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -153,6 +153,16 @@ export class Frame extends Image {
153153

154154
constructor(width: number, height: number, duration?: number, xOffset?: number, yOffset?: number, disposalMode?: typeof Frame.DISPOSAL_KEEP | string);
155155

156+
duration: number;
157+
158+
xOffset: number;
159+
160+
yOffset: number;
161+
162+
get disposalMode(): number;
163+
164+
set disposalMode(disposalMode: string|number);
165+
156166
toString(): string;
157167

158168
static from(image: Image, duration?: number, xOffset?: number, yOffset?: number, disposalMode?: typeof Frame.DISPOSAL_KEEP | string): Frame;

ImageScript.js

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1269,15 +1269,29 @@ class Frame extends Image {
12691269
if (isNaN(duration) || duration < 0)
12701270
throw new RangeError('Invalid frame duration');
12711271

1272-
disposalMode = Frame.__convert_disposal_mode__(disposalMode);
1273-
12741272
super(width, height);
12751273
this.duration = duration;
12761274
this.xOffset = xOffset;
12771275
this.yOffset = yOffset;
12781276
this.disposalMode = disposalMode;
12791277
}
12801278

1279+
/**
1280+
* The Frame's disposal mode
1281+
* @returns {number}
1282+
*/
1283+
get disposalMode() {
1284+
return this.__disposalMode__;
1285+
}
1286+
1287+
/**
1288+
* Sets the frame's disposal mode, converting it to the internal numeric value.
1289+
* @param {string|number} disposalMode The frame's disposal mode
1290+
*/
1291+
set disposalMode(disposalMode) {
1292+
this.__disposalMode__ = Frame.__convert_disposal_mode__(disposalMode);
1293+
}
1294+
12811295
toString() {
12821296
return `Frame<${this.width}x${this.height}x${this.duration}ms>`;
12831297
}
@@ -1295,8 +1309,6 @@ class Frame extends Image {
12951309
if (!(image instanceof Image))
12961310
throw new TypeError('Invalid image passed');
12971311

1298-
disposalMode = Frame.__convert_disposal_mode__(disposalMode);
1299-
13001312
const frame = new Frame(image.width, image.height, duration, xOffset, yOffset, disposalMode);
13011313
frame.bitmap.set(image.bitmap);
13021314

0 commit comments

Comments
 (0)