@netless/slide 0.1.25 → 0.1.29

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.
@@ -16,8 +16,10 @@ var PlayerController = /** @class */ (function () {
16
16
  PlayerController.prototype.createStats = function () {
17
17
  var _this = this;
18
18
  this.stateId = setInterval(function () {
19
- _this.controller.runTimeFps.setValue(_this.player.runtime.fps);
20
- _this.controller.runTimeResolution.setValue(_this.player.view.width + "*" + _this.player.view.height);
19
+ if (_this.player.view) {
20
+ _this.controller.runTimeFps.setValue(_this.player.runtime.fps);
21
+ _this.controller.runTimeResolution.setValue(_this.player.view.width + "*" + _this.player.view.height);
22
+ }
21
23
  }, 500);
22
24
  };
23
25
  PlayerController.prototype.createControllerGUI = function () {
package/lib/Slide.d.ts CHANGED
@@ -33,6 +33,8 @@ export interface ISlideRenderOptions {
33
33
  autoResolution?: boolean;
34
34
  /** 是否自动降低渲染 fps */
35
35
  autoFPS?: boolean;
36
+ /** 播放切页动画时候的背景颜色, 接受 css 颜色字符串或者 16进制颜色值("#ffffff",0xffffff) */
37
+ transactionBgColor?: string | number;
36
38
  }
37
39
  export interface ISlideConfig {
38
40
  /** canvas 挂载点 */
@@ -60,16 +62,22 @@ interface MediaState {
60
62
  type: "pause" | "play";
61
63
  time: number;
62
64
  }
65
+ interface TimeNodeSeqState {
66
+ step: number;
67
+ state: "idle" | "running" | "end" | null;
68
+ }
63
69
  interface ISlideState {
64
70
  taskId: string;
65
71
  url: string;
66
72
  currentSlideIndex: number;
67
73
  mainSeqStep: number;
68
74
  mainSeqState: "idle" | "running" | "end" | null;
69
- appliedInteractiveSeqIds: string[];
70
75
  mediaState: {
71
76
  [key: string]: MediaState;
72
77
  };
78
+ interactiveSeqState: {
79
+ [key: string]: TimeNodeSeqState;
80
+ };
73
81
  }
74
82
  export declare type SyncEvent = SyncInteractiveAnimEvent | SyncPrevStepEvent | SyncNextStepEvent | SyncRenderSlideEvent | SyncSetResourceEvent | SyncMediaPlayEvent | SyncMediaPauseEvent | SyncMediaSeekEvent;
75
83
  export interface BasicSyncEvent {
@@ -94,7 +102,7 @@ export interface SyncMediaSeekEvent extends BasicSyncEvent {
94
102
  }
95
103
  export interface SyncInteractiveAnimEvent extends BasicSyncEvent {
96
104
  type: "interactiveAnim";
97
- action: string;
105
+ seqId: string;
98
106
  }
99
107
  export interface SyncPrevStepEvent extends BasicSyncEvent {
100
108
  type: "prevStep";
@@ -154,7 +162,7 @@ export declare class Slide extends Slide_base {
154
162
  private isLoading;
155
163
  private interactive;
156
164
  private anchor;
157
- private player;
165
+ private player?;
158
166
  private frameWidth;
159
167
  private frameHeight;
160
168
  private frame;
@@ -170,7 +178,10 @@ export declare class Slide extends Slide_base {
170
178
  private playerController;
171
179
  private lock;
172
180
  private isInitResized;
181
+ private cacheImage;
182
+ private config;
173
183
  constructor(config: ISlideConfig);
184
+ private initPlayer;
174
185
  private createController;
175
186
  private persistLog;
176
187
  private handleSlideRef;
@@ -186,6 +197,7 @@ export declare class Slide extends Slide_base {
186
197
  * @param state ISlideState
187
198
  */
188
199
  setSlideState(state: Partial<ISlideState>): Promise<void>;
200
+ private initInteractiveSeq;
189
201
  private initMedia;
190
202
  /**
191
203
  * 返回 slide 总页数
@@ -220,7 +232,7 @@ export declare class Slide extends Slide_base {
220
232
  * 实时渲染属性, 只读属性.
221
233
  * @readonly
222
234
  */
223
- get renderOptions(): ISlideRenderOptions;
235
+ get renderOptions(): ISlideRenderOptions | null;
224
236
  /**
225
237
  * drawCall 次数, 即每帧调用 gpu drawElements 次数, 只读属性.
226
238
  * @readonly
@@ -240,7 +252,7 @@ export declare class Slide extends Slide_base {
240
252
  * 渲染 Slide 的 canvas 元素.
241
253
  * @readonly
242
254
  */
243
- get view(): HTMLCanvasElement;
255
+ get view(): HTMLCanvasElement | null;
244
256
  /**
245
257
  * Slide 宽度. 此宽度为设计宽度, 由 ppt 决定. 只读属性.
246
258
  * @readonly
@@ -282,6 +294,7 @@ export declare class Slide extends Slide_base {
282
294
  */
283
295
  prevStep(): void;
284
296
  private doPrevStep;
297
+ private isSlideStateReady;
285
298
  private emitStateChange;
286
299
  private emitSyncDispatch;
287
300
  /**
@@ -304,6 +317,8 @@ export declare class Slide extends Slide_base {
304
317
  */
305
318
  resume(): void;
306
319
  getPreviewImage(slideIndex: number): Promise<string | null>;
320
+ frozen(): void;
321
+ release(): Promise<void>;
307
322
  /**
308
323
  * 销毁方法.
309
324
  */