fcr-ui-scene 3.6.1 → 3.6.3

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.
Files changed (257) hide show
  1. package/lib/creator.d.ts +6 -0
  2. package/lib/creator.js +125 -24
  3. package/lib/electron/app.js +5 -4
  4. package/lib/electron/bootstrap-dev.js +3 -0
  5. package/lib/electron/bootstrap-sdk.js +4 -0
  6. package/lib/electron/injections.d.ts +5 -0
  7. package/lib/electron/injections.js +36 -8
  8. package/lib/electron/ipc/ipc.d.ts +1 -0
  9. package/lib/electron/ipc/ipc.js +4 -0
  10. package/lib/electron/main.js +16 -8
  11. package/lib/electron/plugins/screenshot.js +4 -2
  12. package/lib/electron/preload.js +7 -2
  13. package/lib/electron/window.js +4 -6
  14. package/lib/fragments/annotation/index.d.ts +11 -0
  15. package/lib/fragments/annotation/index.js +121 -0
  16. package/lib/fragments/annotation/libs.d.ts +55 -0
  17. package/lib/fragments/annotation/libs.js +93 -0
  18. package/lib/fragments/annotation/store.d.ts +30 -0
  19. package/lib/fragments/annotation/store.js +565 -0
  20. package/lib/fragments/annotation/view.d.ts +3 -0
  21. package/lib/fragments/annotation/view.js +31 -0
  22. package/lib/fragments/base.d.ts +10 -0
  23. package/lib/fragments/base.js +44 -0
  24. package/lib/modules/action-bar/components/screen-share/submenu.js +7 -6
  25. package/lib/modules/action-bar/index.css +11 -0
  26. package/lib/modules/action-bar/index.d.ts +2 -0
  27. package/lib/modules/action-bar/index.js +1 -0
  28. package/lib/modules/action-bar/store.d.ts +7 -9
  29. package/lib/modules/action-bar/store.js +49 -90
  30. package/lib/modules/annotation/board-cursor.css +76 -0
  31. package/lib/modules/annotation/components/control-bar/index.css +48 -0
  32. package/lib/modules/annotation/components/control-bar/index.d.ts +3 -0
  33. package/lib/modules/annotation/components/control-bar/index.js +141 -0
  34. package/lib/modules/annotation/components/toolbar/components/color-tool/color-panel/index.d.ts +3 -0
  35. package/lib/modules/annotation/components/toolbar/components/color-tool/color-panel/index.js +46 -0
  36. package/lib/modules/annotation/components/toolbar/components/color-tool/index.d.ts +1 -0
  37. package/lib/modules/annotation/components/toolbar/components/color-tool/index.js +52 -0
  38. package/lib/modules/annotation/components/toolbar/components/graphic-tool/graphic-panel/index.d.ts +3 -0
  39. package/lib/modules/annotation/components/toolbar/components/graphic-tool/graphic-panel/index.js +61 -0
  40. package/lib/modules/annotation/components/toolbar/components/graphic-tool/graphic-panel/libs.d.ts +12 -0
  41. package/lib/modules/annotation/components/toolbar/components/graphic-tool/graphic-panel/libs.js +65 -0
  42. package/lib/modules/annotation/components/toolbar/components/graphic-tool/index.d.ts +1 -0
  43. package/lib/modules/annotation/components/toolbar/components/graphic-tool/index.js +68 -0
  44. package/lib/modules/annotation/components/toolbar/components/item/item.d.ts +18 -0
  45. package/lib/modules/annotation/components/toolbar/components/item/item.js +116 -0
  46. package/lib/modules/annotation/components/toolbar/components/item/style.css +43 -0
  47. package/lib/modules/annotation/components/toolbar/components/panel/index.d.ts +5 -0
  48. package/lib/modules/annotation/components/toolbar/components/panel/index.js +22 -0
  49. package/lib/modules/annotation/components/toolbar/components/panel/style.css +24 -0
  50. package/lib/modules/annotation/components/toolbar/components/pen-tool/index.d.ts +1 -0
  51. package/lib/modules/annotation/components/toolbar/components/pen-tool/index.js +58 -0
  52. package/lib/modules/annotation/components/toolbar/components/pen-tool/pen-panel/index.d.ts +3 -0
  53. package/lib/modules/annotation/components/toolbar/components/pen-tool/pen-panel/index.js +34 -0
  54. package/lib/modules/annotation/components/toolbar/components/tips/index.d.ts +2 -0
  55. package/lib/modules/annotation/components/toolbar/components/tips/index.js +25 -0
  56. package/lib/modules/annotation/components/toolbar/components/tips/style.css +19 -0
  57. package/lib/modules/annotation/components/toolbar/index.d.ts +0 -0
  58. package/lib/modules/annotation/components/toolbar/index.js +1 -0
  59. package/lib/modules/annotation/components/toolbar/store.d.ts +40 -0
  60. package/lib/modules/annotation/components/toolbar/store.js +279 -0
  61. package/lib/modules/annotation/components/toolbar/style.css +55 -0
  62. package/lib/modules/annotation/components/toolbar/view.d.ts +2 -0
  63. package/lib/modules/annotation/components/toolbar/view.js +120 -0
  64. package/lib/modules/annotation/index.d.ts +38 -0
  65. package/lib/modules/annotation/index.js +169 -0
  66. package/lib/modules/annotation/store.d.ts +93 -0
  67. package/lib/modules/annotation/store.js +673 -0
  68. package/lib/modules/annotation/style.css +26 -0
  69. package/lib/modules/annotation/view.d.ts +3 -0
  70. package/lib/modules/annotation/view.js +49 -0
  71. package/lib/modules/chat/view.js +112 -100
  72. package/lib/modules/components/annotation-menu/index.d.ts +7 -0
  73. package/lib/modules/components/annotation-menu/index.js +119 -0
  74. package/lib/modules/components/leave-meeting/components/assign-host.js +26 -23
  75. package/lib/modules/components/member-window/components/member-actions/components/audio-control.d.ts +0 -1
  76. package/lib/modules/components/member-window/components/member-actions/components/audio-control.js +10 -4
  77. package/lib/modules/components/member-window/components/member-actions/components/icon-buttons/index.d.ts +4 -2
  78. package/lib/modules/components/member-window/components/member-actions/components/icon-buttons/index.js +10 -6
  79. package/lib/modules/components/member-window/components/member-actions/components/icon-status.d.ts +0 -2
  80. package/lib/modules/components/member-window/components/member-actions/components/icon-status.js +3 -4
  81. package/lib/modules/components/member-window/components/member-actions/components/more-actions.d.ts +0 -3
  82. package/lib/modules/components/member-window/components/member-actions/components/more-actions.js +6 -32
  83. package/lib/modules/components/member-window/components/member-actions/components/share-status.js +11 -3
  84. package/lib/modules/components/member-window/components/member-actions/components/user-info.d.ts +0 -1
  85. package/lib/modules/components/member-window/components/member-actions/components/user-info.js +7 -10
  86. package/lib/modules/components/member-window/components/member-actions/components/user-tag.d.ts +0 -1
  87. package/lib/modules/components/member-window/components/member-actions/components/user-tag.js +0 -2
  88. package/lib/modules/components/member-window/components/member-actions/index.js +1 -32
  89. package/lib/modules/components/member-window/components/member-actions/store.d.ts +38 -1
  90. package/lib/modules/components/member-window/components/member-actions/store.js +130 -23
  91. package/lib/modules/components/member-window/components/video-player/components/remote-video-player.d.ts +2 -1
  92. package/lib/modules/components/member-window/components/video-player/components/remote-video-player.js +6 -1
  93. package/lib/modules/components/member-window/components/video-player/index.d.ts +1 -0
  94. package/lib/modules/components/member-window/index.css +37 -0
  95. package/lib/modules/components/member-window/index.d.ts +1 -1
  96. package/lib/modules/components/member-window/index.js +8 -5
  97. package/lib/modules/components/member-window/types.d.ts +2 -0
  98. package/lib/modules/components/security-menu/index.js +7 -6
  99. package/lib/modules/control-bar/components/annotation-button/index.d.ts +1 -0
  100. package/lib/modules/control-bar/components/annotation-button/index.js +59 -0
  101. package/lib/modules/control-bar/index.d.ts +6 -6
  102. package/lib/modules/control-bar/index.js +5 -34
  103. package/lib/modules/control-bar/store.d.ts +27 -13
  104. package/lib/modules/control-bar/store.js +121 -126
  105. package/lib/modules/control-bar/view.js +50 -4
  106. package/lib/modules/dialog/components/annotation-tool/index.d.ts +4 -0
  107. package/lib/modules/dialog/components/annotation-tool/index.js +53 -0
  108. package/lib/modules/dialog/components/chat/index.js +1 -1
  109. package/lib/modules/dialog/components/control-bar/index.d.ts +0 -2
  110. package/lib/modules/dialog/components/control-bar/index.js +1 -3
  111. package/lib/modules/dialog/components/host-area-container/index.d.ts +12 -0
  112. package/lib/modules/dialog/components/host-area-container/index.js +214 -0
  113. package/lib/modules/dialog/components/participant/index.js +1 -1
  114. package/lib/modules/dialog/components/system-preference/index.js +1 -1
  115. package/lib/modules/dialog/components/video-window/index.js +1 -0
  116. package/lib/modules/dialog/hooks/use-popover-watcher.d.ts +14 -0
  117. package/lib/modules/dialog/hooks/use-popover-watcher.js +112 -0
  118. package/lib/modules/dialog/hooks/useElectron.d.ts +1 -0
  119. package/lib/modules/dialog/hooks/useElectron.js +13 -3
  120. package/lib/modules/dialog/index.d.ts +2 -3
  121. package/lib/modules/dialog/index.js +3 -26
  122. package/lib/modules/dialog/store.d.ts +14 -9
  123. package/lib/modules/dialog/store.js +56 -50
  124. package/lib/modules/event-confirm/components/window/index.d.ts +7 -0
  125. package/lib/modules/event-confirm/components/window/index.js +188 -0
  126. package/lib/modules/event-confirm/index.d.ts +4 -4
  127. package/lib/modules/event-confirm/index.js +6 -4
  128. package/lib/modules/event-confirm/store.d.ts +4 -5
  129. package/lib/modules/event-confirm/store.js +35 -26
  130. package/lib/modules/event-confirm/view.js +23 -171
  131. package/lib/modules/event-sound/index.js +1 -1
  132. package/lib/modules/layout/components/CommonVideoRenderer.js +33 -16
  133. package/lib/modules/layout/index.d.ts +4 -0
  134. package/lib/modules/layout/index.js +2 -0
  135. package/lib/modules/layout/store.d.ts +14 -2
  136. package/lib/modules/layout/store.js +77 -45
  137. package/lib/modules/layout/type.d.ts +7 -0
  138. package/lib/modules/participant/index.d.ts +2 -0
  139. package/lib/modules/participant/index.js +2 -1
  140. package/lib/modules/participant/store.d.ts +5 -2
  141. package/lib/modules/participant/store.js +73 -25
  142. package/lib/modules/setting/audio-settings/audio-settings.js +3 -14
  143. package/lib/modules/setting/index.d.ts +2 -0
  144. package/lib/modules/setting/index.js +3 -3
  145. package/lib/modules/setting/store.d.ts +8 -10
  146. package/lib/modules/setting/store.js +22 -20
  147. package/lib/modules/share-screen/components/selection/index.js +18 -42
  148. package/lib/modules/share-screen/index.d.ts +6 -2
  149. package/lib/modules/share-screen/index.js +4 -2
  150. package/lib/modules/share-screen/store.d.ts +41 -46
  151. package/lib/modules/share-screen/store.js +297 -718
  152. package/lib/modules/share-screen/view.js +2 -2
  153. package/lib/modules/state-bar/assets/fcr_grid_big.svg +1 -1
  154. package/lib/modules/state-bar/assets/fcr_listontop_big.svg +1 -1
  155. package/lib/modules/state-bar/index.css +8 -6
  156. package/lib/modules/state-bar/index.d.ts +4 -0
  157. package/lib/modules/state-bar/index.js +3 -1
  158. package/lib/modules/state-bar/layout-config.d.ts +1 -0
  159. package/lib/modules/state-bar/layout-config.js +15 -5
  160. package/lib/modules/state-bar/store.d.ts +9 -1
  161. package/lib/modules/state-bar/store.js +17 -2
  162. package/lib/modules/state-bar/view.js +9 -4
  163. package/lib/modules/video-window/components/members/index.js +2 -1
  164. package/lib/modules/waiting-room-layout/store.js +1 -1
  165. package/lib/modules/whiteboard/components/control-bar/store.d.ts +5 -1
  166. package/lib/modules/whiteboard/components/control-bar/store.js +10 -1
  167. package/lib/modules/whiteboard/components/toolbar/components/color-picker/components/picker.js +16 -5
  168. package/lib/modules/whiteboard/components/toolbar/components/eraser-picker.js +67 -12
  169. package/lib/modules/whiteboard/components/toolbar/components/expansion/index.js +22 -2
  170. package/lib/modules/whiteboard/components/toolbar/components/history.js +46 -14
  171. package/lib/modules/whiteboard/components/toolbar/components/item/index.js +3 -2
  172. package/lib/modules/whiteboard/components/toolbar/components/move-handle.js +1 -1
  173. package/lib/modules/whiteboard/components/toolbar/components/pen-picker.js +58 -16
  174. package/lib/modules/whiteboard/components/toolbar/components/screen-capture-picker.js +15 -4
  175. package/lib/modules/whiteboard/components/toolbar/components/shape-picker.js +45 -2
  176. package/lib/modules/whiteboard/components/toolbar/hooks/index.d.ts +14 -0
  177. package/lib/modules/whiteboard/components/toolbar/hooks/index.js +235 -7
  178. package/lib/modules/whiteboard/components/toolbar/index.d.ts +1 -1
  179. package/lib/modules/whiteboard/components/toolbar/index.js +1 -1
  180. package/lib/modules/whiteboard/components/toolbar/store.d.ts +13 -2
  181. package/lib/modules/whiteboard/components/toolbar/store.js +74 -24
  182. package/lib/modules/whiteboard/components/toolbar/{ style.css → style.css} +1 -0
  183. package/lib/modules/whiteboard/index.d.ts +2 -0
  184. package/lib/modules/whiteboard/index.js +22 -21
  185. package/lib/modules/whiteboard/style.css +0 -4
  186. package/lib/modules/whiteboard/view.js +8 -2
  187. package/lib/plugins/browser-runtime-plugin.js +10 -1
  188. package/lib/providers/annotation-provider.d.ts +128 -0
  189. package/lib/providers/annotation-provider.js +421 -0
  190. package/lib/providers/device-provider.d.ts +3 -3
  191. package/lib/providers/device-provider.js +8 -6
  192. package/lib/providers/event-provider.d.ts +3 -3
  193. package/lib/providers/interpreter-provider.d.ts +1 -0
  194. package/lib/providers/interpreter-provider.js +182 -154
  195. package/lib/providers/privilege-provider.d.ts +35 -6
  196. package/lib/providers/privilege-provider.js +105 -49
  197. package/lib/providers/renderer-provider.js +3 -7
  198. package/lib/providers/room-provider.d.ts +13 -1
  199. package/lib/providers/room-provider.js +21 -7
  200. package/lib/providers/screen-share-provider.d.ts +131 -34
  201. package/lib/providers/screen-share-provider.js +554 -173
  202. package/lib/providers/sharing-provider.d.ts +37 -0
  203. package/lib/{shared-data-source/screen-share-data-source.js → providers/sharing-provider.js} +102 -39
  204. package/lib/providers/user-setting-storage-provider.d.ts +20 -0
  205. package/lib/providers/user-setting-storage-provider.js +74 -0
  206. package/lib/runtime.d.ts +6 -1
  207. package/lib/scenes/main-scene.d.ts +7 -2
  208. package/lib/scenes/main-scene.js +55 -27
  209. package/lib/scenes/waiting-scene.d.ts +6 -0
  210. package/lib/scenes/waiting-scene.js +15 -5
  211. package/lib/shared-data-source/config.d.ts +1 -5
  212. package/lib/shared-data-source/config.js +11 -81
  213. package/lib/shared-data-source/member-data.d.ts +21 -5
  214. package/lib/shared-data-source/member-data.js +69 -17
  215. package/lib/shared-data-source/screen-share-data.d.ts +274 -0
  216. package/lib/shared-data-source/screen-share-data.js +390 -0
  217. package/lib/shared-data-source/security-data.d.ts +4 -1
  218. package/lib/shared-data-source/security-data.js +5 -2
  219. package/lib/shared-data-source/setting.d.ts +13 -13
  220. package/lib/shared-data-source/setting.js +16 -10
  221. package/lib/shared-data-source/video-window.d.ts +2 -1
  222. package/lib/shared-data-source/video-window.js +56 -36
  223. package/lib/translations/enUS.d.ts +8 -0
  224. package/lib/translations/enUS.js +9 -1
  225. package/lib/translations/zhCN.d.ts +8 -0
  226. package/lib/translations/zhCN.js +11 -3
  227. package/lib/type.d.ts +55 -1
  228. package/lib/ui-manager.d.ts +3 -2
  229. package/lib/ui-manager.js +6 -4
  230. package/lib/ui-scene.js +70 -50
  231. package/lib/utilities/constant.d.ts +10 -2
  232. package/lib/utilities/constant.js +8 -0
  233. package/lib/utilities/logger.d.ts +4 -0
  234. package/lib/utilities/logger.js +8 -1
  235. package/lib/utilities/renderer-event.d.ts +3 -0
  236. package/lib/utilities/renderer-event.js +14 -1
  237. package/lib/utilities/screen.js +2 -1
  238. package/lib/utilities/setting-config-storage.d.ts +5 -6
  239. package/lib/utilities/setting-config-storage.js +33 -39
  240. package/lib/utilities/tools.d.ts +19 -1
  241. package/lib/utilities/tools.js +51 -4
  242. package/package.json +9 -7
  243. package/public/assets/cursors/fcr_whiteboard_input.ico +0 -0
  244. package/public/assets/cursors/fcr_whiteboard_pen.ico +0 -0
  245. package/public/assets/cursors/fcr_whiteboard_shape_-straightline.ico +0 -0
  246. package/public/assets/cursors/fcr_whiteboard_shape_arrow.ico +0 -0
  247. package/public/assets/cursors/fcr_whiteboard_shape_circle.ico +0 -0
  248. package/public/assets/cursors/fcr_whiteboard_shape_rectangle.ico +0 -0
  249. package/public/assets/cursors/fcr_whiteboard_shape_triangle.ico +0 -0
  250. package/public/assets/fcr_chat_reddot.svg +3 -3
  251. package/public/assets/fcr_grid_big.svg +1 -1
  252. package/public/assets/fcr_leave2.svg +14 -14
  253. package/public/assets/fcr_listontop_big.svg +1 -1
  254. package/public/assets/step-gradient.svg +1 -1
  255. package/public/fragment.html +10 -0
  256. package/public/index.html +3 -1
  257. package/lib/shared-data-source/screen-share-data-source.d.ts +0 -37
