@shijiu/jsview-vue 2.3.0 → 2.3.728-alpha.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.
Files changed (451) hide show
  1. package/bin/browser/BrowserAudio.vue.mjs +4 -1
  2. package/bin/browser/BrowserJsvLatex.vue.mjs +9 -90
  3. package/bin/jsview-vue.mjs +13913 -8048
  4. package/bin/types/utils/JsViewEngineWidget/JsvFocus/JsvFocusHub.d.ts +39 -3
  5. package/bin/types/utils/JsViewEngineWidget/MetroWidget/Const.d.ts +4 -1
  6. package/bin/types/utils/JsViewEngineWidget/MetroWidget/ListWidget.vue.d.ts +225 -0
  7. package/bin/types/utils/JsViewEngineWidget/MetroWidget/MetroWidget.vue.d.ts +225 -0
  8. package/bin/types/utils/JsViewEngineWidget/MetroWidget/MetroWidgetDebugger.d.ts +5 -0
  9. package/bin/types/utils/JsViewEngineWidget/MetroWidget/MetroWidgetSetup.d.ts +25 -2
  10. package/bin/types/utils/JsViewEngineWidget/MetroWidget/PageUpdater.d.ts +7 -1
  11. package/bin/types/utils/JsViewEngineWidget/MetroWidget/RenderItem.d.ts +28 -4
  12. package/bin/types/utils/JsViewEngineWidget/MetroWidget/TaskManager.d.ts +2 -1
  13. package/bin/types/utils/JsViewEngineWidget/MetroWidget/Utils.d.ts +2 -0
  14. package/bin/types/utils/JsViewEngineWidget/MetroWidget/WidgetRectInfo.d.ts +1 -1
  15. package/bin/types/utils/JsViewEngineWidget/SpatialNavigator/SpatialNavProvider.vue.d.ts +70 -0
  16. package/bin/types/utils/JsViewEngineWidget/SpatialNavigator/SpatialNavigationAlgorithm.d.ts +24 -0
  17. package/bin/types/utils/JsViewEngineWidget/SpatialNavigator/SpatialNavigationNode.d.ts +19 -0
  18. package/bin/types/utils/JsViewEngineWidget/SpatialNavigator/SpatialNavigator.d.ts +42 -0
  19. package/bin/types/utils/JsViewEngineWidget/TemplateParser/CommonMetroTemplate.d.ts +5 -4
  20. package/bin/types/utils/JsViewEngineWidget/TemplateParser/ListMetroTemplate.d.ts +2 -1
  21. package/bin/types/utils/JsViewEngineWidget/TemplateParser/MetroTemplate.d.ts +12 -4
  22. package/bin/types/utils/JsViewEngineWidget/TemplateParser/TemplateItemAdder.d.ts +9 -7
  23. package/bin/types/utils/JsViewEngineWidget/WidgetCommon.d.ts +27 -14
  24. package/bin/types/utils/JsViewEngineWidget/index.d.ts +3 -1
  25. package/bin/types/utils/JsViewPlugin/JsvLatex/BrowserDomBuilder.d.ts +0 -1
  26. package/bin/types/utils/JsViewPlugin/JsvLatex/GetVersion.d.ts +14 -0
  27. package/bin/types/utils/JsViewPlugin/JsvLatex/JsvLatex.vue.d.ts +3 -0
  28. package/bin/types/utils/JsViewPlugin/JsvLatex/JsvLatexBridgeProxy.d.ts +1 -0
  29. package/bin/types/utils/JsViewPlugin/JsvLatex/JsvLatexProxy.vue.d.ts +4 -1
  30. package/bin/types/utils/JsViewPlugin/JsvLatex/version.d.mts +29 -2
  31. package/bin/types/utils/JsViewPlugin/JsvPlayer/JsvMedia.d.ts +107 -4
  32. package/bin/types/utils/JsViewPlugin/JsvPlayer/JsvMediaBrowserInterface.d.ts +62 -0
  33. package/bin/types/utils/JsViewPlugin/JsvPlayer/JsvPlayer.vue.d.ts +94 -18
  34. package/bin/types/utils/JsViewPlugin/JsvPlayer/JsvPlayerBrowser-wasm.vue.d.ts +611 -0
  35. package/bin/types/utils/JsViewPlugin/JsvPlayer/{BrowserJsvPlayer.vue.d.ts → JsvPlayerBrowser.vue.d.ts} +24 -23
  36. package/bin/types/utils/JsViewPlugin/JsvPlayer/index-0.9.d.ts +77 -20
  37. package/bin/types/utils/JsViewPlugin/JsvPlayer/index.d.ts +77 -20
  38. package/bin/types/utils/JsViewVueTools/BlobApi.d.ts +38 -0
  39. package/bin/types/utils/JsViewVueTools/FeatureActive.d.ts +1 -0
  40. package/bin/types/utils/JsViewVueTools/ForgeHandles.d.ts +1 -0
  41. package/bin/types/utils/JsViewVueTools/JsvInteractionMode.d.ts +6 -0
  42. package/bin/types/utils/JsViewVueTools/JsvRuntimeBridge.d.ts +44 -1
  43. package/bin/types/utils/JsViewVueTools/JsvTextTools.d.ts +1 -0
  44. package/bin/types/utils/JsViewVueTools/JsvTextureStore/BitPalette/BitPalette.d.ts +43 -0
  45. package/bin/types/utils/JsViewVueTools/JsvTextureStore/CanvasTexture/CommandList.d.ts +1 -0
  46. package/bin/types/utils/JsViewVueTools/JsvTextureStore/CanvasTexture/DrawHelper.d.ts +54 -0
  47. package/bin/types/utils/JsViewVueTools/JsvTextureStore/CanvasTexture/Path.d.ts +13 -0
  48. package/bin/types/utils/JsViewVueTools/JsvTextureStore/CapturedTexture/CapturedTexture.d.ts +5 -3
  49. package/bin/types/utils/JsViewVueTools/JsvTextureStore/JsvTextureStore.d.ts +88 -25
  50. package/bin/types/utils/JsViewVueTools/JsvTextureStore/Store.d.ts +2 -0
  51. package/bin/types/utils/JsViewVueTools/JsvTextureStore/Texture.d.ts +4 -0
  52. package/bin/types/utils/JsViewVueTools/JsvTextureStore/TextureBuilder.d.ts +49 -0
  53. package/bin/types/utils/JsViewVueTools/JsvTextureStore/index.d.ts +2 -0
  54. package/bin/types/utils/JsViewVueTools/index.d.ts +3 -1
  55. package/bin/types/utils/JsViewVueWidget/JsvApic/JsvApic2/JsvApic2.vue.d.ts +12 -22
  56. package/bin/types/utils/JsViewVueWidget/JsvApic/JsvApic2/index.d.ts +12 -22
  57. package/bin/types/utils/JsViewVueWidget/JsvDashPath.vue.d.ts +11 -0
  58. package/bin/types/utils/JsViewVueWidget/JsvDomRenderer/JsViewHtmlToVNodesOptions.d.ts +101 -0
  59. package/bin/types/utils/JsViewVueWidget/JsvDomRenderer/JsvDomRenderer.d.ts +61 -0
  60. package/bin/types/utils/JsViewVueWidget/JsvDomRenderer/htmlToVNodes.d.ts +58 -0
  61. package/bin/types/utils/JsViewVueWidget/JsvDomRenderer/index.d.ts +1 -0
  62. package/bin/types/utils/JsViewVueWidget/JsvFragShaderView/JsvFragShaderView.vue.d.ts +3 -1
  63. package/bin/types/utils/JsViewVueWidget/JsvFreeMoveActor/ActorControl.d.ts +151 -18
  64. package/bin/types/utils/JsViewVueWidget/JsvFreeMoveActor/CallbackManager.d.ts +2 -1
  65. package/bin/types/utils/JsViewVueWidget/JsvFreeMoveActor/CmdTypes.d.ts +16 -0
  66. package/bin/types/utils/JsViewVueWidget/JsvFreeMoveActor/ForgeTypeDefine.d.ts +2 -1
  67. package/bin/types/utils/JsViewVueWidget/JsvFreeMoveActor/NexusNode.d.ts +3 -1
  68. package/bin/types/utils/JsViewVueWidget/JsvFreeMoveActor/SetAction.d.ts +55 -12
  69. package/bin/types/utils/JsViewVueWidget/JsvFreeMoveActor/SetCondition.d.ts +178 -35
  70. package/bin/types/utils/JsViewVueWidget/JsvFreeMoveActor/SetState.d.ts +119 -17
  71. package/bin/types/utils/JsViewVueWidget/JsvFreeMoveActor/index.d.ts +9 -3
  72. package/bin/types/utils/JsViewVueWidget/JsvInput/EditViewOperator.d.ts +4 -1
  73. package/bin/types/utils/JsViewVueWidget/JsvInput/JsvInput.vue.d.ts +22 -1
  74. package/bin/types/utils/JsViewVueWidget/JsvLine/JsvLine.vue.d.ts +1 -1
  75. package/bin/types/utils/JsViewVueWidget/JsvPieChart.vue.d.ts +2 -0
  76. package/bin/types/utils/JsViewVueWidget/JsvPreload/JsvPreload.vue.d.ts +5 -2
  77. package/bin/types/utils/JsViewVueWidget/JsvQrcode/JsvQrcode.vue.d.ts +1 -1
  78. package/bin/types/utils/JsViewVueWidget/JsvScrollBox/JsvScrollBox.vue.d.ts +39 -1
  79. package/bin/types/utils/JsViewVueWidget/JsvSector.vue.d.ts +1 -0
  80. package/bin/types/utils/JsViewVueWidget/JsvSmoothSlideContainer.vue.d.ts +72 -0
  81. package/bin/types/utils/JsViewVueWidget/JsvSoundPool.d.ts +26 -0
  82. package/bin/types/utils/JsViewVueWidget/JsvSwiper/JsvSmoothSwiper.vue.d.ts +112 -0
  83. package/bin/types/utils/JsViewVueWidget/JsvSwiper/JsvSwiper2.vue.d.ts +142 -0
  84. package/bin/types/utils/JsViewVueWidget/JsvSwiper/index.d.ts +3 -1
  85. package/bin/types/utils/JsViewVueWidget/JsvTextBox.vue.d.ts +15 -3
  86. package/bin/types/utils/JsViewVueWidget/JsvTextureAnim/JsvTextureAnim.vue.d.ts +22 -96
  87. package/bin/types/utils/JsViewVueWidget/JsvTouchModeSwitcher.vue.d.ts +6 -0
  88. package/bin/types/utils/JsViewVueWidget/{JsvPosterDiv.vue.d.ts → TypesDiv/JsvPosterDiv.vue.d.ts} +9 -0
  89. package/bin/types/utils/JsViewVueWidget/{JsvPosterImage.vue.d.ts → TypesDiv/JsvPosterImage.vue.d.ts} +15 -3
  90. package/bin/types/utils/JsViewVueWidget/TypesDiv/JsvSmartDiv.vue.d.ts +72 -0
  91. package/bin/types/utils/JsViewVueWidget/TypesDiv/JsvSmartImage.vue.d.ts +90 -0
  92. package/bin/types/utils/JsViewVueWidget/index.d.ts +8 -4
  93. package/dist/types/utils/JsViewEngineWidget/CheckType.d.ts +7 -0
  94. package/dist/types/utils/JsViewEngineWidget/JsvFocus/JsvFocusBlock.vue.d.ts +106 -0
  95. package/dist/types/utils/JsViewEngineWidget/JsvFocus/JsvFocusHub.d.ts +128 -0
  96. package/dist/types/utils/JsViewEngineWidget/JsvFocus/JsvFocusManager.d.ts +25 -0
  97. package/dist/types/utils/JsViewEngineWidget/MetroWidget/Const.d.ts +23 -0
  98. package/dist/types/utils/JsViewEngineWidget/MetroWidget/DebugFrame.vue.d.ts +12 -0
  99. package/dist/types/utils/JsViewEngineWidget/MetroWidget/DebugTools.d.ts +9 -0
  100. package/dist/types/utils/JsViewEngineWidget/MetroWidget/Dispatcher.d.ts +16 -0
  101. package/dist/types/utils/JsViewEngineWidget/MetroWidget/ListWidget.vue.d.ts +412 -0
  102. package/dist/types/utils/JsViewEngineWidget/MetroWidget/MetroWidget.vue.d.ts +751 -0
  103. package/dist/types/utils/JsViewEngineWidget/MetroWidget/MetroWidgetDebugger.d.ts +9 -0
  104. package/dist/types/utils/JsViewEngineWidget/MetroWidget/MetroWidgetSetup.d.ts +82 -0
  105. package/dist/types/utils/JsViewEngineWidget/MetroWidget/PageUpdater.d.ts +31 -0
  106. package/dist/types/utils/JsViewEngineWidget/MetroWidget/RenderItem.d.ts +80 -0
  107. package/dist/types/utils/JsViewEngineWidget/MetroWidget/Slide.d.ts +25 -0
  108. package/dist/types/utils/JsViewEngineWidget/MetroWidget/SlotComponent.vue.d.ts +52 -0
  109. package/dist/types/utils/JsViewEngineWidget/MetroWidget/TaskManager.d.ts +69 -0
  110. package/dist/types/utils/JsViewEngineWidget/MetroWidget/TokenGenerator.d.ts +4 -0
  111. package/dist/types/utils/JsViewEngineWidget/MetroWidget/Utils.d.ts +6 -0
  112. package/dist/types/utils/JsViewEngineWidget/MetroWidget/VisibleInfo.d.ts +20 -0
  113. package/dist/types/utils/JsViewEngineWidget/MetroWidget/WidgetRectInfo.d.ts +21 -0
  114. package/dist/types/utils/JsViewEngineWidget/RangeModel.d.ts +166 -0
  115. package/dist/types/utils/JsViewEngineWidget/RectUtils.d.ts +61 -0
  116. package/dist/types/utils/JsViewEngineWidget/SpatialNavigator/SpatialNavProvider.vue.d.ts +74 -0
  117. package/dist/types/utils/JsViewEngineWidget/SpatialNavigator/SpatialNavigationAlgorithm.d.ts +28 -0
  118. package/dist/types/utils/JsViewEngineWidget/SpatialNavigator/SpatialNavigationNode.d.ts +23 -0
  119. package/dist/types/utils/JsViewEngineWidget/SpatialNavigator/SpatialNavigator.d.ts +46 -0
  120. package/dist/types/utils/JsViewEngineWidget/TemplateParser/CommonMetroTemplate.d.ts +42 -0
  121. package/dist/types/utils/JsViewEngineWidget/TemplateParser/Fence.d.ts +62 -0
  122. package/dist/types/utils/JsViewEngineWidget/TemplateParser/ListMetroTemplate.d.ts +21 -0
  123. package/dist/types/utils/JsViewEngineWidget/TemplateParser/MetroTemplate.d.ts +103 -0
  124. package/dist/types/utils/JsViewEngineWidget/TemplateParser/TemplateItemAdder.d.ts +28 -0
  125. package/dist/types/utils/JsViewEngineWidget/TemplateParser/index.d.ts +8 -0
  126. package/dist/types/utils/JsViewEngineWidget/WidgetCommon.d.ts +160 -0
  127. package/dist/types/utils/JsViewEngineWidget/index.d.ts +21 -0
  128. package/dist/types/utils/JsViewPlugin/JsvAccount/JsvAccount.d.ts +46 -0
  129. package/dist/types/utils/JsViewPlugin/JsvAudio/AudioProxy.d.ts +6 -0
  130. package/dist/types/utils/JsViewPlugin/JsvAudio/BrowserAudio/BrowserAudio.vue.d.ts +22 -0
  131. package/dist/types/utils/JsViewPlugin/JsvAudio/BrowserAudio/JsvSystemAudio.vue.d.ts +212 -0
  132. package/dist/types/utils/JsViewPlugin/JsvAudio/CheckType.d.ts +6 -0
  133. package/dist/types/utils/JsViewPlugin/JsvAudio/Events.d.ts +17 -0
  134. package/dist/types/utils/JsViewPlugin/JsvAudio/JsvAudio.vue.d.ts +22 -0
  135. package/dist/types/utils/JsViewPlugin/JsvAudio/JsvAudioBridgeProxy.d.ts +12 -0
  136. package/dist/types/utils/JsViewPlugin/JsvAudio/JsvAudioProxy.vue.d.ts +6 -0
  137. package/dist/types/utils/JsViewPlugin/JsvAudio/PluginLoader.d.ts +5 -0
  138. package/dist/types/utils/JsViewPlugin/JsvAudio/ScreenLockManager.d.ts +9 -0
  139. package/dist/types/utils/JsViewPlugin/JsvAudio/index.d.ts +7 -0
  140. package/dist/types/utils/JsViewPlugin/JsvAudio/version.d.mts +14 -0
  141. package/{bin/types/utils/JsViewPlugin/JsvLatex → dist/types/utils/JsViewPlugin/JsvAudio}/version.d.ts +5 -0
  142. package/dist/types/utils/JsViewPlugin/JsvLatex/BrowserDomBuilder.d.ts +0 -0
  143. package/dist/types/utils/JsViewPlugin/JsvLatex/BrowserJsvLatex.vue.d.ts +17 -0
  144. package/dist/types/utils/JsViewPlugin/JsvLatex/Color.d.ts +5 -0
  145. package/dist/types/utils/JsViewPlugin/JsvLatex/GetVersion.d.ts +18 -0
  146. package/dist/types/utils/JsViewPlugin/JsvLatex/JsvLatex.vue.d.ts +46 -0
  147. package/dist/types/utils/JsViewPlugin/JsvLatex/JsvLatexBridgeProxy.d.ts +8 -0
  148. package/dist/types/utils/JsViewPlugin/JsvLatex/JsvLatexProxy.vue.d.ts +9 -0
  149. package/dist/types/utils/JsViewPlugin/JsvLatex/PluginLoader.d.ts +5 -0
  150. package/dist/types/utils/JsViewPlugin/JsvLatex/index.d.ts +8 -0
  151. package/dist/types/utils/JsViewPlugin/JsvLatex/version.d.mts +40 -0
  152. package/dist/types/utils/JsViewPlugin/JsvPlayer/AckEventDefine.d.ts +10 -0
  153. package/dist/types/utils/JsViewPlugin/JsvPlayer/GetVersion.d.ts +13 -0
  154. package/dist/types/utils/JsViewPlugin/JsvPlayer/JsvMedia.d.ts +523 -0
  155. package/dist/types/utils/JsViewPlugin/JsvPlayer/JsvMediaBrowserInterface.d.ts +119 -0
  156. package/dist/types/utils/JsViewPlugin/JsvPlayer/JsvPlayer.vue.d.ts +664 -0
  157. package/dist/types/utils/JsViewPlugin/JsvPlayer/JsvPlayerBrowser-0.9.vue.d.ts +45 -0
  158. package/dist/types/utils/JsViewPlugin/JsvPlayer/JsvPlayerBrowser-wasm.vue.d.ts +611 -0
  159. package/dist/types/utils/JsViewPlugin/JsvPlayer/JsvPlayerBrowser.vue.d.ts +597 -0
  160. package/dist/types/utils/JsViewPlugin/JsvPlayer/index-0.9.d.ts +415 -0
  161. package/dist/types/utils/JsViewPlugin/JsvPlayer/index.d.ts +415 -0
  162. package/dist/types/utils/JsViewPlugin/JsvPlayer/version.d.mts +14 -0
  163. package/dist/types/utils/JsViewPlugin/index.d.ts +7 -0
  164. package/dist/types/utils/JsViewVueTools/BlobApi.d.ts +42 -0
  165. package/dist/types/utils/JsViewVueTools/ConstSymbol.d.ts +6 -0
  166. package/dist/types/utils/JsViewVueTools/DebugContentShellJBridge.d.ts +10 -0
  167. package/dist/types/utils/JsViewVueTools/DebugTool.d.ts +12 -0
  168. package/dist/types/utils/JsViewVueTools/DefaultKeyMap.d.ts +14 -0
  169. package/dist/types/utils/JsViewVueTools/FeatureActive.d.ts +15 -0
  170. package/dist/types/utils/JsViewVueTools/ForgeConstDefine.d.ts +15 -0
  171. package/dist/types/utils/JsViewVueTools/ForgeHandles.d.ts +11 -0
  172. package/dist/types/utils/JsViewVueTools/JsvDynamicCssStyle.d.ts +33 -0
  173. package/dist/types/utils/JsViewVueTools/JsvDynamicKeyFrames.d.ts +40 -0
  174. package/dist/types/utils/JsViewVueTools/JsvFederationTools.d.ts +20 -0
  175. package/dist/types/utils/JsViewVueTools/JsvHashHistory.d.ts +20 -0
  176. package/dist/types/utils/JsViewVueTools/JsvImpactTracer.d.ts +44 -0
  177. package/dist/types/utils/JsViewVueTools/JsvInteractionMode.d.ts +10 -0
  178. package/dist/types/utils/JsViewVueTools/JsvPerformance.d.ts +9 -0
  179. package/dist/types/utils/JsViewVueTools/JsvPreDownloader.d.ts +55 -0
  180. package/dist/types/utils/JsViewVueTools/JsvRefTaker.d.ts +52 -0
  181. package/dist/types/utils/JsViewVueTools/JsvRuntimeBridge.d.ts +378 -0
  182. package/dist/types/utils/JsViewVueTools/JsvStyleClass.d.ts +35 -0
  183. package/dist/types/utils/JsViewVueTools/JsvStyleSheetsDeclarer.d.ts +35 -0
  184. package/dist/types/utils/JsViewVueTools/JsvTextTools.d.ts +66 -0
  185. package/dist/types/utils/JsViewVueTools/JsvTextureDefines.d.ts +10 -0
  186. package/dist/types/utils/JsViewVueTools/JsvTextureLoadTool.d.ts +67 -0
  187. package/dist/types/utils/JsViewVueTools/JsvTextureStore/BitPalette/BitPalette.d.ts +47 -0
  188. package/dist/types/utils/JsViewVueTools/JsvTextureStore/CanvasTexture/CanvasTexture.d.ts +99 -0
  189. package/dist/types/utils/JsViewVueTools/JsvTextureStore/CanvasTexture/CommandList.d.ts +20 -0
  190. package/dist/types/utils/JsViewVueTools/JsvTextureStore/CanvasTexture/DrawHelper.d.ts +58 -0
  191. package/dist/types/utils/JsViewVueTools/JsvTextureStore/CanvasTexture/Path.d.ts +113 -0
  192. package/dist/types/utils/JsViewVueTools/JsvTextureStore/CapturedTexture/CapturedTexture.d.ts +17 -0
  193. package/dist/types/utils/JsViewVueTools/JsvTextureStore/JsvTextureStore.d.ts +170 -0
  194. package/dist/types/utils/JsViewVueTools/JsvTextureStore/Store.d.ts +16 -0
  195. package/dist/types/utils/JsViewVueTools/JsvTextureStore/Texture.d.ts +31 -0
  196. package/dist/types/utils/JsViewVueTools/JsvTextureStore/TextureBuilder.d.ts +53 -0
  197. package/dist/types/utils/JsViewVueTools/JsvTextureStore/index.d.ts +6 -0
  198. package/dist/types/utils/JsViewVueTools/NinePatchHelper.d.ts +25 -0
  199. package/dist/types/utils/JsViewVueTools/TextureManagerTools.d.ts +11 -0
  200. package/dist/types/utils/JsViewVueTools/TypeCheckAndSet.d.ts +7 -0
  201. package/dist/types/utils/JsViewVueTools/index.d.ts +29 -0
  202. package/dist/types/utils/JsViewVueWidget/Jsv3dDiv.vue.d.ts +124 -0
  203. package/dist/types/utils/JsViewVueWidget/Jsv3dStage.vue.d.ts +148 -0
  204. package/dist/types/utils/JsViewVueWidget/JsvActorMove/ActorControlBase.d.ts +35 -0
  205. package/dist/types/utils/JsViewVueWidget/JsvActorMove/JsvActorMove.vue.d.ts +102 -0
  206. package/dist/types/utils/JsViewVueWidget/JsvActorMove/JsvActorMoveControl.d.ts +37 -0
  207. package/dist/types/utils/JsViewVueWidget/JsvActorMove/index.d.ts +8 -0
  208. package/dist/types/utils/JsViewVueWidget/JsvApic/JsvApic/BrowserApic.vue.d.ts +15 -0
  209. package/dist/types/utils/JsViewVueWidget/JsvApic/JsvApic/JsvApic.vue.d.ts +77 -0
  210. package/dist/types/utils/JsViewVueWidget/JsvApic/JsvApic/index.d.ts +54 -0
  211. package/dist/types/utils/JsViewVueWidget/JsvApic/JsvApic2/BrowserApic2.vue.d.ts +13 -0
  212. package/dist/types/utils/JsViewVueWidget/JsvApic/JsvApic2/JsvApic2.vue.d.ts +44 -0
  213. package/dist/types/utils/JsViewVueWidget/JsvApic/JsvApic2/index.d.ts +17 -0
  214. package/dist/types/utils/JsViewVueWidget/JsvApic/JsvBrowserApicLib/ApicDataBase.d.ts +13 -0
  215. package/dist/types/utils/JsViewVueWidget/JsvApic/JsvBrowserApicLib/BrowserApicLib.d.ts +3 -0
  216. package/dist/types/utils/JsViewVueWidget/JsvApic/JsvBrowserApicLib/GifData.d.ts +5 -0
  217. package/dist/types/utils/JsViewVueWidget/JsvApic/JsvBrowserApicLib/NormalLoopTool.d.ts +7 -0
  218. package/dist/types/utils/JsViewVueWidget/JsvApic/JsvBrowserApicLib/PartLoopTool.d.ts +12 -0
  219. package/dist/types/utils/JsViewVueWidget/JsvApic/JsvBrowserApicLib/SingleLoopTool.d.ts +5 -0
  220. package/dist/types/utils/JsViewVueWidget/JsvApic/JsvBrowserApicLib/Viewer.d.ts +20 -0
  221. package/dist/types/utils/JsViewVueWidget/JsvApic/JsvBrowserApicLib/WebpData.d.ts +5 -0
  222. package/dist/types/utils/JsViewVueWidget/JsvApic/JsvCommonLoopToolBase.d.ts +26 -0
  223. package/dist/types/utils/JsViewVueWidget/JsvClipDiv/JsvClipDiv.vue.d.ts +74 -0
  224. package/dist/types/utils/JsViewVueWidget/JsvClipDiv/index.d.ts +5 -0
  225. package/dist/types/utils/JsViewVueWidget/JsvConnectLine/ArcLineManager.d.ts +5 -0
  226. package/dist/types/utils/JsViewVueWidget/JsvConnectLine/JsvConnectLine.vue.d.ts +34 -0
  227. package/dist/types/utils/JsViewVueWidget/JsvConnectLine/index.d.ts +6 -0
  228. package/dist/types/utils/JsViewVueWidget/JsvDashPath.vue.d.ts +33 -0
  229. package/dist/types/utils/JsViewVueWidget/JsvDomRenderer/JsViewHtmlToVNodesOptions.d.ts +105 -0
  230. package/dist/types/utils/JsViewVueWidget/JsvDomRenderer/JsvDomRenderer.d.ts +65 -0
  231. package/dist/types/utils/JsViewVueWidget/JsvDomRenderer/htmlToVNodes.d.ts +62 -0
  232. package/dist/types/utils/JsViewVueWidget/JsvDomRenderer/index.d.ts +5 -0
  233. package/dist/types/utils/JsViewVueWidget/JsvDragBox/JsvDragBox.vue.d.ts +109 -0
  234. package/dist/types/utils/JsViewVueWidget/JsvDriftScope/JsvDriftScope.vue.d.ts +108 -0
  235. package/dist/types/utils/JsViewVueWidget/JsvDriftScope/index.d.ts +5 -0
  236. package/dist/types/utils/JsViewVueWidget/JsvEnableRenderBreak.vue.d.ts +61 -0
  237. package/dist/types/utils/JsViewVueWidget/JsvFilterView.vue.d.ts +91 -0
  238. package/dist/types/utils/JsViewVueWidget/JsvFlexCell/JsvFlexDiv.vue.d.ts +106 -0
  239. package/dist/types/utils/JsViewVueWidget/JsvFlexCell/JsvFullScrAdjust.vue.d.ts +100 -0
  240. package/dist/types/utils/JsViewVueWidget/JsvFlexCell/JsvScreenFlex.vue.d.ts +108 -0
  241. package/dist/types/utils/JsViewVueWidget/JsvFlexCell/index.d.ts +7 -0
  242. package/dist/types/utils/JsViewVueWidget/JsvFragShaderView/JsvFragShaderView.vue.d.ts +63 -0
  243. package/dist/types/utils/JsViewVueWidget/JsvFragShaderView/index.d.ts +5 -0
  244. package/dist/types/utils/JsViewVueWidget/JsvFreeMoveActor/ActionRefObject.d.ts +4 -0
  245. package/dist/types/utils/JsViewVueWidget/JsvFreeMoveActor/ActorControl.d.ts +228 -0
  246. package/dist/types/utils/JsViewVueWidget/JsvFreeMoveActor/ActorState.d.ts +6 -0
  247. package/dist/types/utils/JsViewVueWidget/JsvFreeMoveActor/CallbackManager.d.ts +16 -0
  248. package/dist/types/utils/JsViewVueWidget/JsvFreeMoveActor/CmdTypes.d.ts +16 -0
  249. package/dist/types/utils/JsViewVueWidget/JsvFreeMoveActor/ForgeTypeDefine.d.ts +20 -0
  250. package/dist/types/utils/JsViewVueWidget/JsvFreeMoveActor/JsvEnvBlocker.vue.d.ts +106 -0
  251. package/dist/types/utils/JsViewVueWidget/JsvFreeMoveActor/JsvFreeMoveActor.vue.d.ts +107 -0
  252. package/dist/types/utils/JsViewVueWidget/JsvFreeMoveActor/KeepFlags.d.ts +11 -0
  253. package/dist/types/utils/JsViewVueWidget/JsvFreeMoveActor/NexusNode.d.ts +12 -0
  254. package/dist/types/utils/JsViewVueWidget/JsvFreeMoveActor/SetAction.d.ts +118 -0
  255. package/dist/types/utils/JsViewVueWidget/JsvFreeMoveActor/SetCondition.d.ts +244 -0
  256. package/dist/types/utils/JsViewVueWidget/JsvFreeMoveActor/SetState.d.ts +169 -0
  257. package/dist/types/utils/JsViewVueWidget/JsvFreeMoveActor/SyncLinkManager.d.ts +22 -0
  258. package/dist/types/utils/JsViewVueWidget/JsvFreeMoveActor/index.d.ts +24 -0
  259. package/dist/types/utils/JsViewVueWidget/JsvGrid.vue.d.ts +241 -0
  260. package/dist/types/utils/JsViewVueWidget/JsvHole.d.ts +19 -0
  261. package/dist/types/utils/JsViewVueWidget/JsvInput/Cursor.vue.d.ts +16 -0
  262. package/dist/types/utils/JsViewVueWidget/JsvInput/EditViewOperator.d.ts +52 -0
  263. package/dist/types/utils/JsViewVueWidget/JsvInput/EditVisibleArea.d.ts +30 -0
  264. package/dist/types/utils/JsViewVueWidget/JsvInput/JsvInput.vue.d.ts +98 -0
  265. package/dist/types/utils/JsViewVueWidget/JsvInput/SharedDefine.d.ts +17 -0
  266. package/dist/types/utils/JsViewVueWidget/JsvInput/SystemTextTools.d.ts +20 -0
  267. package/dist/types/utils/JsViewVueWidget/JsvInput/index.d.ts +8 -0
  268. package/dist/types/utils/JsViewVueWidget/JsvLine/JsvLine.vue.d.ts +32 -0
  269. package/dist/types/utils/JsViewVueWidget/JsvLine/LineManager.d.ts +5 -0
  270. package/dist/types/utils/JsViewVueWidget/JsvLine/index.d.ts +6 -0
  271. package/dist/types/utils/JsViewVueWidget/JsvMarquee.vue.d.ts +33 -0
  272. package/dist/types/utils/JsViewVueWidget/JsvMaskClipDiv.vue.d.ts +101 -0
  273. package/dist/types/utils/JsViewVueWidget/JsvMindMap/CommonType.d.ts +1 -0
  274. package/dist/types/utils/JsViewVueWidget/JsvMindMap/Constant.d.ts +13 -0
  275. package/dist/types/utils/JsViewVueWidget/JsvMindMap/DataTree.d.ts +75 -0
  276. package/dist/types/utils/JsViewVueWidget/JsvMindMap/Geometry.d.ts +72 -0
  277. package/dist/types/utils/JsViewVueWidget/JsvMindMap/JsvMindMap.vue.d.ts +235 -0
  278. package/dist/types/utils/JsViewVueWidget/JsvMindMap/index.d.ts +5 -0
  279. package/dist/types/utils/JsViewVueWidget/JsvMindMap/rtree.d.ts +44 -0
  280. package/dist/types/utils/JsViewVueWidget/JsvNativeSharedDiv.vue.d.ts +93 -0
  281. package/dist/types/utils/JsViewVueWidget/JsvNinePatch.vue.d.ts +55 -0
  282. package/dist/types/utils/JsViewVueWidget/JsvPieChart.vue.d.ts +30 -0
  283. package/dist/types/utils/JsViewVueWidget/JsvPreload/JsvPreload.vue.d.ts +68 -0
  284. package/dist/types/utils/JsViewVueWidget/JsvPreload/index.d.ts +6 -0
  285. package/dist/types/utils/JsViewVueWidget/JsvProgressBar.vue.d.ts +31 -0
  286. package/dist/types/utils/JsViewVueWidget/JsvQrcode/JsvQrcode.vue.d.ts +85 -0
  287. package/dist/types/utils/JsViewVueWidget/JsvRadarChart.vue.d.ts +37 -0
  288. package/dist/types/utils/JsViewVueWidget/JsvRipple/Constant.d.ts +8 -0
  289. package/dist/types/utils/JsViewVueWidget/JsvRipple/JsvRipple.vue.d.ts +129 -0
  290. package/dist/types/utils/JsViewVueWidget/JsvRipple/index.d.ts +7 -0
  291. package/dist/types/utils/JsViewVueWidget/JsvScaleTextBox.vue.d.ts +28 -0
  292. package/dist/types/utils/JsViewVueWidget/JsvScrollBox/JsvScrollBox.vue.d.ts +278 -0
  293. package/dist/types/utils/JsViewVueWidget/JsvScrollBox/JsvScrollFollow.vue.d.ts +157 -0
  294. package/dist/types/utils/JsViewVueWidget/JsvScrollBox/ScrollInnerSymbol.d.ts +8 -0
  295. package/dist/types/utils/JsViewVueWidget/JsvScrollBox/ScrollSymbol.d.ts +16 -0
  296. package/dist/types/utils/JsViewVueWidget/JsvScrollBox/index.d.ts +7 -0
  297. package/dist/types/utils/JsViewVueWidget/JsvSector.vue.d.ts +30 -0
  298. package/dist/types/utils/JsViewVueWidget/JsvSmoothSlideContainer.vue.d.ts +76 -0
  299. package/dist/types/utils/JsViewVueWidget/JsvSoundPool.d.ts +114 -0
  300. package/dist/types/utils/JsViewVueWidget/JsvSpray/JsvSpray.vue.d.ts +58 -0
  301. package/dist/types/utils/JsViewVueWidget/JsvSpriteAnim/FrameBuidler.d.ts +18 -0
  302. package/dist/types/utils/JsViewVueWidget/JsvSpriteAnim/JsvSpriteAnim.vue.d.ts +70 -0
  303. package/dist/types/utils/JsViewVueWidget/JsvSpriteAnim/JsvSpriteLoader.vue.d.ts +85 -0
  304. package/dist/types/utils/JsViewVueWidget/JsvSpriteAnim/JsvSpriteTools.d.ts +15 -0
  305. package/dist/types/utils/JsViewVueWidget/JsvSpriteAnim/SpriteController.d.ts +21 -0
  306. package/dist/types/utils/JsViewVueWidget/JsvSpriteAnim/index.d.ts +9 -0
  307. package/dist/types/utils/JsViewVueWidget/JsvSpriteAnim/sAnimationToken.d.ts +6 -0
  308. package/dist/types/utils/JsViewVueWidget/JsvSwiper/Indicator.vue.d.ts +16 -0
  309. package/dist/types/utils/JsViewVueWidget/JsvSwiper/JsvSmoothSwiper.vue.d.ts +141 -0
  310. package/dist/types/utils/JsViewVueWidget/JsvSwiper/JsvSwiper.vue.d.ts +248 -0
  311. package/dist/types/utils/JsViewVueWidget/JsvSwiper/JsvSwiper2.vue.d.ts +181 -0
  312. package/dist/types/utils/JsViewVueWidget/JsvSwiper/index.d.ts +8 -0
  313. package/dist/types/utils/JsViewVueWidget/JsvSwiper3D/Indicator.vue.d.ts +16 -0
  314. package/dist/types/utils/JsViewVueWidget/JsvSwiper3D/JsvSwiper.vue.d.ts +121 -0
  315. package/dist/types/utils/JsViewVueWidget/JsvSwiper3D/index.d.ts +6 -0
  316. package/dist/types/utils/JsViewVueWidget/JsvTextBox.vue.d.ts +121 -0
  317. package/dist/types/utils/JsViewVueWidget/JsvTextureAnim/CommonType.d.ts +6 -0
  318. package/dist/types/utils/JsViewVueWidget/JsvTextureAnim/JsvTextureAnim.vue.d.ts +38 -0
  319. package/dist/types/utils/JsViewVueWidget/JsvTextureAnim/index.d.ts +8 -0
  320. package/dist/types/utils/JsViewVueWidget/JsvTouchModeSwitcher.vue.d.ts +109 -0
  321. package/dist/types/utils/JsViewVueWidget/JsvVideo.vue.d.ts +23 -0
  322. package/dist/types/utils/JsViewVueWidget/JsvVisibleSensor/JsvVisibleSensor.vue.d.ts +109 -0
  323. package/dist/types/utils/JsViewVueWidget/JsvVisibleSensor/index.d.ts +88 -0
  324. package/dist/types/utils/JsViewVueWidget/TypesDiv/JsvPosterDiv.vue.d.ts +94 -0
  325. package/dist/types/utils/JsViewVueWidget/TypesDiv/JsvPosterImage.vue.d.ts +115 -0
  326. package/dist/types/utils/JsViewVueWidget/TypesDiv/JsvSmartDiv.vue.d.ts +94 -0
  327. package/dist/types/utils/JsViewVueWidget/TypesDiv/JsvSmartImage.vue.d.ts +115 -0
  328. package/dist/types/utils/JsViewVueWidget/index.d.ts +53 -0
  329. package/dist/types/utils/index.d.ts +8 -0
  330. package/dist/utils/browser/BrowserAudio.vue.mjs +258 -0
  331. package/dist/utils/browser/BrowserJsvLatex.vue.mjs +64 -0
  332. package/dist/utils/export-sfc.mjs +12 -0
  333. package/dist/utils/index.mjs +29000 -0
  334. package/dist/utils/jsview-vue-common.mjs +39 -0
  335. package/package.json +1 -1
  336. package/utils/JsViewEngineWidget/JsvFocus/JsvFocusBlock.vue +32 -16
  337. package/utils/JsViewEngineWidget/JsvFocus/JsvFocusHub.ts +51 -3
  338. package/utils/JsViewEngineWidget/MetroWidget/Const.ts +5 -0
  339. package/utils/JsViewEngineWidget/MetroWidget/ListWidget.vue +193 -89
  340. package/utils/JsViewEngineWidget/MetroWidget/MetroWidget.vue +347 -145
  341. package/utils/JsViewEngineWidget/MetroWidget/MetroWidgetDebugger.ts +15 -0
  342. package/utils/JsViewEngineWidget/MetroWidget/MetroWidgetSetup.js +1603 -588
  343. package/utils/JsViewEngineWidget/MetroWidget/PageUpdater.ts +41 -23
  344. package/utils/JsViewEngineWidget/MetroWidget/RenderItem.ts +146 -38
  345. package/utils/JsViewEngineWidget/MetroWidget/TaskManager.ts +39 -26
  346. package/utils/JsViewEngineWidget/MetroWidget/Utils.ts +6 -0
  347. package/utils/JsViewEngineWidget/MetroWidget/WidgetRectInfo.ts +2 -1
  348. package/utils/JsViewEngineWidget/RectUtils.js +1 -1
  349. package/utils/JsViewEngineWidget/SpatialNavigator/SpatialNavProvider.vue +62 -0
  350. package/utils/JsViewEngineWidget/SpatialNavigator/SpatialNavigationAlgorithm.ts +260 -0
  351. package/utils/JsViewEngineWidget/SpatialNavigator/SpatialNavigationNode.ts +32 -0
  352. package/utils/JsViewEngineWidget/SpatialNavigator/SpatialNavigator.ts +236 -0
  353. package/utils/JsViewEngineWidget/TemplateParser/CommonMetroTemplate.ts +434 -264
  354. package/utils/JsViewEngineWidget/TemplateParser/ListMetroTemplate.ts +101 -27
  355. package/utils/JsViewEngineWidget/TemplateParser/MetroTemplate.ts +54 -5
  356. package/utils/JsViewEngineWidget/TemplateParser/TemplateItemAdder.ts +109 -41
  357. package/utils/JsViewEngineWidget/WidgetCommon.ts +29 -7
  358. package/utils/JsViewEngineWidget/index.ts +7 -2
  359. package/utils/JsViewPlugin/JsvAudio/BrowserAudio/BrowserAudio.vue +4 -0
  360. package/utils/JsViewPlugin/JsvAudio/BrowserAudio/JsvSystemAudio.vue +13 -13
  361. package/utils/JsViewPlugin/JsvLatex/BrowserDomBuilder.js +46 -46
  362. package/utils/JsViewPlugin/JsvLatex/BrowserJsvLatex.vue +54 -41
  363. package/utils/JsViewPlugin/JsvLatex/Color.ts +104 -39
  364. package/utils/JsViewPlugin/JsvLatex/GetVersion.js +65 -0
  365. package/utils/JsViewPlugin/JsvLatex/JsvLatex.vue +71 -17
  366. package/utils/JsViewPlugin/JsvLatex/JsvLatexBridgeProxy.js +10 -0
  367. package/utils/JsViewPlugin/JsvLatex/JsvLatexProxy.vue +14 -2
  368. package/utils/JsViewPlugin/JsvLatex/PluginLoader.js +63 -31
  369. package/utils/JsViewPlugin/JsvLatex/version.mjs +26 -13
  370. package/utils/JsViewPlugin/JsvPlayer/GetVersion.js +2 -1
  371. package/utils/JsViewPlugin/JsvPlayer/JsvMedia.js +402 -23
  372. package/utils/JsViewPlugin/JsvPlayer/JsvMediaBrowserInterface.js +100 -0
  373. package/utils/JsViewPlugin/JsvPlayer/JsvPlayer.vue +363 -468
  374. package/utils/JsViewPlugin/JsvPlayer/{BrowserJsvPlayer.vue → JsvPlayerBrowser-wasm.vue} +61 -11
  375. package/utils/JsViewPlugin/JsvPlayer/JsvPlayerBrowser.vue +511 -0
  376. package/utils/JsViewPlugin/JsvPlayer/index-0.9.js +52 -10
  377. package/utils/JsViewPlugin/JsvPlayer/index.js +58 -9
  378. package/utils/JsViewPlugin/JsvPlayer/package.json +8 -0
  379. package/utils/JsViewVueTools/BlobApi.ts +55 -0
  380. package/utils/JsViewVueTools/FeatureActive.ts +5 -1
  381. package/utils/JsViewVueTools/ForgeHandles.ts +8 -2
  382. package/utils/JsViewVueTools/JsvInteractionMode.js +16 -0
  383. package/utils/JsViewVueTools/JsvPreDownloader.ts +2 -2
  384. package/utils/JsViewVueTools/JsvRuntimeBridge.js +125 -8
  385. package/utils/JsViewVueTools/JsvTextTools.ts +12 -2
  386. package/utils/JsViewVueTools/JsvTextureStore/BitPalette/BitPalette.ts +180 -0
  387. package/utils/JsViewVueTools/JsvTextureStore/CanvasTexture/CommandList.ts +1 -0
  388. package/utils/JsViewVueTools/JsvTextureStore/CanvasTexture/DrawHelper.ts +304 -0
  389. package/utils/JsViewVueTools/JsvTextureStore/CanvasTexture/Path.ts +38 -0
  390. package/utils/JsViewVueTools/JsvTextureStore/CapturedTexture/CapturedTexture.ts +30 -12
  391. package/utils/JsViewVueTools/JsvTextureStore/JsvTextureStore.ts +157 -51
  392. package/utils/JsViewVueTools/JsvTextureStore/Store.ts +33 -21
  393. package/utils/JsViewVueTools/JsvTextureStore/Texture.ts +56 -41
  394. package/utils/JsViewVueTools/JsvTextureStore/TextureBuilder.ts +92 -0
  395. package/utils/JsViewVueTools/JsvTextureStore/index.js +2 -0
  396. package/utils/JsViewVueTools/index.js +3 -1
  397. package/utils/JsViewVueWidget/JsvApic/JsvApic2/JsvApic2.vue +111 -86
  398. package/utils/JsViewVueWidget/JsvDashPath.vue +150 -0
  399. package/utils/JsViewVueWidget/JsvDomRenderer/JsViewHtmlToVNodesOptions.ts +212 -0
  400. package/utils/JsViewVueWidget/JsvDomRenderer/JsvDomRenderer.ts +146 -0
  401. package/utils/JsViewVueWidget/JsvDomRenderer/htmlToVNodes.ts +748 -0
  402. package/utils/JsViewVueWidget/JsvDomRenderer/index.ts +1 -0
  403. package/utils/JsViewVueWidget/JsvDragBox/JsvDragBox.vue +10 -1
  404. package/utils/JsViewVueWidget/JsvEnableRenderBreak.vue +6 -0
  405. package/utils/JsViewVueWidget/JsvFlexCell/JsvFlexDiv.vue +11 -5
  406. package/utils/JsViewVueWidget/JsvFlexCell/JsvFullScrAdjust.vue +3 -1
  407. package/utils/JsViewVueWidget/JsvFlexCell/JsvScreenFlex.vue +3 -1
  408. package/utils/JsViewVueWidget/JsvFragShaderView/JsvFragShaderView.vue +24 -8
  409. package/utils/JsViewVueWidget/JsvFreeMoveActor/ActorControl.ts +269 -26
  410. package/utils/JsViewVueWidget/JsvFreeMoveActor/CallbackManager.ts +2 -1
  411. package/utils/JsViewVueWidget/JsvFreeMoveActor/CmdTypes.ts +24 -0
  412. package/utils/JsViewVueWidget/JsvFreeMoveActor/ForgeTypeDefine.ts +3 -0
  413. package/utils/JsViewVueWidget/JsvFreeMoveActor/{FreeMoveActor.vue → JsvFreeMoveActor.vue} +5 -1
  414. package/utils/JsViewVueWidget/JsvFreeMoveActor/NexusNode.ts +10 -2
  415. package/utils/JsViewVueWidget/JsvFreeMoveActor/SetAction.ts +223 -100
  416. package/utils/JsViewVueWidget/JsvFreeMoveActor/SetCondition.ts +245 -64
  417. package/utils/JsViewVueWidget/JsvFreeMoveActor/SetState.ts +95 -29
  418. package/utils/JsViewVueWidget/JsvFreeMoveActor/index.js +27 -5
  419. package/utils/JsViewVueWidget/JsvInput/EditViewOperator.ts +11 -2
  420. package/utils/JsViewVueWidget/JsvInput/JsvInput.vue +30 -2
  421. package/utils/JsViewVueWidget/JsvLine/JsvLine.vue +24 -7
  422. package/utils/JsViewVueWidget/JsvMarquee.vue +1 -1
  423. package/utils/JsViewVueWidget/JsvNativeSharedDiv.vue +12 -10
  424. package/utils/JsViewVueWidget/JsvNinePatch.vue +22 -12
  425. package/utils/JsViewVueWidget/JsvPieChart.vue +93 -70
  426. package/utils/JsViewVueWidget/JsvPreload/JsvPreload.vue +34 -31
  427. package/utils/JsViewVueWidget/JsvQrcode/JsvQrcode.vue +2 -1
  428. package/utils/JsViewVueWidget/JsvScrollBox/JsvScrollBox.vue +56 -25
  429. package/utils/JsViewVueWidget/JsvScrollBox/JsvScrollFollow.vue +11 -11
  430. package/utils/JsViewVueWidget/JsvSector.vue +66 -28
  431. package/utils/JsViewVueWidget/JsvSmoothSlideContainer.vue +108 -0
  432. package/utils/JsViewVueWidget/JsvSoundPool.js +75 -12
  433. package/utils/JsViewVueWidget/JsvSwiper/JsvSmoothSwiper.vue +543 -0
  434. package/utils/JsViewVueWidget/JsvSwiper/JsvSwiper.vue +3 -3
  435. package/utils/JsViewVueWidget/JsvSwiper/JsvSwiper2.vue +644 -0
  436. package/utils/JsViewVueWidget/JsvSwiper/index.js +3 -1
  437. package/utils/JsViewVueWidget/JsvTextBox.vue +30 -1
  438. package/utils/JsViewVueWidget/JsvTextureAnim/JsvTextureAnim.vue +315 -299
  439. package/utils/JsViewVueWidget/JsvTouchModeSwitcher.vue +56 -14
  440. package/utils/JsViewVueWidget/JsvVisibleSensor/JsvVisibleSensor.vue +8 -6
  441. package/utils/JsViewVueWidget/TypesDiv/JsvPosterDiv.vue +54 -0
  442. package/utils/JsViewVueWidget/TypesDiv/JsvPosterImage.vue +88 -0
  443. package/utils/JsViewVueWidget/TypesDiv/JsvSmartDiv.vue +177 -0
  444. package/utils/JsViewVueWidget/TypesDiv/JsvSmartImage.vue +267 -0
  445. package/utils/JsViewVueWidget/index.js +9 -3
  446. package/utils/JsViewPlugin/JsvLatex/version.js +0 -24
  447. package/utils/JsViewVueWidget/JsvPosterDiv.vue +0 -56
  448. package/utils/JsViewVueWidget/JsvPosterImage.vue +0 -105
  449. /package/bin/types/utils/JsViewPlugin/JsvPlayer/{BrowserJsvPlayer-0.9.vue.d.ts → JsvPlayerBrowser-0.9.vue.d.ts} +0 -0
  450. /package/bin/types/utils/JsViewVueWidget/JsvFreeMoveActor/{FreeMoveActor.vue.d.ts → JsvFreeMoveActor.vue.d.ts} +0 -0
  451. /package/utils/JsViewPlugin/JsvPlayer/{BrowserJsvPlayer-0.9.vue → JsvPlayerBrowser-0.9.vue} +0 -0
