@netless/forge-whiteboard 0.1.9 → 0.1.10
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 +22 -21
- package/changelog.md +12 -5
- package/dist/Whiteboard.d.ts +20 -5
- package/dist/Whiteboard.d.ts.map +1 -1
- package/dist/WhiteboardApplication.d.ts +2 -1
- package/dist/WhiteboardApplication.d.ts.map +1 -1
- package/dist/whiteboard.esm.js +57 -10
- package/dist/whiteboard.esm.js.map +3 -3
- package/dist/whiteboard.js +57 -10
- package/dist/whiteboard.js.map +3 -3
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -28,11 +28,12 @@ document.body.appendChild(whiteboard.view);
|
|
|
28
28
|
|
|
29
29
|
**白板配置 WhiteboardOption**
|
|
30
30
|
|
|
31
|
-
| 属性名
|
|
32
|
-
|
|
33
|
-
| width
|
|
34
|
-
| height
|
|
35
|
-
| defaultToolbarStyle | ToolbarStyle
|
|
31
|
+
| 属性名 | 类型 | 默认值 | 说明 |
|
|
32
|
+
|---------------------|---------------|-----|------------|
|
|
33
|
+
| width | number | 无 | 可视区域的宽度 |
|
|
34
|
+
| height | number | 无 | 可视区域的高度 |
|
|
35
|
+
| defaultToolbarStyle | ToolbarStyle | 见下文 | 默认工具栏样式 |
|
|
36
|
+
| maxScaleRatio | maxScaleRatio | -1 | 参考[相机]()一节 |
|
|
36
37
|
|
|
37
38
|
**工具栏配置 ToolbarStyle**
|
|
38
39
|
|
|
@@ -88,7 +89,7 @@ whiteboard.on(WhiteboardEvents.toolbarStyleChange, (style) => {
|
|
|
88
89
|
`WhiteboardToolType` 类型定义了白板的工具类型, 目前支持以下工具:
|
|
89
90
|
|
|
90
91
|
| 名称 | 说明 |
|
|
91
|
-
|
|
92
|
+
| --- | --- |
|
|
92
93
|
| curve | 自由曲线 |
|
|
93
94
|
| rectangle | 矩形 |
|
|
94
95
|
| selector | 选择工具 |
|
|
@@ -199,17 +200,17 @@ whiteboard.clearPage();
|
|
|
199
200
|
|
|
200
201
|
`forge-whiteboard` 设计了细致的白板权限控制机制, 通过不同权限配置可以实现很多有趣的场景. 默认没有给任何权限.
|
|
201
202
|
|
|
202
|
-
| 权限类型 | 描述
|
|
203
|
-
|
|
204
|
-
|WhiteboardPermissionFlag.none
|
|
205
|
-
|WhiteboardPermissionFlag.draw
|
|
206
|
-
|WhiteboardPermissionFlag.editSelf
|
|
207
|
-
|WhiteboardPermissionFlag.editOthers
|
|
208
|
-
|WhiteboardPermissionFlag.deleteSelf
|
|
209
|
-
|WhiteboardPermissionFlag.deleteOthers
|
|
210
|
-
|WhiteboardPermissionFlag.mainView
|
|
211
|
-
|WhiteboardPermissionFlag.setOthersView
|
|
212
|
-
|WhiteboardPermissionFlag.all
|
|
203
|
+
| 权限类型 | 描述 |
|
|
204
|
+
|---|--------------------------------------|
|
|
205
|
+
|WhiteboardPermissionFlag.none| 没有任何权限, 只能同步的看他人绘制 |
|
|
206
|
+
|WhiteboardPermissionFlag.draw| 可以绘制元素 |
|
|
207
|
+
|WhiteboardPermissionFlag.editSelf| 可以修改自己创建的元素 |
|
|
208
|
+
|WhiteboardPermissionFlag.editOthers| 可以修改他人创建的元素 |
|
|
209
|
+
|WhiteboardPermissionFlag.deleteSelf| 可以删除自己创建的元素 |
|
|
210
|
+
|WhiteboardPermissionFlag.deleteOthers| 可以删除他人创建的元素 |
|
|
211
|
+
|WhiteboardPermissionFlag.mainView| 可以修改主视角, 包括切换页面, 拖动和缩放画布, 添加页面, 删除页面 |
|
|
212
|
+
|WhiteboardPermissionFlag.setOthersView| 可以修改他人的视角模式, 指定他人的页码 |
|
|
213
|
+
|WhiteboardPermissionFlag.all| 拥有所有权限 |
|
|
213
214
|
|
|
214
215
|
### 权限相关 api
|
|
215
216
|
|
|
@@ -265,12 +266,12 @@ whiteboard.enableCameraByMouse = false;
|
|
|
265
266
|
|
|
266
267
|
### 通过代码控制相机
|
|
267
268
|
|
|
268
|
-
**Whiteboard.translateCamera** 拖动相机
|
|
269
|
-
**Whiteboard.scaleCamera** 以画布中心为不动点缩放相机
|
|
270
|
-
**Whiteboard.resetCamera** 重置相机位置和缩放
|
|
269
|
+
**Whiteboard.translateCamera** 拖动相机
|
|
270
|
+
**Whiteboard.scaleCamera** 以画布中心为不动点缩放相机
|
|
271
|
+
**Whiteboard.resetCamera** 重置相机位置和缩放
|
|
271
272
|
|
|
272
273
|
```typescript
|
|
273
274
|
whiteboard.scaleCamera(1.2);
|
|
274
275
|
whiteboard.translateCamera(10, 10);
|
|
275
276
|
whiteboard.resetCamera();
|
|
276
|
-
```
|
|
277
|
+
```
|
package/changelog.md
CHANGED
|
@@ -16,13 +16,20 @@
|
|
|
16
16
|
|
|
17
17
|
- 修复对应工具不支持时不能加载白板的问题
|
|
18
18
|
|
|
19
|
-
### 0.1.
|
|
19
|
+
### 0.1.9
|
|
20
20
|
|
|
21
|
-
- `Whiteboard.
|
|
22
|
-
- `Whiteboard.
|
|
23
|
-
- `Whiteboard.
|
|
21
|
+
- `Whiteboard.translateCamera`相机拖动 api
|
|
22
|
+
- `Whiteboard.scaleCamera`相机缩放 api
|
|
23
|
+
- `Whiteboard.resetCamera`相机缩放 api
|
|
24
24
|
- `Whiteboard.enableCameraByTouch` 控制是否允许通过触摸手势控制相机
|
|
25
25
|
- `Whiteboard.enableCameraByMouse` 控制是否允许通过鼠标/触摸板控制相机
|
|
26
26
|
- `Whiteboard.enableCameraBoundaryHighlight` 控制是否允许相机超出边界时高亮显示
|
|
27
27
|
- `Whiteboard.cameraBoundaryColor` 设置边界高亮颜色
|
|
28
|
-
- `WhiteboardOption.maxScaleRatio` 控制相机最大放大比例
|
|
28
|
+
- `WhiteboardOption.maxScaleRatio` 控制相机最大放大比例
|
|
29
|
+
|
|
30
|
+
### 0.1.10
|
|
31
|
+
|
|
32
|
+
- 删除 `Whiteboard.rasterize` 函数
|
|
33
|
+
- 添加 `Whiteboard.rasterizeViewport`
|
|
34
|
+
- 添加 `Whiteboard.rasterizeElementsBounds`
|
|
35
|
+
- 添加 `Whiteboard.rasterizeMaxBounds`
|
package/dist/Whiteboard.d.ts
CHANGED
|
@@ -217,17 +217,32 @@ export declare class Whiteboard extends EventEmitter<WhiteboardEvents> implement
|
|
|
217
217
|
*/
|
|
218
218
|
redo: () => void;
|
|
219
219
|
/**
|
|
220
|
-
*
|
|
221
|
-
* @param {
|
|
222
|
-
* @
|
|
220
|
+
* 光栅化指定页面的可视区域
|
|
221
|
+
* @param {number} scale 缩放比例
|
|
222
|
+
* @param {string=} page string 指示页码 id; number 指示 IndexedNavigation 页面索引; undefined 指示光栅化当前页
|
|
223
|
+
* @return {Promise<string>} 异步返回光栅化结果, 图片 png 对应的 base64 url. 如果页面不存在返回 null
|
|
223
224
|
*/
|
|
224
|
-
|
|
225
|
+
rasterizeViewport: (scale: number, page?: string | number | undefined) => Promise<string | null>;
|
|
226
|
+
/**
|
|
227
|
+
* 光栅化指定页面包含所有元素的包围盒
|
|
228
|
+
* @param {number} outputMaxWidth 输出图片最大宽度, 在保证高宽比的情况下限值输出图片的宽度小于等于此值
|
|
229
|
+
* @param {number} outputMaxHeight 输出图片最大高度, 在保证高宽比的情况下限值输出图片的高度小于等于此值
|
|
230
|
+
* @param {string=} page string 指示页码 id; number 指示 IndexedNavigation 页面索引; undefined 指示光栅化当前页
|
|
231
|
+
* @return {Promise<string>} 异步返回光栅化结果, 图片 png 对应的 base64 url. 如果页面不存在返回 null
|
|
232
|
+
*/
|
|
233
|
+
rasterizeElementsBounds: (outputMaxWidth: number, outputMaxHeight: number, page?: string | number | undefined) => Promise<string | null>;
|
|
234
|
+
/**
|
|
235
|
+
* 光栅化指定页面最大缩放区域, 如果没有指定 `WhiteboardOption.maxScaleRatio` 或者指定的值为 -1, 则按 `rasterizeViewport` 返回结果.
|
|
236
|
+
* @param {number} scale 缩放比例
|
|
237
|
+
* @param {string=} page string 指示页码 id; number 指示 IndexedNavigation 页面索引; undefined 指示光栅化当前页
|
|
238
|
+
* @return {Promise<string>} 异步返回光栅化结果, 图片 png 对应的 base64 url. 如果页面不存在返回 null
|
|
239
|
+
*/
|
|
240
|
+
rasterizeMaxBounds: (scale: number, page?: string | number | undefined) => Promise<string | null>;
|
|
225
241
|
/**
|
|
226
242
|
* 设置输入类型, "pen" 仅接受手写笔输入, "any" 接受任意输入, 当首次侦测到手写笔输入时, 将自动切换为 "pen"
|
|
227
243
|
* @param {"pen" | "any"} type 输入类型
|
|
228
244
|
*/
|
|
229
245
|
setInputType: (type: "pen" | "any") => void;
|
|
230
|
-
insertImage: (src: string) => void;
|
|
231
246
|
constructor(view: HTMLDivElement);
|
|
232
247
|
}
|
|
233
248
|
//# sourceMappingURL=Whiteboard.d.ts.map
|
package/dist/Whiteboard.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Whiteboard.d.ts","sourceRoot":"","sources":["../src/Whiteboard.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"Whiteboard.d.ts","sourceRoot":"","sources":["../src/Whiteboard.ts"],"names":[],"mappings":"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"}
|
|
@@ -73,7 +73,8 @@ export declare class WhiteboardApplication extends AbstractApplication<Whiteboar
|
|
|
73
73
|
private handleRemoveTrashedElementForSelf;
|
|
74
74
|
private handleElementsTrash;
|
|
75
75
|
private handleElementsSelect;
|
|
76
|
-
|
|
76
|
+
private ensureScale;
|
|
77
|
+
private rasterize;
|
|
77
78
|
dispose(): Promise<void>;
|
|
78
79
|
}
|
|
79
80
|
//# sourceMappingURL=WhiteboardApplication.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WhiteboardApplication.d.ts","sourceRoot":"","sources":["../src/WhiteboardApplication.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,mBAAmB,EAAM,MAAM,qBAAqB,CAAC;AAS7D,OAAO,EAAC,YAAY,EAAE,YAAY,EAAC,MAAM,sBAAsB,CAAC;AAUhE,OAAO,EAAyC,UAAU,EAAC,MAAM,cAAc,CAAC;AAchF;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC7B;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IACf;;;;OAIG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;OAEG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;CAC/C;AAED,eAAO,MAAM,mBAAmB,eAAe,CAAC;AAEhD,MAAM,MAAM,kBAAkB,GAC1B,OAAO,GACL,WAAW,GACX,UAAU,GACV,MAAM,GACN,OAAO,GACP,MAAM,GACN,SAAS,GACT,UAAU,GACV,QAAQ,GACR,OAAO,GACP,MAAM,CAAC;AAEb,qBAAa,qBAAsB,SAAQ,mBAAmB,CAAC,gBAAgB,EAAE,UAAU,CAAC;IAExF,MAAM,CAAC,eAAe,SAAuB;IAE7C,SAAgB,IAAI,EAAE,MAAM,CAAuB;IAC5C,OAAO,EAAE,UAAU,CAAC;IAEpB,YAAY,EAAG,YAAY,CAAC;IACnC,OAAO,CAAC,mBAAmB,CAAuB;IAClD,OAAO,CAAC,oBAAoB,CAAwB;IACpD,OAAO,CAAC,SAAS,CAAa;IAC9B,OAAO,CAAC,MAAM,CAA2C;IACzD,OAAO,CAAC,YAAY,CAAyC;IAE7D,OAAO,CAAC,WAAW,CAAiD;IACpE,OAAO,CAAC,UAAU,CAA4C;IAC9D,OAAO,CAAC,aAAa,CAAuD;IAC5E,OAAO,CAAC,WAAW,CAA4C;IAC/D,OAAO,CAAC,qBAAqB,CAAuD;IACpF,OAAO,CAAC,aAAa,CAA4C;IACjE,OAAO,CAAC,mBAAmB,CAAuD;IAClF,OAAO,CAAC,aAAa,CAAiB;IACtC,OAAO,CAAC,KAAK,CAA8C;IAC3D,OAAO,CAAC,OAAO,CAAkC;IACjD,OAAO,CAAC,MAAM,CAAU;IACxB,OAAO,CAAC,cAAc,CAAkB;IACxC,OAAO,CAAC,MAAM,CAAoB;IAClC,OAAO,CAAC,WAAW,CAAyB;IAE5C,OAAO,CAAC,SAAS,CAAwB;IACzC,OAAO,CAAC,UAAU,CAAkB;IACpC,OAAO,CAAC,WAAW,CAAwB;IAE3C,OAAO,KAAK,WAAW,GAMtB;;
|
|
1
|
+
{"version":3,"file":"WhiteboardApplication.d.ts","sourceRoot":"","sources":["../src/WhiteboardApplication.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,mBAAmB,EAAM,MAAM,qBAAqB,CAAC;AAS7D,OAAO,EAAC,YAAY,EAAE,YAAY,EAAC,MAAM,sBAAsB,CAAC;AAUhE,OAAO,EAAyC,UAAU,EAAC,MAAM,cAAc,CAAC;AAchF;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC7B;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IACf;;;;OAIG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;OAEG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;CAC/C;AAED,eAAO,MAAM,mBAAmB,eAAe,CAAC;AAEhD,MAAM,MAAM,kBAAkB,GAC1B,OAAO,GACL,WAAW,GACX,UAAU,GACV,MAAM,GACN,OAAO,GACP,MAAM,GACN,SAAS,GACT,UAAU,GACV,QAAQ,GACR,OAAO,GACP,MAAM,CAAC;AAEb,qBAAa,qBAAsB,SAAQ,mBAAmB,CAAC,gBAAgB,EAAE,UAAU,CAAC;IAExF,MAAM,CAAC,eAAe,SAAuB;IAE7C,SAAgB,IAAI,EAAE,MAAM,CAAuB;IAC5C,OAAO,EAAE,UAAU,CAAC;IAEpB,YAAY,EAAG,YAAY,CAAC;IACnC,OAAO,CAAC,mBAAmB,CAAuB;IAClD,OAAO,CAAC,oBAAoB,CAAwB;IACpD,OAAO,CAAC,SAAS,CAAa;IAC9B,OAAO,CAAC,MAAM,CAA2C;IACzD,OAAO,CAAC,YAAY,CAAyC;IAE7D,OAAO,CAAC,WAAW,CAAiD;IACpE,OAAO,CAAC,UAAU,CAA4C;IAC9D,OAAO,CAAC,aAAa,CAAuD;IAC5E,OAAO,CAAC,WAAW,CAA4C;IAC/D,OAAO,CAAC,qBAAqB,CAAuD;IACpF,OAAO,CAAC,aAAa,CAA4C;IACjE,OAAO,CAAC,mBAAmB,CAAuD;IAClF,OAAO,CAAC,aAAa,CAAiB;IACtC,OAAO,CAAC,KAAK,CAA8C;IAC3D,OAAO,CAAC,OAAO,CAAkC;IACjD,OAAO,CAAC,MAAM,CAAU;IACxB,OAAO,CAAC,cAAc,CAAkB;IACxC,OAAO,CAAC,MAAM,CAAoB;IAClC,OAAO,CAAC,WAAW,CAAyB;IAE5C,OAAO,CAAC,SAAS,CAAwB;IACzC,OAAO,CAAC,UAAU,CAAkB;IACpC,OAAO,CAAC,WAAW,CAAwB;IAE3C,OAAO,KAAK,WAAW,GAMtB;;IA0QD,OAAO,CAAC,OAAO;IAIf,OAAO,CAAC,eAAe,CAErB;IAEW,UAAU,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IA6OhE,OAAO,CAAC,gBAAgB,CA6CtB;IAEF,OAAO,CAAC,aAAa,CAEnB;IAEF,OAAO,CAAC,oBAAoB,CAI1B;IAEF,OAAO,CAAC,qBAAqB,CAG3B;IAEF,OAAO,CAAC,kBAAkB,CAmCxB;IAEF,OAAO,CAAC,aAAa;IAkBrB,OAAO,CAAC,yBAAyB,CAQhC;IAED,OAAO,CAAC,kBAAkB,CAExB;IAEF,OAAO,CAAC,gBAAgB;IAmBxB,OAAO,CAAC,mBAAmB,CAazB;IAEF,OAAO,CAAC,qBAAqB;IAY7B,OAAO,CAAC,mBAAmB,CAUzB;IAEF,OAAO,CAAC,iCAAiC,CAGvC;IAEF,OAAO,CAAC,mBAAmB,CAczB;IAEF,OAAO,CAAC,oBAAoB,CAqD1B;IAEF,OAAO,CAAC,WAAW;IAInB,OAAO,CAAC,SAAS;IAqEJ,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAexC"}
|
package/dist/whiteboard.esm.js
CHANGED
|
@@ -29353,17 +29353,33 @@ var Whiteboard = class extends EventEmitter9 {
|
|
|
29353
29353
|
*/
|
|
29354
29354
|
redo;
|
|
29355
29355
|
/**
|
|
29356
|
-
*
|
|
29357
|
-
* @param {
|
|
29358
|
-
* @
|
|
29356
|
+
* 光栅化指定页面的可视区域
|
|
29357
|
+
* @param {number} scale 缩放比例
|
|
29358
|
+
* @param {string=} page string 指示页码 id; number 指示 IndexedNavigation 页面索引; undefined 指示光栅化当前页
|
|
29359
|
+
* @return {Promise<string>} 异步返回光栅化结果, 图片 png 对应的 base64 url. 如果页面不存在返回 null
|
|
29359
29360
|
*/
|
|
29360
|
-
|
|
29361
|
+
rasterizeViewport;
|
|
29362
|
+
/**
|
|
29363
|
+
* 光栅化指定页面包含所有元素的包围盒
|
|
29364
|
+
* @param {number} outputMaxWidth 输出图片最大宽度, 在保证高宽比的情况下限值输出图片的宽度小于等于此值
|
|
29365
|
+
* @param {number} outputMaxHeight 输出图片最大高度, 在保证高宽比的情况下限值输出图片的高度小于等于此值
|
|
29366
|
+
* @param {string=} page string 指示页码 id; number 指示 IndexedNavigation 页面索引; undefined 指示光栅化当前页
|
|
29367
|
+
* @return {Promise<string>} 异步返回光栅化结果, 图片 png 对应的 base64 url. 如果页面不存在返回 null
|
|
29368
|
+
*/
|
|
29369
|
+
rasterizeElementsBounds;
|
|
29370
|
+
/**
|
|
29371
|
+
* 光栅化指定页面最大缩放区域, 如果没有指定 `WhiteboardOption.maxScaleRatio` 或者指定的值为 -1, 则按 `rasterizeViewport` 返回结果.
|
|
29372
|
+
* @param {number} scale 缩放比例
|
|
29373
|
+
* @param {string=} page string 指示页码 id; number 指示 IndexedNavigation 页面索引; undefined 指示光栅化当前页
|
|
29374
|
+
* @return {Promise<string>} 异步返回光栅化结果, 图片 png 对应的 base64 url. 如果页面不存在返回 null
|
|
29375
|
+
*/
|
|
29376
|
+
rasterizeMaxBounds;
|
|
29361
29377
|
/**
|
|
29362
29378
|
* 设置输入类型, "pen" 仅接受手写笔输入, "any" 接受任意输入, 当首次侦测到手写笔输入时, 将自动切换为 "pen"
|
|
29363
29379
|
* @param {"pen" | "any"} type 输入类型
|
|
29364
29380
|
*/
|
|
29365
29381
|
setInputType;
|
|
29366
|
-
insertImage;
|
|
29382
|
+
// public insertImage!: (src: string) => void;
|
|
29367
29383
|
constructor(view) {
|
|
29368
29384
|
super();
|
|
29369
29385
|
this.view = view;
|
|
@@ -30265,8 +30281,14 @@ var WhiteboardApplication = class extends AbstractApplication {
|
|
|
30265
30281
|
this.emitter.redo = () => {
|
|
30266
30282
|
this.undoManager?.redo();
|
|
30267
30283
|
};
|
|
30268
|
-
this.emitter.
|
|
30269
|
-
return this.rasterize(page);
|
|
30284
|
+
this.emitter.rasterizeViewport = (scale, page) => {
|
|
30285
|
+
return this.rasterize(1, 1, scale, "viewport", page);
|
|
30286
|
+
};
|
|
30287
|
+
this.emitter.rasterizeElementsBounds = (outputMaxWidth, outputMaxHeight, page) => {
|
|
30288
|
+
return this.rasterize(outputMaxWidth, outputMaxHeight, 1, "bounds", page);
|
|
30289
|
+
};
|
|
30290
|
+
this.emitter.rasterizeMaxBounds = (scale, page) => {
|
|
30291
|
+
return this.rasterize(1, 1, scale, "maxScale", page);
|
|
30270
30292
|
};
|
|
30271
30293
|
this.emitter.setInputType = (type) => {
|
|
30272
30294
|
this.inputType = type;
|
|
@@ -30376,6 +30398,7 @@ var WhiteboardApplication = class extends AbstractApplication {
|
|
|
30376
30398
|
that.camera.enableBoundaryHighlight = value;
|
|
30377
30399
|
}
|
|
30378
30400
|
});
|
|
30401
|
+
window["__wb"] = this;
|
|
30379
30402
|
}
|
|
30380
30403
|
userMap(userId) {
|
|
30381
30404
|
return this.getMap(`user/${userId}`);
|
|
@@ -30824,7 +30847,10 @@ var WhiteboardApplication = class extends AbstractApplication {
|
|
|
30824
30847
|
this.emitter.emit("elementDeselected", userId);
|
|
30825
30848
|
}
|
|
30826
30849
|
};
|
|
30827
|
-
|
|
30850
|
+
ensureScale(outputWidth, outputHeight, originSize) {
|
|
30851
|
+
return Math.min(outputWidth / originSize.width, outputHeight / originSize.height);
|
|
30852
|
+
}
|
|
30853
|
+
rasterize(outputMaxWidth, outputMaxHeight, scale, area, page) {
|
|
30828
30854
|
let pageId;
|
|
30829
30855
|
if (typeof page === "string") {
|
|
30830
30856
|
pageId = page;
|
|
@@ -30838,8 +30864,6 @@ var WhiteboardApplication = class extends AbstractApplication {
|
|
|
30838
30864
|
return Promise.resolve(null);
|
|
30839
30865
|
}
|
|
30840
30866
|
this.snapshotScope.project.activeLayer.removeChildren();
|
|
30841
|
-
this.snapshotScope.view.matrix = this.paperScope.project.view.matrix.clone();
|
|
30842
|
-
this.snapshotScope.view.viewSize = this.paperScope.project.view.viewSize.clone();
|
|
30843
30867
|
for (const key of Array.from(renderableModel.elements.keys())) {
|
|
30844
30868
|
let elementModel = null;
|
|
30845
30869
|
if (renderableModel.elementModels.has(key)) {
|
|
@@ -30860,6 +30884,29 @@ var WhiteboardApplication = class extends AbstractApplication {
|
|
|
30860
30884
|
}
|
|
30861
30885
|
}
|
|
30862
30886
|
}
|
|
30887
|
+
if (area === "bounds") {
|
|
30888
|
+
const bounds = this.snapshotScope.project.activeLayer.bounds;
|
|
30889
|
+
const scale2 = this.ensureScale(outputMaxWidth, outputMaxHeight, bounds.size);
|
|
30890
|
+
const matrix = new this.paperScope.Matrix();
|
|
30891
|
+
matrix.scale(scale2);
|
|
30892
|
+
matrix.translate({ x: -bounds.x, y: -bounds.y });
|
|
30893
|
+
this.snapshotScope.view.viewSize = bounds.size.multiply(scale2);
|
|
30894
|
+
this.snapshotScope.view.matrix = matrix;
|
|
30895
|
+
} else if (area === "maxScale" && this.option.maxScaleRatio && this.option.maxScaleRatio !== -1) {
|
|
30896
|
+
const width = this.option.width * this.option.maxScaleRatio;
|
|
30897
|
+
const height = this.option.height * this.option.maxScaleRatio;
|
|
30898
|
+
const offsetX = this.option.width * (this.option.maxScaleRatio - 1) / 2;
|
|
30899
|
+
const offsetY = this.option.height * (this.option.maxScaleRatio - 1) / 2;
|
|
30900
|
+
const matrix = new this.paperScope.Matrix();
|
|
30901
|
+
matrix.scale(scale);
|
|
30902
|
+
matrix.translate({ x: offsetX, y: offsetY });
|
|
30903
|
+
this.snapshotScope.view.viewSize = new this.snapshotScope.Size(width, height).multiply(scale);
|
|
30904
|
+
this.snapshotScope.view.matrix = matrix;
|
|
30905
|
+
} else {
|
|
30906
|
+
this.snapshotScope.view.matrix = this.paperScope.project.view.matrix.clone();
|
|
30907
|
+
this.snapshotScope.view.matrix.scale(scale, this.paperScope.project.view.bounds.topLeft);
|
|
30908
|
+
this.snapshotScope.view.viewSize = this.paperScope.project.view.viewSize.clone().multiply(scale);
|
|
30909
|
+
}
|
|
30863
30910
|
return new Promise((resolve) => {
|
|
30864
30911
|
setTimeout(() => {
|
|
30865
30912
|
resolve(this.snapshotScope.view.element.toDataURL("image/png"));
|