@netless/slide 0.4.7 → 0.5.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +9 -0
- package/lib/FrozenTaskManager.d.ts +14 -0
- package/lib/FrozenTaskManager.js +48 -0
- package/lib/Slide.d.ts +5 -4
- package/lib/Slide.js +24 -24
- package/package.json +9 -5
package/README.md
CHANGED
|
@@ -584,3 +584,12 @@ const slide = new Slide({
|
|
|
584
584
|
|
|
585
585
|
#### 0.4.7
|
|
586
586
|
* syncReceive 引起的切页不发 syncDispatch 事件
|
|
587
|
+
|
|
588
|
+
#### 0.5.0
|
|
589
|
+
* 修改 Slide.frozen 和 Slide.release 为同步方法
|
|
590
|
+
|
|
591
|
+
#### 0.5.1
|
|
592
|
+
* 修复倾斜公式显示异常(需要重新发起 ppt 转换)
|
|
593
|
+
|
|
594
|
+
#### 0.5.2
|
|
595
|
+
* CanvasCrash 类型错误新增一种情况(切页动画渲染器创建失败)
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export interface FrozenTask {
|
|
2
|
+
type: "frozen" | "release";
|
|
3
|
+
status: "running" | "wait";
|
|
4
|
+
fn: () => Promise<void>;
|
|
5
|
+
}
|
|
6
|
+
export declare class FrozenTaskManager {
|
|
7
|
+
private tasks;
|
|
8
|
+
private isDestroy;
|
|
9
|
+
constructor();
|
|
10
|
+
private schedule;
|
|
11
|
+
private getRunningTask;
|
|
12
|
+
addTask(type: "frozen" | "release", fn: () => Promise<void>): void;
|
|
13
|
+
destroy(): void;
|
|
14
|
+
}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
var FrozenTaskManager = /** @class */ (function () {
|
|
2
|
+
function FrozenTaskManager() {
|
|
3
|
+
var _this = this;
|
|
4
|
+
this.tasks = [];
|
|
5
|
+
this.isDestroy = false;
|
|
6
|
+
this.schedule = function () {
|
|
7
|
+
var task = _this.tasks.shift();
|
|
8
|
+
if (task && !_this.isDestroy) {
|
|
9
|
+
task.status = "running";
|
|
10
|
+
task.fn.apply(null).then(function () {
|
|
11
|
+
window.requestAnimationFrame(_this.schedule);
|
|
12
|
+
}).catch(function () {
|
|
13
|
+
window.requestAnimationFrame(_this.schedule);
|
|
14
|
+
});
|
|
15
|
+
}
|
|
16
|
+
else {
|
|
17
|
+
window.requestAnimationFrame(_this.schedule);
|
|
18
|
+
}
|
|
19
|
+
};
|
|
20
|
+
this.schedule();
|
|
21
|
+
}
|
|
22
|
+
FrozenTaskManager.prototype.getRunningTask = function () {
|
|
23
|
+
if (this.tasks[0] && this.tasks[0].status === "running") {
|
|
24
|
+
return this.tasks[0];
|
|
25
|
+
}
|
|
26
|
+
return null;
|
|
27
|
+
};
|
|
28
|
+
FrozenTaskManager.prototype.addTask = function (type, fn) {
|
|
29
|
+
var task = {
|
|
30
|
+
type: type,
|
|
31
|
+
status: "wait",
|
|
32
|
+
fn: fn,
|
|
33
|
+
};
|
|
34
|
+
var runningTask = this.getRunningTask();
|
|
35
|
+
if (runningTask && type === runningTask.type) {
|
|
36
|
+
return;
|
|
37
|
+
}
|
|
38
|
+
else {
|
|
39
|
+
this.tasks = this.tasks.filter(function (v) { return v.type !== type; });
|
|
40
|
+
this.tasks.push(task);
|
|
41
|
+
}
|
|
42
|
+
};
|
|
43
|
+
FrozenTaskManager.prototype.destroy = function () {
|
|
44
|
+
this.isDestroy = true;
|
|
45
|
+
};
|
|
46
|
+
return FrozenTaskManager;
|
|
47
|
+
}());
|
|
48
|
+
export { FrozenTaskManager };
|
package/lib/Slide.d.ts
CHANGED
|
@@ -285,6 +285,7 @@ export declare class Slide extends Slide_base {
|
|
|
285
285
|
private __slideState;
|
|
286
286
|
private userInputTime;
|
|
287
287
|
private isSyncingSlideState;
|
|
288
|
+
private frozenTaskManager;
|
|
288
289
|
private randomId;
|
|
289
290
|
private resize;
|
|
290
291
|
private isAnimating;
|
|
@@ -309,8 +310,6 @@ export declare class Slide extends Slide_base {
|
|
|
309
310
|
private isInitResized;
|
|
310
311
|
private cacheImage;
|
|
311
312
|
private config;
|
|
312
|
-
private isFrowning;
|
|
313
|
-
private isReleasing;
|
|
314
313
|
private isTouchStart;
|
|
315
314
|
private touchStartId;
|
|
316
315
|
private taskId;
|
|
@@ -476,14 +475,16 @@ export declare class Slide extends Slide_base {
|
|
|
476
475
|
* 恢复播放状态
|
|
477
476
|
*/
|
|
478
477
|
resume(): void;
|
|
478
|
+
private _doFrozen;
|
|
479
479
|
/**
|
|
480
480
|
* 进入冻结状态, 将 ppt 画面缓存为一张图片, 并释放 webgl 上下文
|
|
481
481
|
*/
|
|
482
|
-
frozen():
|
|
482
|
+
frozen(): void;
|
|
483
|
+
private _doRelease;
|
|
483
484
|
/**
|
|
484
485
|
* 从冻结状态恢复
|
|
485
486
|
*/
|
|
486
|
-
release():
|
|
487
|
+
release(): void;
|
|
487
488
|
private _doDestroy;
|
|
488
489
|
private waitLoadEnd;
|
|
489
490
|
/**
|