@@ -0,0 +1,180 @@
1
+ import ForgeHandles from "../../../JsViewVueTools/ForgeHandles";
2
+
3
+
4
+ const enum BitPaletteCommand {
5
+ Cmd_GetDomainColorSync = 1003, // 同步,return StringPtr
6
+ Cmd_SubMapBlob, // 异步,回调 jse::Function
7
+ Cmd_SubMapTextureSync, // 同步,return StringPtr
8
+ Cmd_ToStoreTmpBufferSync // 同步,return buffer id
9
+ }
10
+
11
+ class BitPaletteCtrl {
12
+ private _texture: any = null;
13
+ private _recycled: boolean = false;
14
+
15
+ constructor(texture: any) {
16
+ this._texture = texture;
17
+ }
18
+
19
+ /**
20
+ * 获取图片的主色调(dominant color),返回一个 Promise,可与 async/await 配合使用。<br>
21
+ * 使用方式示例:
22
+ *
23
+ * 异步/Promise方式:
24
+ * let colorStrJson = await bitPalette.Ctrl.getDomainColorSync();
25
+ * if (colorStrJson) {
26
+ * let colorsList = JSON.parse(colorStrJson);
27
+ * // colorsList 是主色调数组
28
+ * }
29
+ *
30
+ */
31
+ getDomainColorSync(): Promise<any> {
32
+ let _this = this;
33
+ return new Promise<any>(async (resolve, reject) => {
34
+ // 用await关联, 让doCommand的reject时自动触发本Promise的reject
35
+ await _this.doCommand(BitPaletteCommand.Cmd_GetDomainColorSync, {}, (result: any) => {
36
+ if (_this._recycled) {
37
+ reject();
38
+ return;
39
+ }
40
+ resolve(result);
41
+ });
42
+ });
43
+ }
44
+
45
+ toBlob() : Promise<Blob | null> {
46
+ let bufferId = ForgeHandles.sRenderBridge.GenStoreBufferId();
47
+ // 返回一个Promise,同时支持callback
48
+ let _this = this;
49
+ return new Promise<Blob | null>(async (resolve, reject) => {
50
+ // 用await关联, 让doCommand的reject时自动触发本Promise的reject
51
+ await _this.doCommand(BitPaletteCommand.Cmd_ToStoreTmpBufferSync, {bufId:bufferId}, async () => {
52
+ if (_this._recycled) {
53
+ reject();
54
+ return;
55
+ }
56
+ let newBlob: Blob = await (Blob as any).jsvCreateFromForge(bufferId);
57
+ resolve(newBlob);
58
+ });
59
+ });
60
+ }
61
+
62
+ // 不是对外接口
63
+ private doCommand(command: BitPaletteCommand, params: object, callback: ((result: any) => void) | undefined) {
64
+ // 用asyncPromise来支持 await 语法, 也可以直接用callback
65
+ let asyncPromise = new Promise((resolve, reject) => {
66
+ this._texture.doCommand(command, params? JSON.stringify(params) : "{}", (result: any) => {
67
+ if (this._recycled) {
68
+ reject();
69
+ return;
70
+ }
71
+
72
+ callback?.(result); // 先回调callback, 再resolve
73
+ resolve(result);
74
+ });
75
+ });
76
+ return asyncPromise;
77
+ }
78
+
79
+ markRecycled() {
80
+ this._recycled = true;
81
+ }
82
+ }
83
+
84
+ /*
85
+ ------------------------------------------------------------
86
+ BitPalette使用最佳实践, Ctrl属性在ready后才能使用
87
+
88
+ 1. 使用callback方案
89
+ let hdl = new BitPalette(src, () => {
90
+ console.log("ready by callback");
91
+ hdl.Ctrl.doCommand(cmd_id, {...}, (result) => {
92
+ console.log("result:", result);
93
+ });
94
+ });
95
+
96
+ 2. 使用Promise方案
97
+ let hdl = new BitPalette(src);
98
+ try {
99
+ await hdl.Ready;
100
+ } catch (error) {
101
+ console.error("canceled");
102
+ }
103
+ let result = await hdl.Ctrl.doCommand(cmd_id, {...});
104
+
105
+ 3. 使用完毕要释放资源时
106
+ hdl.recycle(); // 此处理可以在callback之前或者之后都可以, 在callback之前相当于cancel
107
+
108
+ ------------------------------------------------------------
109
+ BitPalette的命令行处理:
110
+ 1. 使用callback方案
111
+ hdl.Ctrl.doCommand(cmd_id, {...}, (result) => {
112
+ console.log("result:", result);
113
+ });
114
+
115
+ 2. 使用Promise方案(同步或者异步都如此调用)
116
+ let result = await hdl.Ctrl.doCommand(cmd_id, {...});
117
+ */
118
+
119
+ export class BitPalette {
120
+ private _recycled: boolean = false;
121
+ private _readyReject: any = null;
122
+ private _texture: any = null;
123
+
124
+ public Ctrl: BitPaletteCtrl | null = null;
125
+ public Ready: Promise<BitPalette> | null = null;
126
+
127
+ constructor(src: string, callback?: () => void) {
128
+ const setting = { src };
129
+ this._texture = (ForgeHandles.TextureManager as any).GetImageProcessTexture(
130
+ JSON.stringify(setting)
131
+ );
132
+ // 关掉自动卸载, 靠主动的 RequestToUnload 来卸载
133
+ this._texture.DisableAutoRecycle();
134
+
135
+ // 声明 ready 以支持 await 语法
136
+ let _this = this;
137
+ this.Ready = new Promise((resolve, reject) => {
138
+ this._readyReject = reject;
139
+ this._texture.RegisterLoadImageCallback(src, () => {
140
+ if (this._recycled) {
141
+ return;
142
+ }
143
+
144
+ // 完成ready后取消readyReject处理
145
+ this._readyReject = null;
146
+
147
+ // 构建 controller 以支持后续的 doCommand 调用
148
+ this.Ctrl = new BitPaletteCtrl(this._texture);
149
+
150
+ callback?.();
151
+ resolve(_this);
152
+ });
153
+ });
154
+ }
155
+
156
+ recycle() {
157
+ if (this._recycled) {
158
+ return;
159
+ }
160
+ this._recycled = true;
161
+
162
+ // 进行promise的reject处理, 保证ready的reject不被遗漏
163
+ this._readyReject?.();
164
+ this._readyReject = null;
165
+
166
+ // 释放texture资源
167
+ this._texture?.RequestToUnload();
168
+ this._texture = null;
169
+
170
+ // 让Ctrl处于recycle状态, 规避异步回调
171
+ this.Ctrl?.markRecycled();
172
+ }
173
+
174
+ static CommandType = {
175
+ GetDomainColorSync: BitPaletteCommand.Cmd_GetDomainColorSync,
176
+ SubMapBlob: BitPaletteCommand.Cmd_SubMapBlob,
177
+ SubMapTextureSync: BitPaletteCommand.Cmd_SubMapTextureSync,
178
+ ToStoreTmpBuffer: BitPaletteCommand.Cmd_ToStoreTmpBufferSync,
179
+ }
180
+ }
@@ -23,3 +23,4 @@ export const PATH_CMD_MOVE_TO = 30;
23
23
  export const PATH_CMD_LINE_TO = 31;
