@netless/app-slide 0.2.103 → 0.2.105-beta.0

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-zh.md CHANGED
@@ -36,6 +36,7 @@ manager.addApp({
36
36
  attributes: {
37
37
  taskId: "1234567...", // [2]
38
38
  url: "https://convertcdn.netless.link/dynamicConvert", // [3]
39
+ originSize: manager.mainView.size, // [4]
39
40
  previewList: [
40
41
  "https://convertcdn.netless.group/test/dynamicConvert/8ed5cce449874494a9ca7894b39415fb/preview/1.png",
41
42
  "https://convertcdn.netless.group/test/dynamicConvert/8ed5cce449874494a9ca7894b39415fb/preview/2.png",
@@ -67,6 +68,10 @@ manager.addApp({
67
68
 
68
69
  PPT 转码后资源存储服务器链接前缀,默认为 `https://convertcdn.netless.link/dynamicConvert`。
69
70
 
71
+ 4. (可选) `originSize`
72
+
73
+ 用于匹配课件笔记的固定白板分辨率。添加 app 时传入主白板尺寸;传入 `null` 时使用 PPT 自身分辨率。
74
+
70
75
  ### 协议
71
76
 
72
77
  MIT @ [netless](https://github.com/netless-io)
package/README.md CHANGED
@@ -39,6 +39,7 @@ manager.addApp({
39
39
  attributes: {
40
40
  taskId: "1234567...", // [2]
41
41
  url: "https://convertcdn.netless.link/dynamicConvert", // [3]
42
+ originSize: manager.mainView.size, // [4]
42
43
  previewList: [
43
44
  "https://convertcdn.netless.group/test/dynamicConvert/8ed5cce449874494a9ca7894b39415fb/preview/1.png",
44
45
  "https://convertcdn.netless.group/test/dynamicConvert/8ed5cce449874494a9ca7894b39415fb/preview/2.png",
@@ -80,6 +81,10 @@ Parameters:
80
81
 
81
82
  The base url of ppt resources, `https://convertcdn.netless.link/dynamicConvert` by default.
82
83
 
84
+ 4. (optional) `originSize`
85
+
86
+ Fixed whiteboard resolution used to fit the slide notes. Pass the main view size when adding the app; use `null` to use the slide resolution.
87
+
83
88
  ### Preview
84
89
 
85
90
  ```ts
package/dist/index.d.ts CHANGED
@@ -1,3 +1,4 @@
1
+ import * as _netless_window_manager from '@netless/window-manager';
1
2
  import { RegisterParams, ReadonlyTeleBox, Room, AppContext, Player, View, NetlessApp } from '@netless/window-manager';
2
3
  import { SlideError, VolumeAdjuster } from '@netless/ppt-player';
3
4
  import { IPlugin } from '@netless/plugin-system';
@@ -794,6 +795,10 @@ interface Attributes {
794
795
  slideScale: number;
795
796
  translateX: number;
796
797
  translateY: number;
798
+ originSize: {
799
+ width: number;
800
+ height: number;
801
+ } | null;
797
802
  }
798
803
  type MagixPayload = {
799
804
  type: typeof SLIDE_EVENTS.syncDispatch;
@@ -1044,8 +1049,10 @@ declare class ResizableContainer {
1044
1049
  private root;
1045
1050
  container: HTMLDivElement;
1046
1051
  private scrollContainer;
1052
+ /** @deprecated Use addScaleChangedListener() for multiple observers. */
1047
1053
  onScaleChanged: ((scale: number) => void) | null;
1048
1054
  onLayoutUpdated: (() => void) | null;
1055
+ private scaleChangedListeners;
1049
1056
  private parent;
1050
1057
  private whiteboardContainer;
1051
1058
  private slide;
@@ -1053,6 +1060,7 @@ declare class ResizableContainer {
1053
1060
  private slideWidth;
1054
1061
  private slideHeight;
1055
1062
  private scrollBar;
1063
+ private layoutFrameId;
1056
1064
  private context;
1057
1065
  private translateX;
1058
1066
  private translateY;
@@ -1063,6 +1071,7 @@ declare class ResizableContainer {
1063
1071
  y: number;
1064
1072
  };
1065
1073
  getScale(): number;
1074
+ addScaleChangedListener(listener: (scale: number) => void): () => void;
1066
1075
  private renderScrollBar;
1067
1076
  setSlideObject(slide: Slide): void;
1068
1077
  private updateSlideSize;
@@ -1072,6 +1081,7 @@ declare class ResizableContainer {
1072
1081
  triggerSync: boolean;
1073
1082
  }): void;
1074
1083
  scaleContainer(applyScale: number): void;
1084
+ private cancelScheduledLayoutUpdate;
1075
1085
  addSlideContainer(slideContainer: HTMLDivElement): void;
1076
1086
  addWhiteboardContainer(whiteboardContainer: HTMLDivElement): void;
1077
1087
  getCurrentScale(): number;
@@ -1307,12 +1317,14 @@ interface AppResult {
1307
1317
  jumpToPage: (page: number) => boolean;
1308
1318
  setSildeReadonly: (bol: boolean) => void;
1309
1319
  setSyncEventQueuePolicy: (policy: NonNullable<ISlideConfig["syncEventQueuePolicy"]>) => void;
1310
- onScaleChanged: (cb: (scale: number) => void) => void;
1320
+ onScaleChanged: (cb: (scale: number) => void) => () => void;
1311
1321
  scaleView: (to: number) => void;
1312
1322
  getViewScale: () => number | undefined;
1313
1323
  translateView: (offsetX: number, offsetY: number) => void;
1314
1324
  }
1315
- declare const SlideApp: NetlessApp<Attributes, MagixEvents, AppOptions, AppResult>;
1325
+ declare const SlideApp: NetlessApp<Attributes, MagixEvents, AppOptions, AppResult> & {
1326
+ teardown(context: _netless_window_manager.AppContext): void;
1327
+ };
1316
1328
 
1317
1329
  export { DefaultUrl, DocsViewer, FreezerLength, SideEffectManager, Slide, SlideController, SlideControllerBase, SlideDocsViewer, SlidePreviewer, addHooks, apps, SlideApp as default, getFreezerLength, log, logger, onCreated, onDestroyed, previewSlide, setFreezerLength, syncSceneWithSlide, useFreezer, usePlugin, version };
1318
1330
  export type { AddHooks, AppOptions, AppResult, Attributes, FreezableSlide, ILogger, PreviewParams };