@netless/slide 0.1.27 → 0.1.32

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 挂载点 */
@@ -59,6 +61,11 @@ export interface ISlideConfig {
59
61
  interface MediaState {
60
62
  type: "pause" | "play";
61
63
  time: number;
64
+ frozenTime?: number;
65
+ }
66
+ interface TimeNodeSeqState {
67
+ step: number;
68
+ state: "idle" | "running" | "end" | null;
62
69
  }
63
70
  interface ISlideState {
64
71
  taskId: string;
@@ -66,10 +73,12 @@ interface ISlideState {
66
73
  currentSlideIndex: number;
67
74
  mainSeqStep: number;
68
75
  mainSeqState: "idle" | "running" | "end" | null;
69
- appliedInteractiveSeqIds: string[];
70
76
  mediaState: {
71
77
  [key: string]: MediaState;
72
78
  };
79
+ interactiveSeqState: {
80
+ [key: string]: TimeNodeSeqState;
81
+ };
73
82
  }
74
83
  export declare type SyncEvent = SyncInteractiveAnimEvent | SyncPrevStepEvent | SyncNextStepEvent | SyncRenderSlideEvent | SyncSetResourceEvent | SyncMediaPlayEvent | SyncMediaPauseEvent | SyncMediaSeekEvent;
75
84
  export interface BasicSyncEvent {
@@ -94,7 +103,7 @@ export interface SyncMediaSeekEvent extends BasicSyncEvent {
94
103
  }
95
104
  export interface SyncInteractiveAnimEvent extends BasicSyncEvent {
96
105
  type: "interactiveAnim";
97
- action: string;
106
+ seqId: string;
98
107
  }
99
108
  export interface SyncPrevStepEvent extends BasicSyncEvent {
100
109
  type: "prevStep";
@@ -154,7 +163,7 @@ export declare class Slide extends Slide_base {
154
163
  private isLoading;
155
164
  private interactive;
156
165
  private anchor;
157
- private player;
166
+ private player?;
158
167
  private frameWidth;
159
168
  private frameHeight;
160
169
  private frame;
@@ -170,7 +179,10 @@ export declare class Slide extends Slide_base {
170
179
  private playerController;
171
180
  private lock;
172
181
  private isInitResized;
182
+ private cacheImage;
183
+ private config;
173
184
  constructor(config: ISlideConfig);
185
+ private initPlayer;
174
186
  private createController;
175
187
  private persistLog;
176
188
  private handleSlideRef;
@@ -186,6 +198,7 @@ export declare class Slide extends Slide_base {
186
198
  * @param state ISlideState
187
199
  */
188
200
  setSlideState(state: Partial<ISlideState>): Promise<void>;
201
+ private initInteractiveSeq;
189
202
  private initMedia;
190
203
  /**
191
204
  * 返回 slide 总页数
@@ -220,7 +233,7 @@ export declare class Slide extends Slide_base {
220
233
  * 实时渲染属性, 只读属性.
221
234
  * @readonly
222
235
  */
223
- get renderOptions(): ISlideRenderOptions;
236
+ get renderOptions(): ISlideRenderOptions | null;
224
237
  /**
225
238
  * drawCall 次数, 即每帧调用 gpu drawElements 次数, 只读属性.
226
239
  * @readonly
@@ -240,7 +253,7 @@ export declare class Slide extends Slide_base {
240
253
  * 渲染 Slide 的 canvas 元素.
241
254
  * @readonly
242
255
  */
243
- get view(): HTMLCanvasElement;
256
+ get view(): HTMLCanvasElement | null;
244
257
  /**
245
258
  * Slide 宽度. 此宽度为设计宽度, 由 ppt 决定. 只读属性.
246
259
  * @readonly
@@ -282,6 +295,7 @@ export declare class Slide extends Slide_base {
282
295
  */
283
296
  prevStep(): void;
284
297
  private doPrevStep;
298
+ private isSlideStateReady;
285
299
  private emitStateChange;
286
300
  private emitSyncDispatch;
287
301
  /**
@@ -304,6 +318,8 @@ export declare class Slide extends Slide_base {
304
318
  */
305
319
  resume(): void;
306
320
  getPreviewImage(slideIndex: number): Promise<string | null>;
321
+ frozen(): void;
322
+ release(): Promise<void>;
307
323
  /**
308
324
  * 销毁方法.
309
325
  */