@@ -101,7 +101,7 @@ var ConfirmStore = exports["default"] = /*#__PURE__*/function () {
101
101
  var uiEventStore = _ref2.uiEventStore,
102
102
  dialogProvider = _ref2.dialogProvider,
103
103
  screenShareProvider = _ref2.screenShareProvider,
104
- screenShareDataSource = _ref2.screenShareDataSource;
104
+ sharedScreenShareSharedDataSource = _ref2.sharedScreenShareSharedDataSource;
105
105
  (0, _classCallCheck2["default"])(this, ConfirmStore);
106
106
  (0, _defineProperty2["default"])(this, _ref, (_initProto(this), (0, _logger.createLogger)({
107
107
  prefix: 'ConfirmStore'
@@ -117,8 +117,7 @@ var ConfirmStore = exports["default"] = /*#__PURE__*/function () {
117
117
  _classPrivateFieldInitSpec(this, _E, _init_screenBounds(this, (0, _env.isElectron)() ? window.runtime.browserWindow.getBounds() : null));
118
118
  this._uiEventProvider = uiEventStore;
119
119
  this._dialogProvider = dialogProvider;
120
- this._screenShareProvider = screenShareProvider;
121
- this._screenShareDataSource = screenShareDataSource;
120
+ this._sharedScreenShareSharedDataSource = sharedScreenShareSharedDataSource;
122
121
  this._uiEventProvider.addObserver(this._handleConfirmEventObserver);
123
122
  this._dialogProvider.addObserver(this._handleConfirmEventObserver);
124
123
  this._disposers.push((0, _mobx.reaction)(function () {
@@ -129,20 +128,22 @@ var ConfirmStore = exports["default"] = /*#__PURE__*/function () {
129
128
  value === null || value === void 0 || (_value$timer = value.timer) === null || _value$timer === void 0 || _value$timer.call(value);
130
129
  });
131
130
  }), (0, _mobx.reaction)(function () {
132
- var _this$_screenShareDat;
133
- return (_this$_screenShareDat = _this._screenShareDataSource) === null || _this$_screenShareDat === void 0 ? void 0 : _this$_screenShareDat.currentShareBounds;
131
+ var _this$_sharedScreenSh;
132
+ return (_this$_sharedScreenSh = _this._sharedScreenShareSharedDataSource) === null || _this$_sharedScreenSh === void 0 ? void 0 : _this$_sharedScreenSh.currentSelectionBounds;
134
133
  }, function (bounds) {
135
134
  if (bounds) {
136
- var _ref3 = (0, _tools.followCorrectDisplay)({
137
- dialogKey: _constant.FcrUIDialogKey.CONFIRM,
138
- alwaysFollowScreen: true
139
- }),
140
- nearDisplayBounds = _ref3.nearDisplayBounds;
141
- _this.calculateMethods.forEach(function (method) {
142
- return method(nearDisplayBounds);
135
+ var res = (0, _tools.followCorrectDisplay)({
136
+ dialogKey: _constant.FcrUIDialogKey.CONFIRM,
137
+ alwaysFollowScreen: true
143
138
  });
144
- _this.logger.info("new sharing bounds is ".concat(JSON.stringify(nearDisplayBounds)));
145
- _this.screenBounds = nearDisplayBounds;
139
+ if (res) {
140
+ var nearDisplayBounds = res.nearDisplayBounds;
141
+ _this.calculateMethods.forEach(function (method) {
142
+ return method(nearDisplayBounds);
143
+ });
144
+ _this.logger.info("new sharing bounds is ".concat(JSON.stringify(nearDisplayBounds)));
145
+ _this.screenBounds = nearDisplayBounds;
146
+ }
146
147
  } else {
147
148
  _this.logger.error("there is have no bounds ".concat(JSON.stringify(bounds)));
148
149
  }
@@ -150,12 +151,12 @@ var ConfirmStore = exports["default"] = /*#__PURE__*/function () {
150
151
  return _this.isSeizeScreen;
151
152
  }, function (isSeize) {
152
153
  if (isSeize && (0, _env.isElectron)()) {
153
- var _ref4 = (0, _tools.followCorrectDisplay)({
154
+ var _ref3 = (0, _tools.followCorrectDisplay)({
154
155
  dialogKey: _constant.FcrUIDialogKey.CONFIRM,
155
156
  alwaysFollowScreen: true,
156
157
  extraRefControlbarCondition: isSeize
157
158
  }),
158
- nearDisplayBounds = _ref4.nearDisplayBounds;
159
+ nearDisplayBounds = _ref3.nearDisplayBounds;
159
160
  _this.screenBounds = nearDisplayBounds;
160
161
  _this.logger.info("new sharing bounds is ".concat(JSON.stringify(nearDisplayBounds), ", when seize screen emit"));
161
162
  }
@@ -199,7 +200,8 @@ var ConfirmStore = exports["default"] = /*#__PURE__*/function () {
199
200
  }
200
201
  }, {
201
202
  key: "screenBounds",
202
- get: function get() {
203
+ get: // @observable accessor mousePosition: { x: number; y: number } = { x: 0, y: 0 };
204
+ function get() {
203
205
  return _classPrivateFieldGet(_E, this);
204
206
  },
205
207
  set: function set(v) {
@@ -216,8 +218,7 @@ var ConfirmStore = exports["default"] = /*#__PURE__*/function () {
216
218
  }, {
217
219
  key: "isSeizeScreen",
218
220
  get: function get() {
219
- var _this$_screenSharePro;
220
- return (_this$_screenSharePro = this._screenShareProvider) === null || _this$_screenSharePro === void 0 ? void 0 : _this$_screenSharePro.isSeizeStream;
221
+ return this._sharedScreenShareSharedDataSource.isSeizeStream;
221
222
  }
222
223
  }, {
223
224
  key: "addConfirm",
@@ -282,6 +283,12 @@ var ConfirmStore = exports["default"] = /*#__PURE__*/function () {
282
283
  value: function resetIsReplace() {
283
284
  this.isReplaceShare = false;
284
285
  }
286
+
287
+ // @action.bound
288
+ // setMousePosition(e: MouseEvent) {
289
+ // console.log('setMousePosition', e.pageX, e.pageY);
290
+ // this.mousePosition = { x: e.pageX, y: e.pageY };
291
+ // }
285
292
  }, {
286
293
  key: "release",
287
294
  value: function release() {
@@ -304,13 +311,15 @@ var ConfirmStore = exports["default"] = /*#__PURE__*/function () {
304
311
  if ((payload === null || payload === void 0 ? void 0 : payload.dialogKey) === _constant.FcrUIDialogKey.CONFIRM) {
305
312
  switch (action) {
306
313
  case _constant.FcrUIAction.OPEN_DIALOG:
307
- var _ref6 = (0, _tools.followCorrectDisplay)({
308
- dialogKey: _constant.FcrUIDialogKey.CONFIRM,
309
- alwaysFollowScreen: true
310
- }),
311
- nearDisplayBounds = _ref6.nearDisplayBounds;
312
- this.screenBounds = nearDisplayBounds;
313
- this.logger.info("open confirm dialog with bounds ".concat(JSON.stringify(nearDisplayBounds)));
314
+ if ((0, _env.isElectron)()) {
315
+ var _ref5 = (0, _tools.followCorrectDisplay)({
316
+ dialogKey: _constant.FcrUIDialogKey.CONFIRM,
317
+ alwaysFollowScreen: true
318
+ }),
319
+ nearDisplayBounds = _ref5.nearDisplayBounds;
320
+ this.screenBounds = nearDisplayBounds;
321
+ this.logger.info("open confirm dialog with bounds ".concat(JSON.stringify(nearDisplayBounds)));
322
+ }
314
323
  this.addConfirm(payload);
315
324
  break;
316
325
  case _constant.FcrUIAction.CLOSE_DIALOG:
@@ -1,55 +1,35 @@
1
1
  "use strict";
2
2
 
3
- require("core-js/modules/es.symbol.js");
4
- require("core-js/modules/es.array.filter.js");
5
- require("core-js/modules/es.array.for-each.js");
6
- require("core-js/modules/es.array.push.js");
7
- require("core-js/modules/es.object.define-properties.js");
8
3
  require("core-js/modules/es.object.define-property.js");
9
- require("core-js/modules/es.object.get-own-property-descriptor.js");
10
- require("core-js/modules/es.object.get-own-property-descriptors.js");
11
- require("core-js/modules/es.object.keys.js");
12
- require("core-js/modules/es.object.to-string.js");
13
- require("core-js/modules/esnext.async-iterator.filter.js");
14
- require("core-js/modules/esnext.async-iterator.for-each.js");
15
- require("core-js/modules/esnext.iterator.constructor.js");
16
- require("core-js/modules/esnext.iterator.filter.js");
17
- require("core-js/modules/esnext.iterator.for-each.js");
18
- require("core-js/modules/web.dom-collections.for-each.js");
19
4
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
20
5
  Object.defineProperty(exports, "__esModule", {
21
6
  value: true
22
7
  });
23
8
  exports.View = void 0;
24
- require("core-js/modules/es.array.concat.js");
25
9
  require("core-js/modules/es.array.map.js");
26
- require("core-js/modules/es.date.to-json.js");
27
- require("core-js/modules/es.json.stringify.js");
28
10
  require("core-js/modules/esnext.async-iterator.map.js");
29
11
  require("core-js/modules/esnext.iterator.map.js");
30
- require("core-js/modules/web.timers.js");
31
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
32
- var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
33
12
  var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
13
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
34
14
  var _mobxReact = require("mobx-react");
35
15
  var _react = require("react");
36
16
  var _store = require("./store");
37
- require("./index.css");
38
- var _confirmContent = require("agora-ui-foundation/lib/components/confirm-content");
39
17
  var _useElectron = require("../dialog/hooks/useElectron");
40
- var _react2 = require("@use-gesture/react");
41
18
  var _env = require("agora-foundation/lib/utilities/env");
42
- var _tools = require("../../utilities/tools");
43
- var _platform = require("../../utilities/platform");
19
+ var _window = require("./components/window");
20
+ require("./index.css");
44
21
  var _jsxRuntime = require("react/jsx-runtime");
45
- function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
46
- function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
47
22
  var View = exports.View = (0, _mobxReact.observer)(function () {
48
23
  var _useContext = (0, _react.useContext)(_store.StoreContext),
49
24
  confirmList = _useContext.confirmList;
50
25
  var _ref = (0, _env.isElectron)() ? (0, _react.useContext)(_useElectron.DialogInstanceContext) : {},
51
26
  browserWindow = _ref.browserWindow;
27
+ var _useState = (0, _react.useState)(undefined),
28
+ _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
29
+ activeConfirm = _useState2[0],
30
+ setActiveConfirm = _useState2[1];
52
31
  (0, _react.useEffect)(function () {
32
+ // window.addEventListener('mousemove', setMousePosition);
53
33
  if ((0, _toConsumableArray2["default"])(confirmList).length === 0) {
54
34
  browserWindow === null || browserWindow === void 0 || browserWindow.setIgnoreMouseEvents(true);
55
35
  browserWindow === null || browserWindow === void 0 || browserWindow.blur();
@@ -57,155 +37,27 @@ var View = exports.View = (0, _mobxReact.observer)(function () {
57
37
  browserWindow === null || browserWindow === void 0 || browserWindow.focus();
58
38
  browserWindow === null || browserWindow === void 0 || browserWindow.setAlwaysOnTop(true, 'screen-saver');
59
39
  }
40
+ // return () => {
41
+ // window.removeEventListener('mousemove', setMousePosition);
42
+ // };
60
43
  }, [confirmList]);
44
+ var handleMouseEnter = function handleMouseEnter(title) {
45
+ setActiveConfirm(title);
46
+ };
47
+ var handleMouseLeave = function handleMouseLeave() {
48
+ setActiveConfirm(undefined);
49
+ };
61
50
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_jsxRuntime.Fragment, {
62
51
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
63
52
  className: "confirm-wrapper",
64
- children: (0, _toConsumableArray2["default"])(confirmList).map(function (confirm, idx) {
65
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(ConfirmWindow, {
66
- confirm: confirm
53
+ children: (0, _toConsumableArray2["default"])(confirmList).map(function (confirm) {
54
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_window.ConfirmWindow, {
55
+ confirm: confirm,
56
+ onMouseEnter: handleMouseEnter,
57
+ onMouseLeave: handleMouseLeave,
58
+ activeConfirm: activeConfirm
67
59
  }, confirm.title);
68
60
  })
69
61
  })
70
62
  });
71
- });
72
- var ConfirmWindow = (0, _mobxReact.observer)(function (_ref2) {
73
- var _rndRef$current;
74
- var confirm = _ref2.confirm;
75
- var _useContext2 = (0, _react.useContext)(_store.StoreContext),
76
- screenBounds = _useContext2.screenBounds,
77
- calculateMethods = _useContext2.calculateMethods,
78
- log = _useContext2.log;
79
- var _ref3 = (0, _env.isElectron)() ? (0, _react.useContext)(_useElectron.DialogInstanceContext) : {},
80
- browserWindow = _ref3.browserWindow;
81
- var rndRef = (0, _react.useRef)(null);
82
- var windowFocusTimerRef = (0, _react.useRef)();
83
- var defaultSize = {
84
- width: confirm.width || 320,
85
- height: confirm.height ? confirm.height : ((_rndRef$current = rndRef.current) === null || _rndRef$current === void 0 ? void 0 : _rndRef$current.getBoundingClientRect().height) || (confirm.icon ? 160 : 150)
86
- };
87
- var baseBounds = (0, _react.useMemo)(function () {
88
- var _ref4 = screenBounds || {
89
- width: window.innerWidth,
90
- height: window.innerHeight
91
- },
92
- width = _ref4.width,
93
- height = _ref4.height;
94
- return {
95
- x: width / 2 - defaultSize.width / 2,
96
- y: height / 2 - defaultSize.height / 2,
97
- width: width,
98
- height: height
99
- };
100
- }, [screenBounds]);
101
- var _useState = (0, _react.useState)({
102
- x: baseBounds.x,
103
- y: baseBounds.y
104
- }),
105
- _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
106
- bounds = _useState2[0],
107
- setBounds = _useState2[1];
108
- var bind = (0, _react2.useDrag)(function (_ref5) {
109
- var _ref5$delta = (0, _slicedToArray2["default"])(_ref5.delta, 2),
110
- dx = _ref5$delta[0],
111
- dy = _ref5$delta[1];
112
- var x = bounds.x + dx;
113
- var y = bounds.y + dy;
114
- var maxX = baseBounds.width - defaultSize.width;
115
- var maxY = baseBounds.height - defaultSize.height;
116
- var coord = {
117
- x: Math.max(0, Math.min(maxX, x)),
118
- y: Math.max(0, Math.min(maxY, y))
119
- };
120
- setBounds(coord);
121
- });
122
- var ignoreMouseTimer = (0, _react.useRef)();
123
- function recalculate(bounds) {
124
- if (windowFocusTimerRef.current) {
125
- clearTimeout(windowFocusTimerRef.current);
126
- windowFocusTimerRef.current = undefined;
127
- }
128
- log("call handle checkMouseOver condition: ".concat((0, _env.isElectron)(), " && ").concat((0, _platform.isWindows)(), " && ").concat(browserWindow, " && ").concat(rndRef.current, " && ").concat(JSON.stringify(screenBounds)));
129
- if ((0, _env.isElectron)() && (0, _platform.isWindows)() && browserWindow && rndRef.current && screenBounds) {
130
- log("handleCheckMouseOver called , the bounds is ".concat(JSON.stringify(bounds || screenBounds)));
131
- (0, _tools.handleCheckMouseOver)({
132
- elem: rndRef.current,
133
- browserWindow: browserWindow,
134
- screenBounds: bounds || screenBounds,
135
- callback: function callback(timerId) {
136
- windowFocusTimerRef.current = timerId;
137
- }
138
- });
139
- }
140
- }
141
- var handleRecalculate = function handleRecalculate() {
142
- return recalculate();
143
- };
144
- (0, _react.useEffect)(function () {
145
- browserWindow === null || browserWindow === void 0 || browserWindow.setIgnoreMouseEvents(true, {
146
- forward: true
147
- });
148
- recalculate();
149
- !calculateMethods.has(confirm) && calculateMethods.set(confirm, recalculate);
150
- (0, _env.isElectron)() && (0, _platform.isWindows)() && window.runtime.screen.addListener('display-removed', handleRecalculate);
151
- return function () {
152
- clearTimeout(windowFocusTimerRef.current);
153
- calculateMethods["delete"](confirm);
154
- ignoreMouseTimer.current && clearInterval(ignoreMouseTimer.current);
155
- (0, _env.isElectron)() && (0, _platform.isWindows)() && window.runtime.screen.removeListener('display-removed', handleRecalculate);
156
- };
157
- }, [rndRef.current /** hack 处理 windows 下,弹出窗口层级不对的问题 */]);
158
- (0, _react.useEffect)(function () {
159
- log("when screen bounds changed ".concat(JSON.stringify(screenBounds)));
160
- (0, _platform.isWindows)() && setBounds({
161
- x: baseBounds.x,
162
- y: baseBounds.y
163
- });
164
- }, [screenBounds]);
165
- var handleMouseEnter = function handleMouseEnter() {
166
- ignoreMouseTimer.current && clearInterval(ignoreMouseTimer.current);
167
- if ((0, _env.isElectron)()) {
168
- browserWindow === null || browserWindow === void 0 || browserWindow.setIgnoreMouseEvents(false);
169
- browserWindow === null || browserWindow === void 0 || browserWindow.focus();
170
- }
171
- };
172
- var handleMouseLeave = function handleMouseLeave() {
173
- if ((0, _env.isElectron)()) {
174
- browserWindow === null || browserWindow === void 0 || browserWindow.setIgnoreMouseEvents(true, {
175
- forward: true
176
- });
177
- // 修复老版本的 mac 下,ignore 会失效的问题
178
- ignoreMouseTimer.current = setInterval(function () {
179
- browserWindow === null || browserWindow === void 0 || browserWindow.setIgnoreMouseEvents(true, {
180
- forward: true
181
- });
182
- }, 1000);
183
- }
184
- };
185
- return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", _objectSpread(_objectSpread({}, bind()), {}, {
186
- onMouseLeave: handleMouseLeave,
187
- onMouseEnter: handleMouseEnter,
188
- style: {
189
- width: defaultSize.width,
190
- height: confirm.height || 'auto',
191
- left: "".concat(bounds.x, "px"),
192
- top: "".concat(bounds.y, "px"),
193
- position: 'absolute',
194
- touchAction: 'none'
195
- },
196
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
197
- ref: rndRef,
198
- onClick: function onClick(e) {
199
- return e.stopPropagation();
200
- },
201
- onKeyUp: function onKeyUp(e) {
202
- return e.stopPropagation();
203
- },
204
- onKeyDown: function onKeyDown(e) {
205
- return e.stopPropagation();
206
- },
207
- className: "fcr-confirm-dialog-wrapper_web",
208
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_confirmContent.ConfirmContent, _objectSpread({}, confirm))
209
- })
210
- }));
211
63
  });
@@ -132,7 +132,7 @@ var SoundEffectUIModule = exports.SoundEffectUIModule = /*#__PURE__*/function (_
132
132
  this._chatRoomControl = this.currentRoomControlProvider.currentRoomControl.getChatRoomControl();
133
133
  this._streamControl = this.currentRoomControlProvider.currentRoomControl.getStreamControl();
134
134
  this._roomControl = this.currentRoomControlProvider.currentRoomControl;
135
- this._whiteboardControl = this.currentRoomControlProvider.currentRoomControl.getBoardControl();
135
+ this._whiteboardControl = this.currentRoomControlProvider.currentRoomControl.getSharingControl().getBoardControl();
136
136
  this._userControl = this.currentRoomControlProvider.currentRoomControl.getUserControl();
137
137
  this._deviceStore = this.deviceProvider;
138
138
  this._connectionControl = this.connectionProvider;
@@ -111,7 +111,11 @@ var CommonVideoRenderer = exports.CommonVideoRenderer = (0, _mobxReact.observer)
111
111
  interpreterUserList = _useContext3.interpreterUserList,
112
112
  isInterpreterEnabled = _useContext3.isInterpreterEnabled,
113
113
  openRenameDialog = _useContext3.openRenameDialog,
114
- isVideoSuspended = _useContext3.isVideoSuspended;
114
+ isVideoSuspended = _useContext3.isVideoSuspended,
115
+ scalcValue = _useContext3.scalcValue,
116
+ annotationHasStart = _useContext3.annotationHasStart,
117
+ annotationControl = _useContext3.annotationControl,
118
+ annotation = _useContext3.annotation;
115
119
  var getFormatWindowData = useFormatWindowData();
116
120
  var commonProps = useCommonProps(layoutType);
117
121
  var toggleFullScreen = function toggleFullScreen() {
@@ -186,28 +190,41 @@ var CommonVideoRenderer = exports.CommonVideoRenderer = (0, _mobxReact.observer)
186
190
  videoSourceType = windowData.videoSourceType;
187
191
  var isBoard = type === _type.FcrUIWindowType.BOARD;
188
192
  var isScreenSharing = videoSourceType === _fcrCore.FcrVideoSourceType.SCREEN;
193
+ /**
194
+ * 在只有一个用户时,无法开启网格布局,所以可以通过 data.length 和 layoutType 判断是否是主窗口。
195
+ */
196
+ var isMainWindow = data.length === 1 && layoutType === _type.FcrUILayoutType.GALLERY;
197
+ var isShowScreenSharingInMainWindow = isScreenSharing && isMainWindow;
189
198
  return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
190
199
  className: commonProps.className,
191
200
  style: {
192
201
  width: cols && cols > 1 ? "calc(".concat(100 / cols, "% - ").concat(_Gallery.Gap * 2, "px)") : dimensions.width,
193
202
  height: dimensions.height
194
203
  },
195
- children: isBoard ? renderBoardContent(windowData, windowId) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_memberWindow.MemberWindow, {
196
- memberWindowPreviewType: commonProps.memberWindowPreviewType,
197
- canShowSpeakerSpotlight: commonProps.canShowSpeakerSpotlight,
198
- width: dimensions.width,
199
- height: dimensions.height,
200
- slot: renderMemberWindowActions(windowData, false),
201
- videoRenderMode: _imports.AgoraRtcRenderMode.FIT,
202
- videoStreamType: commonProps.videoStreamType,
203
- windowData: windowData,
204
- showAvatar: true,
205
- onRemovePin: removePin,
206
- onDoubleClick: function onDoubleClick() {
207
- return handleDoubleClick(windowId, isScreenSharing, isPin);
204
+ children: isBoard ? renderBoardContent(windowData, windowId) : /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
205
+ style: {
206
+ width: dimensions.width,
207
+ height: dimensions.height
208
208
  },
209
- isVideoSuspended: isVideoSuspended
210
- }, windowId)
209
+ children: [isShowScreenSharingInMainWindow && annotationControl, /*#__PURE__*/(0, _jsxRuntime.jsx)(_memberWindow.MemberWindow, {
210
+ memberWindowPreviewType: commonProps.memberWindowPreviewType,
211
+ canShowSpeakerSpotlight: commonProps.canShowSpeakerSpotlight,
212
+ width: dimensions.width,
213
+ height: dimensions.height,
214
+ slot: !isShowScreenSharingInMainWindow && renderMemberWindowActions(windowData, false),
215
+ videoRenderMode: _imports.AgoraRtcRenderMode.FIT,
216
+ videoStreamType: commonProps.videoStreamType,
217
+ windowData: windowData,
218
+ showAvatar: true,
219
+ onRemovePin: removePin,
220
+ onDoubleClick: function onDoubleClick() {
221
+ return handleDoubleClick(windowId, isScreenSharing, isPin);
222
+ },
223
+ isVideoSuspended: isVideoSuspended,
224
+ scalcValue: isMainWindow ? scalcValue : 1,
225
+ annotation: annotation
226
+ }, windowId)]
227
+ })
211
228
  }, windowId);
212
229
  })
213
230
  });
@@ -14,6 +14,8 @@ import { FcrUIVideoWindowDataSource } from '../../shared-data-source/video-windo
14
14
  import { FcrUIMemberSharedDataSource } from '../../shared-data-source/member-data';
15
15
  import { FcrUIScreenShareProvider } from '../../providers/screen-share-provider';
16
16
  import { FcrUISharedPinDataSource } from '../../shared-data-source/pin-data';
17
+ import { FcrUIAnnotationProvider } from '../../providers/annotation-provider';
18
+ import { FcrUIScreenShareSharedDataSource } from '../../shared-data-source/screen-share-data';
17
19
  import { FcrUIInterpreterProvider } from '../../providers/interpreter-provider';
18
20
  export declare class LayoutUIModule extends UIModule {
19
21
  private _store?;
@@ -31,6 +33,8 @@ export declare class LayoutUIModule extends UIModule {
31
33
  sharedMemberDataSource?: FcrUIMemberSharedDataSource;
32
34
  screenShareProvider?: FcrUIScreenShareProvider;
33
35
  sharedPinDataSource?: FcrUISharedPinDataSource;
36
+ annotationProvider?: FcrUIAnnotationProvider;
37
+ sharedScreenShareSharedDataSource?: FcrUIScreenShareSharedDataSource;
34
38
  interpreterProvider?: FcrUIInterpreterProvider;
35
39
  onNodeWillActive(): void;
36
40
  onNodeWillInactive(): void;
@@ -57,6 +57,8 @@ var LayoutUIModule = exports.LayoutUIModule = /*#__PURE__*/function (_UIModule)
57
57
  sharedMemberDataSource: this.sharedMemberDataSource,
58
58
  screenShareProvider: this.screenShareProvider,
59
59
  sharedPinDataSource: this.sharedPinDataSource,
60
+ annotationProvider: this.annotationProvider,
61
+ sharedScreenShareDataSource: this.sharedScreenShareSharedDataSource,
60
62
  interpreterProvider: this.interpreterProvider
61
63
  });
62
64
  }
@@ -19,6 +19,8 @@ import { FcrUIVideoWindowDataSource } from '../../shared-data-source/video-windo
19
19
  import { FcrUIMemberSharedDataSource } from '../../shared-data-source/member-data';
20
20
  import { FcrUIScreenShareProvider } from '../../providers/screen-share-provider';
21
21
  import { FcrUISharedPinDataSource } from '../../shared-data-source/pin-data';
22
+ import { FcrUIAnnotationProvider } from '../../providers/annotation-provider';
23
+ import { FcrUIScreenShareSharedDataSource } from '../../shared-data-source/screen-share-data';
22
24
  import { FcrUIInterpreterProvider } from '../../providers/interpreter-provider';
23
25
  export interface FcrLayoutSlots {
24
26
  participant: React.ReactNode;
@@ -28,6 +30,8 @@ export interface FcrLayoutSlots {
28
30
  actionBar: React.ReactNode;
29
31
  layers: React.ReactNode;
30
32
  whiteboard: React.ReactNode;
33
+ annotation: React.ReactNode;
34
+ annotationControl: React.ReactNode;
31
35
  }
32
36
  export interface FcrUILayoutAsideContent {
33
37
  participant: boolean;
@@ -48,6 +52,8 @@ export interface LayoutStoreParams {
48
52
  sharedMemberDataSource: FcrUIMemberSharedDataSource;
49
53
  screenShareProvider: FcrUIScreenShareProvider;
50
54
  sharedPinDataSource: FcrUISharedPinDataSource;
55
+ annotationProvider: FcrUIAnnotationProvider;
56
+ sharedScreenShareDataSource: FcrUIScreenShareSharedDataSource;
51
57
  interpreterProvider: FcrUIInterpreterProvider;
52
58
  }
53
59
  export default class LayoutStore implements FcrLayoutSlots, FcrUIEventObserver {
@@ -74,6 +80,8 @@ export default class LayoutStore implements FcrLayoutSlots, FcrUIEventObserver {
74
80
  private _chatProvider;
75
81
  private _screenShareProvider;
76
82
  private _pinDataSource;
83
+ private _annotationProvider;
84
+ private _sharedScreenShareDataSource;
77
85
  private _interpreterProvider;
78
86
  accessor participant: React.ReactNode;
79
87
  accessor chat: React.ReactNode;
@@ -82,6 +90,8 @@ export default class LayoutStore implements FcrLayoutSlots, FcrUIEventObserver {
82
90
  accessor actionBar: React.ReactNode;
83
91
  accessor layers: React.ReactNode;
84
92
  accessor whiteboard: React.ReactNode;
93
+ accessor annotation: React.ReactNode;
94
+ accessor annotationControl: React.ReactNode;
85
95
  accessor collapsed: boolean;
86
96
  accessor aside: boolean;
87
97
  accessor barHovering: boolean;
@@ -102,6 +112,8 @@ export default class LayoutStore implements FcrLayoutSlots, FcrUIEventObserver {
102
112
  get isMulti(): boolean;
103
113
  get layout(): import("../../type").FcrUIVideoWindowLayoutType;
104
114
  get manualLayout(): import("../../type").FcrUIVideoWindowLayoutType | undefined;
115
+ get scalcValue(): number;
116
+ get annotationHasStart(): boolean;
105
117
  get sourceList(): import("../../shared-data-source/video-window").FcrUIVideoWindowDataImpl[];
106
118
  get layoutMainList(): import("../../shared-data-source/video-window").FcrUIVideoWindowDataImpl[];
107
119
  get mainList(): import("../../shared-data-source/video-window").FcrUIVideoWindowDataImpl[];
@@ -133,8 +145,8 @@ export default class LayoutStore implements FcrLayoutSlots, FcrUIEventObserver {
133
145
  get participantCount(): number;
134
146
  get isVideoSuspended(): boolean;
135
147
  get asideContent(): import("../../type").FcrUIUpdateAsideParams;
136
- get participantsRenderAt(): "aside" | "dialog";
137
- get chatRenderAt(): "aside" | "dialog";
148
+ get participantsRenderAt(): "dialog" | "aside";
149
+ get chatRenderAt(): "dialog" | "aside";
138
150
  getWaterMarkContent(): string;
139
151
  hasMutePermission(targetRole: FcrPrivilegeUserRole | FcrUserRole): boolean;
140
152
  hasUnmutePermission(targetRole: FcrPrivilegeUserRole | FcrUserRole): boolean;