24
24
  export const PATH_CMD_ARC_TO = 32;
25
25
  export const PATH_CMD_CLOSE = 33;
26
+ export const PATH_CUBIC_TO = 34;
@@ -0,0 +1,304 @@
1
+ import { JsvTextureStoreApi } from "../JsvTextureStore";
2
+ import CanvasTexture from "./CanvasTexture";
3
+ import { CustomPath } from "./Path";
4
+
5
+ type Data = {
6
+ x: number;
7
+ y: number;
8
+ };
9
+ interface Plot {
10
+ data: Data[];
11
+ lineWidth: number;
12
+ lineColor: string;
13
+ }
14
+
15
+ //曲线描画相关函数
16
+ // // 1. 处理边界:添加镜像虚拟点(优化首尾平滑)
17
+ // function addBoundaryPoints(data: Data[]): Data[] {
18
+ // const first = data[0];
19
+ // const last = data[data.length - 1];
20
+ // // 前加镜像点:2*first - second
21
+ // const prevVirtual = {
22
+ // x: 2 * first.x - data[1].x,
23
+ // y: 2 * first.y - data[1].y,
24
+ // };
25
+ // // 后加镜像点:2*last - secondLast
26
+ // const nextVirtual = {
27
+ // x: 2 * last.x - data[data.length - 2].x,
28
+ // y: 2 * last.y - data[data.length - 2].y,
29
+ // };
30
+ // return [prevVirtual, ...data, nextVirtual];
31
+ // }
32
+ // // 2. Catmull-Rom样条绘制平滑折线
33
+ // /**
34
+ // * Catmull-Rom样条插值
35
+ // * @param path {CustomPath} 路径对象
36
+ // * @param data {Data[]} 数据点数组,每个点包含 x 和 y 坐标
37
+ // * @param tension {Number} 张力参数,默认值 0
38
+ // */
39
+ // function drawCatmullRom(path: CustomPath, data: Data[], tension = 0): void {
40
+ // const points = addBoundaryPoints(data); // 含虚拟点的完整数据
41
+ // path.moveTo(data[0].x, data[0].y); // 起点(原始第一个点)
42
+
43
+ // for (let i = 1; i < data.length; i++) {
44
+ // const p0 = points[i - 1]; // 虚拟点/前一个点
45
+ // const p1 = points[i]; // 当前点(原始数据点)
46
+ // const p2 = points[i + 1]; // 下一个点(原始数据点)
47
+ // const p3 = points[i + 2]; // 虚拟点/后一个点
48
+
49
+ // // 计算贝塞尔控制点(含张力参数)
50
+ // const t = (1 - tension) / 6;
51
+ // const cp1x = p1.x + t * (p2.x - p0.x);
52
+ // const cp1y = p1.y + t * (p2.y - p0.y);
53
+ // const cp2x = p2.x - t * (p3.x - p1.x);
54
+ // const cp2y = p2.y - t * (p3.y - p1.y);
55
+
56
+ // // 绘制三次贝塞尔曲线(p1→p2)
57
+ // path.cubicTo(cp1x, cp1y, cp2x, cp2y, p2.x, p2.y);
58
+ // }
59
+ // }
60
+
61
+ // 3. 单调三次插值(Monotonic Cubic Interpolation)- 适合处理数据突变
62
+ /**
63
+ * 单调三次插值,避免在数据突变处产生凸起
64
+ * 基于 Fritsch-Carlson 算法,保持数据段的单调性
65
+ * @param path {CustomPath} 路径对象
66
+ * @param data {Data[]} 数据点数组,每个点包含 x 和 y 坐标
67
+ */
68
+ function drawMonotonicCubic(path: CustomPath, data: Data[]): void {
69
+ if (data.length < 2) return;
70
+ if (data.length === 2) {
71
+ path.moveTo(data[0].x, data[0].y);
72
+ path.lineTo(data[1].x, data[1].y);
73
+ return;
74
+ }
75
+
76
+ path.moveTo(data[0].x, data[0].y);
77
+
78
+ const n = data.length - 1;
79
+ const dx: number[] = [];
80
+ const dy: number[] = [];
81
+ const m: number[] = []; // 每段的斜率
82
+
83
+ // 计算每段的斜率和距离
84
+ for (let i = 0; i < n; i++) {
85
+ dx[i] = data[i + 1].x - data[i].x;
86
+ dy[i] = data[i + 1].y - data[i].y;
87
+ m[i] = dx[i] !== 0 ? dy[i] / dx[i] : 0;
88
+ }
89
+
90
+ // 计算每个内点的切线斜率(Fritsch-Carlson 方法)
91
+ const delta: number[] = new Array(n + 1);
92
+
93
+ // 边界点的斜率
94
+ delta[0] = m[0];
95
+ delta[n] = m[n - 1];
96
+
97
+ // 计算内点的斜率
98
+ for (let i = 1; i < n; i++) {
99
+ if (m[i - 1] * m[i] <= 0) {
100
+ // 如果相邻段斜率符号相反(有极值),设为0
101
+ delta[i] = 0;
102
+ } else {
103
+ // 使用加权调和平均,确保单调性
104
+ const w1 = 2 * dx[i] + dx[i - 1];
105
+ const w2 = 2 * dx[i - 1] + dx[i];
106
+ const denominator = w1 / m[i - 1] + w2 / m[i];
107
+ delta[i] = denominator !== 0 ? (w1 + w2) / denominator : 0;
108
+
109
+ // 确保斜率在合理范围内(3倍限制,保持单调性)
110
+ if (Math.abs(delta[i]) > 3 * Math.abs(m[i - 1])) {
111
+ delta[i] = 3 * m[i - 1];
112
+ }
113
+ if (Math.abs(delta[i]) > 3 * Math.abs(m[i])) {
114
+ delta[i] = 3 * m[i];
115
+ }
116
+ }
117
+ }
118
+
119
+ // 绘制每段曲线
120
+ for (let i = 0; i < n; i++) {
121
+ const p0 = data[i];
122
+ const p1 = data[i + 1];
123
+ const dxi = dx[i];
124
+
125
+ // 获取当前段两端的切线斜率
126
+ const d0 = delta[i];
127
+ const d1 = delta[i + 1];
128
+
129
+ // 转换为三次贝塞尔曲线的控制点
130
+ // 对于三次 Hermite 插值,控制点位置为:
131
+ const cp1x = p0.x + dxi / 3;
132
+ const cp1y = p0.y + (d0 * dxi) / 3;
133
+ const cp2x = p1.x - dxi / 3;
134
+ const cp2y = p1.y - (d1 * dxi) / 3;
135
+
136
+ path.cubicTo(cp1x, cp1y, cp2x, cp2y, p1.x, p1.y);
137
+ }
138
+ }
139
+
140
+ // // 4. B样条插值
141
+ // /**
142
+ // * B样条插值(均匀B样条)
143
+ // * @param path {CustomPath} 路径对象
144
+ // * @param data {Data[]} 数据点数组
145
+ // * @param degree {number} B样条次数,默认3(三次B样条)
146
+ // */
147
+ // function drawBSpline(path: CustomPath, data: Data[], degree: number = 3): void {
148
+ // if (data.length < 2) return;
149
+ // if (data.length === 2) {
150
+ // path.moveTo(data[0].x, data[0].y);
151
+ // path.lineTo(data[1].x, data[1].y);
152
+ // return;
153
+ // }
154
+
155
+ // // 对于B样条,需要添加额外的控制点或使用近似方法
156
+ // // 这里使用简化的方法:将B样条转换为分段贝塞尔曲线
157
+ // path.moveTo(data[0].x, data[0].y);
158
+
159
+ // // 使用Catmull-Rom作为B样条的近似(当tension=0时,Catmull-Rom接近B样条)
160
+ // const points = addBoundaryPoints(data);
161
+ // for (let i = 1; i < data.length; i++) {
162
+ // const p0 = points[i - 1];
163
+ // const p1 = points[i];
164
+ // const p2 = points[i + 1];
165
+ // const p3 = points[i + 2];
166
+
167
+ // const t = 1 / 6;
168
+ // const cp1x = p1.x + t * (p2.x - p0.x);
169
+ // const cp1y = p1.y + t * (p2.y - p0.y);
170
+ // const cp2x = p2.x - t * (p3.x - p1.x);
171
+ // const cp2y = p2.y - t * (p3.y - p1.y);
172
+
173
+ // path.cubicTo(cp1x, cp1y, cp2x, cp2y, p2.x, p2.y);
174
+ // }
175
+ // }
176
+
177
+ // 5. 分段线性插值(简单折线)
178
+ /**
179
+ * 分段线性插值
180
+ * @param path {CustomPath} 路径对象
181
+ * @param data {Data[]} 数据点数组
182
+ */
183
+ function drawLinear(path: CustomPath, data: Data[]): void {
184
+ if (data.length === 0) return;
185
+ path.moveTo(data[0].x, data[0].y);
186
+ for (let i = 1; i < data.length; i++) {
187
+ path.lineTo(data[i].x, data[i].y);
188
+ }
189
+ }
190
+
191
+ export class ChartHelper {
192
+ private width: number;
193
+ private height: number;
194
+ private xAxis: number[];
195
+ private yAxis: number[];
196
+ private originPosition: Data;
197
+ private canvasTexture: CanvasTexture;
198
+
199
+ /**
200
+ *
201
+ * @param w {number} 画布宽度
202
+ * @param h {number} 画布高度
203
+ * @param xAxis {number[]} x轴范围
204
+ * @param yAxis {number[]} y轴范围
205
+ * @throws {Error} 如果画布宽度或高度小于等于 0,或者 x 或 y 轴范围不是长度为 2 的数组,或者 x 或 y 轴范围不是升序
206
+ */
207
+ constructor(w: number, h: number, xAxis: number[], yAxis: number[]) {
208
+ if (w <= 0 || h <= 0) {
209
+ throw new Error("Width and height must be greater than 0");
210
+ }
211
+ if (xAxis.length !== 2 || yAxis.length !== 2) {
212
+ throw new Error("X and y axis must be an array of 2 numbers");
213
+ }
214
+ if (xAxis[0] >= xAxis[1] || yAxis[0] >= yAxis[1]) {
215
+ throw new Error("X and y axis must be in ascending order");
216
+ }
217
+
218
+ this.width = w;
219
+ this.height = h;
220
+ this.xAxis = xAxis;
221
+ this.yAxis = yAxis;
222
+ this.originPosition = {
223
+ x: ((0 - this.xAxis[0]) / (this.xAxis[1] - this.xAxis[0])) * this.width,
224
+ y:
225
+ this.height -
226
+ ((0 - this.yAxis[0]) / (this.yAxis[1] - this.yAxis[0])) * this.height,
227
+ };
228
+ this.canvasTexture = JsvTextureStoreApi.canvasTexture(
229
+ this.width,
230
+ this.height
231
+ );
232
+ }
233
+
234
+ /**
235
+ * @description 获取画布对象
236
+ * @returns {CanvasTexture} 画布对象
237
+ */
238
+ getCanvas() {
239
+ return this.canvasTexture;
240
+ }
241
+
242
+ /**
243
+ * @description 获取原始数据点对应的坐标
244
+ * @returns {Data} 原始数据点对应的坐标
245
+ */
246
+ getOriginPosition() {
247
+ return this.originPosition;
248
+ }
249
+
250
+ /**
251
+ * @description 根据数据获取绘制所需的position
252
+ * @param data {Data[]} 数据点数组,每个点包含 x 和 y 坐标
253
+ * @returns {Data[]} 数据点数组,每个点包含 x 和 y 坐标
254
+ */
255
+ data2Pos(data: Data[]): Data[] {
256
+ const xAxisRange = this.xAxis[1] - this.xAxis[0];
257
+ const yAxisRange = this.yAxis[1] - this.yAxis[0];
258
+ return data.map((d) => ({
259
+ x: ((d.x - this.xAxis[0]) / xAxisRange) * this.width,
260
+ y: this.height - ((d.y - this.yAxis[0]) / yAxisRange) * this.height,
261
+ }));
262
+ }
263
+
264
+ /**
265
+ * linePath参数说明
266
+ * @param data {Data[]} 数据点数组,每个点包含 x 和 y 坐标
267
+ * @param isBroken {boolean} 是否为折线
268
+ * @param close {number}
269
+ * 0: 不闭合,绘制线段用,
270
+ * 1: 闭合到x轴(自动绘制左右两端垂直于x轴的线段), 需要填充颜色时用
271
+ * 2: 闭合到y轴(自动绘制上下两端垂直于y轴的线段), 需要填充颜色时用
272
+ * @returns {CustomPath, Data[]} 路径对象和数据点数组,每个点包含 x 和 y 坐标
273
+ */
274
+ linePath(
275
+ data: Data[],
276
+ isBroken: boolean = false,
277
+ close: number = 0
278
+ ): { path: CustomPath; position: Data[] } | undefined {
279
+ const path = this.canvasTexture.customPath();
280
+ if (path) {
281
+ const posList = this.data2Pos(data);
282
+
283
+ if (isBroken) {
284
+ drawLinear(path, posList);
285
+ } else {
286
+ drawMonotonicCubic(path, posList);
287
+ }
288
+
289
+ if (close == 1) {
290
+ //关闭到x轴
291
+ path.lineTo(posList[posList.length - 1].x, this.originPosition.y);
292
+ path.lineTo(posList[0].x, this.originPosition.y);
293
+ path.close();
294
+ } else if (close == 2) {
295
+ //关闭到y轴
296
+ path.lineTo(this.originPosition.x, posList[posList.length - 1].y);
297
+ path.lineTo(this.originPosition.x, posList[0].y);
298
+ path.close();
299
+ }
300
+ return { path, position: posList };
301
+ }
302
+ return undefined;
303
+ }
304
+ }
@@ -88,6 +88,21 @@ class DrawingPath {
88
88
  this.finishedDraw = true;
89
89
  }
90
90
 
91
+ public fillWithLinearGradient(fromX: Number, fromY: Number, toX: Number, toY: Number, colorList: Array<String>, positionList: Array<Number>) {
92
+ this.drawCommandsRefs.push({
93
+ "cmd": Constants.CMD_PREPARE_PAINT,
94
+ "type": "fill_linear_gradient",
95
+ "x0": fromX,
96
+ "y0": fromY,
97
+ "x1": toX,
98
+ "y1": toY,
99
+ "clrs": colorList,
100
+ "stops": positionList
101
+ });
102
+ this.onFinishDraw(); // 调用继承类的完成处理执行绘制
103
+ this.finishedDraw = true;
104
+ }
105
+
91
106
  protected onFinishDraw(): void {
92
107
  // should override be extends class
93
108
  }
@@ -184,6 +199,29 @@ export class CustomPath extends DrawingPath {
184
199
  });
185
200
  }
186
201
 
202
+ /**
203
+ * cubicTo
204
+ * 绘制三次贝塞尔曲线
205
+ *
206
+ * @param {Number} x0 控制点1的x坐标
207
+ * @param {Number} y0 控制点1的y坐标
208
+ * @param {Number} x1 控制点2的x坐标
209
+ * @param {Number} y1 控制点2的y坐标
210
+ * @param {Number} x2 目标点的x坐标
211
+ * @param {Number} y2 目标点的y坐标
212
+ */
213
+ cubicTo(x0: Number, y0: Number, x1: Number, y1: Number, x2: Number, y2: Number) {
214
+ this.pathCommands?.push({
215
+ "cmd": Constants.PATH_CUBIC_TO,
216
+ "x0": x0,
217
+ "y0": y0,
218
+ "x1": x1,
219
+ "y1": y1,
220
+ "x2": x2,
221
+ "y2": y2
222
+ });
223
+ }
224
+
187
225
  /**
188
226
  * arcTo
189
227
  * 绘制以(left, top, right, bottom)围城的矩形为横轴比的椭圆圆弧
@@ -6,37 +6,53 @@ export type CapturedCallback = (
6
6
  textureAccessName: string,
7
7
  autoRecycleSet: boolean,
8
8
  width: number,
9
- height: number) => void;
9
+ height: number,
10
+ isCannceled: boolean) => void;
10
11
 
11
12
  export class CapturedTexture extends TextureBase {
12
- private _AutoRecycle: boolean;
13
13
  private _Callback: CapturedCallback | null;
14
14
  private _CaptureDiv: any;
15
15
  private _Canceled: boolean = false;
16
-
16
+ private _Done: boolean = false;
17
+ private _PostProcessParams: any = null;
17
18
  constructor(
18
19
  captureDiv: any,
19
20
  callback: CapturedCallback,
20
- autoRecycle: boolean) {
21
+ autoRecycle: boolean,
22
+ postProcessParams: any = null) {
21
23
  super(null);
22
24
 
25
+ if (!captureDiv || !callback) {
26
+ throw new Error("CapturedTexture: captureDiv and callback are required");
27
+ }
28
+
23
29
  // 激活引擎的功能支持
24
30
  JsvUseFeature('JsvTextureStoreApi', FeatureNames.Capture2Texture);
25
31
 
26
32
  this._CaptureDiv = captureDiv;
27
33
  this._Callback = callback;
28
- this._AutoRecycle = autoRecycle;
34
+ this.autoRecycle = autoRecycle;
35
+ this._PostProcessParams = postProcessParams;
29
36
  }
30
37
 
31
38
  // 清理对Callback和div的引用,防止泄露
32
39
  cancel() {
33
40
  if (!this._Canceled) {
41
+ if (!this._Done) {
42
+ // 补调用未完成的回调
43
+ this._Callback?.("", this.autoRecycle, 0, 0, true);
44
+ }
34
45
  this._Callback = null;
35
46
  this._CaptureDiv = null;
36
47
  this._Canceled = true;
37
48
  }
38
49
  }
39
50
 
51
+ override recycle() {
52
+ this.cancel();
53
+ super.recycle();
54
+ }
55
+
40
56
  override commit(): String {
41
57
  this.textureRef = (ForgeHandles.TextureManager as any).GetCapturedTexture();
42
58
  this._CaptureDiv.jsvGetProxyView(true).Capture2Texture(this.textureRef,
@@ -47,18 +63,20 @@ export class CapturedTexture extends TextureBase {
47
63
  return;
48
64
  }
49
65
 
50
- // 处理自动回收
51
- if (!this._AutoRecycle) {
52
- this.addToStore(); // 用TextureStore来跟进引用状态
53
- }
66
+ //由于自动回收是三帧后回收, 所以需要先添加到store
67
+ this.addToStore();
68
+
69
+ this._Done = true;
54
70
 
55
71
  // 回调
56
72
  this._Callback?.(
57
73
  this.getStoreName(),
58
- this._AutoRecycle,
74
+ this.autoRecycle,
59
75
  resultObj.width as number,
60
- resultObj.height as number);
61
- }
76
+ resultObj.height as number,
77
+ false);
78
+ },
79
+ this._PostProcessParams
62
80
  );
63
81
  return '';
64
82
  }