@shijiu/jsview-vue 2.2.201 → 2.2.426-test.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 (341) hide show
  1. package/bin/browser/BrowserApic.vue.mjs +2 -13
  2. package/bin/browser/BrowserApic2.vue.mjs +2 -13
  3. package/bin/browser/BrowserApicLib.mjs +24 -24
  4. package/bin/browser/BrowserAudio.vue.mjs +2 -10
  5. package/bin/browser/BrowserJsvLatex.vue.mjs +39 -16
  6. package/bin/export-sfc.mjs +3 -3
  7. package/bin/jsview-vue-common.mjs +3 -3
  8. package/bin/jsview-vue.mjs +3288 -2312
  9. package/bin/types/utils/JsViewEngineWidget/JsvFocus/JsvFocusBlock.vue.d.ts +72 -0
  10. package/bin/types/{JsViewEngineWidget → utils/JsViewEngineWidget}/MetroWidget/ListWidget.vue.d.ts +6 -3
  11. package/bin/types/{JsViewEngineWidget → utils/JsViewEngineWidget}/MetroWidget/MetroWidget.vue.d.ts +6 -3
  12. package/bin/types/{JsViewEngineWidget → utils/JsViewEngineWidget}/MetroWidget/MetroWidgetSetup.d.ts +3 -1
  13. package/bin/types/utils/JsViewEngineWidget/MetroWidget/TaskManager.d.ts +64 -0
  14. package/bin/types/utils/JsViewEngineWidget/MetroWidget/TokenGenerator.d.ts +4 -0
  15. package/bin/types/utils/JsViewEngineWidget/RectUtils.d.ts +61 -0
  16. package/bin/types/{JsViewEngineWidget → utils/JsViewEngineWidget}/TemplateParser/Fence.d.ts +2 -2
  17. package/bin/types/{JsViewEngineWidget → utils/JsViewEngineWidget}/TemplateParser/MetroTemplate.d.ts +3 -3
  18. package/bin/types/{JsViewEngineWidget → utils/JsViewEngineWidget}/index.d.ts +1 -1
  19. package/bin/types/utils/JsViewPlugin/JsvAudio/version.d.mts +13 -0
  20. package/bin/types/{JsViewPlugin → utils/JsViewPlugin}/JsvLatex/index.d.ts +1 -0
  21. package/bin/types/utils/JsViewPlugin/JsvLatex/version.d.mts +13 -0
  22. package/bin/types/utils/JsViewPlugin/JsvPlayer/BrowserJsvPlayer-0.9.vue.d.ts +45 -0
  23. package/bin/types/utils/JsViewPlugin/JsvPlayer/BrowserJsvPlayer.vue.d.ts +597 -0
  24. package/bin/types/utils/JsViewPlugin/JsvPlayer/GetVersion.d.ts +13 -0
  25. package/bin/types/utils/JsViewPlugin/JsvPlayer/JsvMedia.d.ts +420 -0
  26. package/bin/types/utils/JsViewPlugin/JsvPlayer/JsvMediaBrowserInterface.d.ts +57 -0
  27. package/bin/types/utils/JsViewPlugin/JsvPlayer/JsvPlayer.vue.d.ts +588 -0
  28. package/bin/types/utils/JsViewPlugin/JsvPlayer/index-0.9.d.ts +358 -0
  29. package/bin/types/utils/JsViewPlugin/JsvPlayer/index.d.ts +358 -0
  30. package/bin/types/utils/JsViewPlugin/JsvPlayer/version.d.mts +14 -0
  31. package/bin/types/utils/JsViewVueTools/FeatureActive.d.ts +10 -0
  32. package/bin/types/utils/JsViewVueTools/ForgeHandles.d.ts +6 -0
  33. package/bin/types/{JsViewVueTools → utils/JsViewVueTools}/JsvDynamicCssStyle.d.ts +3 -1
  34. package/bin/types/{JsViewVueTools → utils/JsViewVueTools}/JsvDynamicKeyFrames.d.ts +4 -2
  35. package/bin/types/{JsViewVueTools → utils/JsViewVueTools}/JsvImpactTracer.d.ts +4 -4
  36. package/bin/types/{JsViewVueTools → utils/JsViewVueTools}/JsvPreDownloader.d.ts +3 -2
  37. package/bin/types/{JsViewVueTools → utils/JsViewVueTools}/JsvRefTaker.d.ts +2 -3
  38. package/bin/types/{JsViewVueTools → utils/JsViewVueTools}/JsvRuntimeBridge.d.ts +42 -0
  39. package/bin/types/{JsViewVueTools → utils/JsViewVueTools}/JsvStyleSheetsDeclarer.d.ts +3 -1
  40. package/bin/types/utils/JsViewVueTools/JsvTextTools.d.ts +61 -0
  41. package/bin/types/utils/JsViewVueTools/JsvTextureLoadTool.d.ts +63 -0
  42. package/bin/types/{JsViewVueTools → utils/JsViewVueTools}/JsvTextureStore/JsvTextureStore.d.ts +8 -4
  43. package/bin/types/{JsViewVueTools → utils/JsViewVueTools}/NinePatchHelper.d.ts +1 -1
  44. package/bin/types/utils/JsViewVueTools/TextureManagerTools.d.ts +7 -0
  45. package/bin/types/utils/JsViewVueTools/TypeCheckAndSet.d.ts +3 -0
  46. package/bin/types/{JsViewVueTools → utils/JsViewVueTools}/index.d.ts +3 -1
  47. package/bin/types/{JsViewVueWidget → utils/JsViewVueWidget}/JsvApic/JsvApic/JsvApic.vue.d.ts +7 -0
  48. package/bin/types/utils/JsViewVueWidget/JsvDragBox/JsvDragBox.vue.d.ts +84 -0
  49. package/bin/types/utils/JsViewVueWidget/JsvFlexCell/JsvScreenFlex.vue.d.ts +75 -0
  50. package/bin/types/utils/JsViewVueWidget/JsvFlexCell/index.d.ts +2 -0
  51. package/bin/types/{JsViewVueWidget → utils/JsViewVueWidget}/JsvFragShaderView/JsvFragShaderView.vue.d.ts +3 -1
  52. package/bin/types/utils/JsViewVueWidget/JsvFragShaderView/index.d.ts +1 -0
  53. package/bin/types/utils/JsViewVueWidget/JsvFreeMoveActor/KeepFlags.d.ts +7 -0
  54. package/bin/types/utils/JsViewVueWidget/JsvInput/Cursor.vue.d.ts +12 -0
  55. package/bin/types/utils/JsViewVueWidget/JsvInput/EditViewOperator.d.ts +45 -0
  56. package/bin/types/utils/JsViewVueWidget/JsvInput/EditVisibleArea.d.ts +26 -0
  57. package/bin/types/{JsViewVueWidget/JsvPreload/BrowserPreload.vue.d.ts → utils/JsViewVueWidget/JsvInput/JsvInput.vue.d.ts} +7 -5
  58. package/bin/types/utils/JsViewVueWidget/JsvInput/SharedDefine.d.ts +13 -0
  59. package/bin/types/utils/JsViewVueWidget/JsvInput/SystemTextTools.d.ts +16 -0
  60. package/bin/types/{JsViewVueWidget → utils/JsViewVueWidget}/JsvMaskClipDiv.vue.d.ts +0 -2
  61. package/bin/types/{JsViewVueWidget → utils/JsViewVueWidget}/JsvMindMap/DataTree.d.ts +3 -1
  62. package/bin/types/{JsViewVueWidget → utils/JsViewVueWidget}/JsvMindMap/Geometry.d.ts +2 -2
  63. package/bin/types/{JsViewVueWidget → utils/JsViewVueWidget}/JsvMindMap/JsvMindMap.vue.d.ts +16 -9
  64. package/bin/types/{JsViewVueWidget → utils/JsViewVueWidget}/JsvNativeSharedDiv.vue.d.ts +6 -0
  65. package/bin/types/{JsViewVueWidget → utils/JsViewVueWidget}/JsvNinePatch.vue.d.ts +2 -1
  66. package/bin/types/utils/JsViewVueWidget/JsvPreload/index.d.ts +2 -0
  67. package/bin/types/utils/JsViewVueWidget/JsvSwiper/Indicator.vue.d.ts +16 -0
  68. package/bin/types/utils/JsViewVueWidget/JsvSwiper3D/Indicator.vue.d.ts +16 -0
  69. package/bin/types/utils/JsViewVueWidget/JsvTextureAnim/index.d.ts +4 -0
  70. package/bin/types/utils/JsViewVueWidget/JsvTouchModeSwitcher.vue.d.ts +75 -0
  71. package/bin/types/utils/JsViewVueWidget/JsvVideo.vue.d.ts +23 -0
  72. package/bin/types/{JsViewVueWidget → utils/JsViewVueWidget}/index.d.ts +4 -2
  73. package/index.d.ts +9 -1
  74. package/package.json +1 -1
  75. package/tools/config/toolkit.mjs +81 -0
  76. package/tools/config/vite.config.ts +24 -14
  77. package/tools/jsview-vue-build.mjs +67 -21
  78. package/tsconfig.json +27 -0
  79. package/utils/JsViewEngineWidget/JsvFocus/JsvFocusBlock.vue +6 -2
  80. package/utils/JsViewEngineWidget/MetroWidget/ListWidget.vue +3 -1
  81. package/utils/JsViewEngineWidget/MetroWidget/MetroWidget.vue +12 -5
  82. package/utils/JsViewEngineWidget/MetroWidget/MetroWidgetSetup.js +175 -65
  83. package/utils/JsViewEngineWidget/MetroWidget/TaskManager.ts +1 -1
  84. package/utils/JsViewEngineWidget/TemplateParser/Fence.ts +2 -2
  85. package/utils/JsViewEngineWidget/TemplateParser/ListMetroTemplate.ts +15 -9
  86. package/utils/JsViewEngineWidget/TemplateParser/MetroTemplate.ts +4 -6
  87. package/utils/JsViewPlugin/JsvLatex/BrowserDomBuilder.js +13 -3
  88. package/utils/JsViewPlugin/JsvLatex/BrowserJsvLatex.vue +27 -6
  89. package/utils/JsViewPlugin/JsvLatex/JsvLatex.vue +34 -28
  90. package/utils/JsViewPlugin/JsvLatex/index.js +22 -0
  91. package/utils/JsViewVueTools/FeatureActive.ts +84 -0
  92. package/utils/JsViewVueTools/ForgeHandles.ts +7 -3
  93. package/utils/JsViewVueTools/JsvDynamicCssStyle.js +2 -0
  94. package/utils/JsViewVueTools/JsvDynamicKeyFrames.ts +2 -0
  95. package/utils/JsViewVueTools/JsvHashHistory.js +26 -29
  96. package/utils/JsViewVueTools/JsvImpactTracer.js +2 -0
  97. package/utils/JsViewVueTools/JsvPreDownloader.ts +2 -1
  98. package/utils/JsViewVueTools/JsvRefTaker.js +1 -2
  99. package/utils/JsViewVueTools/JsvRuntimeBridge.js +125 -59
  100. package/utils/JsViewVueTools/JsvStyleClass.js +2 -0
  101. package/utils/JsViewVueTools/JsvStyleSheetsDeclarer.js +2 -0
  102. package/utils/JsViewVueTools/JsvTextTools.ts +156 -0
  103. package/utils/JsViewVueTools/JsvTextureLoadTool.ts +233 -0
  104. package/utils/JsViewVueTools/JsvTextureStore/CapturedTexture/CapturedTexture.ts +4 -1
  105. package/utils/JsViewVueTools/JsvTextureStore/JsvTextureStore.ts +7 -3
  106. package/utils/JsViewVueTools/JsvTextureStore/Texture.ts +1 -0
  107. package/utils/JsViewVueTools/TextureManagerTools.ts +17 -0
  108. package/utils/JsViewVueTools/TypeCheckAndSet.ts +66 -0
  109. package/utils/JsViewVueTools/index.js +4 -1
  110. package/utils/JsViewVueWidget/JsvActorMove/JsvActorMove.vue +2 -0
  111. package/utils/JsViewVueWidget/JsvApic/JsvApic/JsvApic.vue +10 -2
  112. package/utils/JsViewVueWidget/JsvApic/JsvApic2/JsvApic2.vue +12 -1
  113. package/utils/JsViewVueWidget/JsvClipDiv/JsvClipDiv.vue +4 -2
  114. package/utils/JsViewVueWidget/JsvConnectLine/JsvConnectLine.vue +2 -0
  115. package/utils/JsViewVueWidget/JsvDragBox/JsvDragBox.vue +219 -0
  116. package/utils/JsViewVueWidget/JsvDriftScope/JsvDriftScope.vue +11 -9
  117. package/utils/JsViewVueWidget/JsvFilterView.vue +2 -0
  118. package/utils/JsViewVueWidget/JsvFlexCell/JsvFlexDiv.vue +5 -2
  119. package/utils/JsViewVueWidget/JsvFlexCell/JsvScreenFlex.vue +140 -0
  120. package/utils/JsViewVueWidget/JsvFlexCell/index.js +2 -5
  121. package/utils/JsViewVueWidget/JsvFragShaderView/JsvFragShaderView.vue +214 -63
  122. package/utils/JsViewVueWidget/JsvFragShaderView/index.js +2 -9
  123. package/utils/JsViewVueWidget/JsvFreeMoveActor/FreeMoveActor.vue +9 -0
  124. package/utils/JsViewVueWidget/JsvFreeMoveActor/JsvEnvBlocker.vue +2 -0
  125. package/utils/JsViewVueWidget/JsvGrid.vue +2 -0
  126. package/utils/JsViewVueWidget/JsvHole.js +2 -0
  127. package/utils/JsViewVueWidget/JsvInput/Cursor.vue +49 -45
  128. package/utils/JsViewVueWidget/JsvInput/EditViewOperator.ts +353 -0
  129. package/utils/JsViewVueWidget/JsvInput/EditVisibleArea.ts +255 -0
  130. package/utils/JsViewVueWidget/JsvInput/JsvInput.vue +294 -681
  131. package/utils/JsViewVueWidget/JsvInput/SharedDefine.ts +17 -0
  132. package/utils/JsViewVueWidget/JsvInput/SystemTextTools.ts +61 -0
  133. package/utils/JsViewVueWidget/JsvLine/JsvLine.vue +2 -0
  134. package/utils/JsViewVueWidget/JsvMarquee.vue +2 -0
  135. package/utils/JsViewVueWidget/JsvMaskClipDiv.vue +5 -48
  136. package/utils/JsViewVueWidget/JsvMindMap/DataTree.ts +14 -1
  137. package/utils/JsViewVueWidget/JsvMindMap/JsvMindMap.vue +277 -117
  138. package/utils/JsViewVueWidget/JsvNativeSharedDiv.vue +91 -68
  139. package/utils/JsViewVueWidget/JsvNinePatch.vue +5 -0
  140. package/utils/JsViewVueWidget/JsvPieChart.vue +2 -0
  141. package/utils/JsViewVueWidget/JsvPosterDiv.vue +2 -0
  142. package/utils/JsViewVueWidget/JsvPosterImage.vue +3 -2
  143. package/utils/JsViewVueWidget/JsvPreload/JsvPreload.vue +23 -44
  144. package/utils/JsViewVueWidget/JsvPreload/index.js +2 -13
  145. package/utils/JsViewVueWidget/JsvProgressBar.vue +2 -0
  146. package/utils/JsViewVueWidget/JsvQrcode/JsvQrcode.vue +12 -12
  147. package/utils/JsViewVueWidget/JsvRadarChart.vue +2 -0
  148. package/utils/JsViewVueWidget/JsvRipple/Constant.js +2 -2
  149. package/utils/JsViewVueWidget/JsvRipple/JsvRipple.vue +3 -1
  150. package/utils/JsViewVueWidget/JsvScaleTextBox.vue +2 -0
  151. package/utils/JsViewVueWidget/JsvScrollBox/JsvScrollBox.vue +9 -0
  152. package/utils/JsViewVueWidget/JsvScrollBox/JsvScrollFollow.vue +9 -0
  153. package/utils/JsViewVueWidget/JsvSector.vue +2 -0
  154. package/utils/JsViewVueWidget/JsvSoundPool.js +5 -7
  155. package/utils/JsViewVueWidget/JsvSpray/JsvSpray.vue +43 -23
  156. package/utils/JsViewVueWidget/JsvSpriteAnim/JsvSpriteAnim.vue +2 -5
  157. package/utils/JsViewVueWidget/JsvSpriteAnim/JsvSpriteLoader.vue +2 -0
  158. package/utils/JsViewVueWidget/JsvSwiper/JsvSwiper.vue +2 -0
  159. package/utils/JsViewVueWidget/JsvSwiper3D/JsvSwiper.vue +2 -0
  160. package/utils/JsViewVueWidget/JsvTextBox.vue +2 -4
  161. package/utils/JsViewVueWidget/JsvTextureAnim/JsvTextureAnim.vue +48 -50
  162. package/utils/JsViewVueWidget/JsvTextureAnim/index.js +2 -9
  163. package/utils/JsViewVueWidget/JsvTouchModeSwitcher.vue +101 -0
  164. package/utils/JsViewVueWidget/JsvVideo.vue +2 -2
  165. package/utils/JsViewVueWidget/JsvVisibleSensor/JsvVisibleSensor.vue +2 -0
  166. package/utils/JsViewVueWidget/index.js +4 -2
  167. package/bin/browser/BrowserJsvFragShaderView.vue.mjs +0 -63
  168. package/bin/browser/BrowserPreload.vue.mjs +0 -143
  169. package/bin/browser/BrowserQrcode.vue.mjs +0 -180
  170. package/bin/browser/BrowserSpray.vue.mjs +0 -66
  171. package/bin/browser/BrowserTextureAnim.vue.mjs +0 -332
  172. package/bin/types/JsViewEngineWidget/JsvFocus/JsvFocusBlock.vue.d.ts +0 -102
  173. package/bin/types/JsViewVueTools/ForgeHandles.d.ts +0 -6
  174. package/bin/types/JsViewVueTools/JsvTextTools.d.ts +0 -37
  175. package/bin/types/JsViewVueTools/TypeCheckAndSet.d.ts +0 -2
  176. package/bin/types/JsViewVueWidget/JsvFlexCell/index.d.ts +0 -2
  177. package/bin/types/JsViewVueWidget/JsvFragShaderView/BrowserJsvFragShaderView.vue.d.ts +0 -13
  178. package/bin/types/JsViewVueWidget/JsvFragShaderView/index.d.ts +0 -2
  179. package/bin/types/JsViewVueWidget/JsvInput/Cursor.vue.d.ts +0 -36
  180. package/bin/types/JsViewVueWidget/JsvInput/JsvInput.vue.d.ts +0 -210
  181. package/bin/types/JsViewVueWidget/JsvPreload/index.d.ts +0 -17
  182. package/bin/types/JsViewVueWidget/JsvQrcode/BrowserQrcode.vue.d.ts +0 -11
  183. package/bin/types/JsViewVueWidget/JsvQrcode/index.d.ts +0 -2
  184. package/bin/types/JsViewVueWidget/JsvSpray/BrowserSpray.vue.d.ts +0 -25
  185. package/bin/types/JsViewVueWidget/JsvSpray/index.d.ts +0 -2
  186. package/bin/types/JsViewVueWidget/JsvTextureAnim/BrowserTextureAnim.vue.d.ts +0 -151
  187. package/bin/types/JsViewVueWidget/JsvTextureAnim/index.d.ts +0 -14
  188. package/tools/config/tsconfig.json +0 -15
  189. package/utils/JsViewVueTools/JsvTextTools.js +0 -89
  190. package/utils/JsViewVueTools/TypeCheckAndSet.js +0 -27
  191. package/utils/JsViewVueWidget/JsvFragShaderView/BrowserJsvFragShaderView.vue +0 -48
  192. package/utils/JsViewVueWidget/JsvPreload/BrowserPreload.vue +0 -144
  193. package/utils/JsViewVueWidget/JsvQrcode/BrowserQrcode.vue +0 -189
  194. package/utils/JsViewVueWidget/JsvQrcode/index.js +0 -18
  195. package/utils/JsViewVueWidget/JsvSpray/BrowserSpray.vue +0 -55
  196. package/utils/JsViewVueWidget/JsvSpray/index.js +0 -17
  197. package/utils/JsViewVueWidget/JsvTextureAnim/BrowserTextureAnim.vue +0 -359
  198. package/bin/types/{JsViewEngineWidget → utils/JsViewEngineWidget}/CheckType.d.ts +0 -0
  199. package/bin/types/{JsViewEngineWidget → utils/JsViewEngineWidget}/JsvFocus/JsvFocusHub.d.ts +0 -0
  200. package/bin/types/{JsViewEngineWidget → utils/JsViewEngineWidget}/JsvFocus/JsvFocusManager.d.ts +0 -0
  201. package/bin/types/{JsViewEngineWidget → utils/JsViewEngineWidget}/MetroWidget/Const.d.ts +0 -0
  202. package/bin/types/{JsViewEngineWidget → utils/JsViewEngineWidget}/MetroWidget/Dispatcher.d.ts +0 -0
  203. package/bin/types/{JsViewEngineWidget → utils/JsViewEngineWidget}/MetroWidget/PageUpdater.d.ts +0 -0
  204. package/bin/types/{JsViewEngineWidget → utils/JsViewEngineWidget}/MetroWidget/RenderItem.d.ts +0 -0
  205. package/bin/types/{JsViewEngineWidget → utils/JsViewEngineWidget}/MetroWidget/Slide.d.ts +0 -0
  206. package/bin/types/{JsViewEngineWidget → utils/JsViewEngineWidget}/MetroWidget/SlotComponent.vue.d.ts +0 -0
  207. package/bin/types/{JsViewEngineWidget → utils/JsViewEngineWidget}/MetroWidget/VisibleInfo.d.ts +0 -0
  208. package/bin/types/{JsViewEngineWidget → utils/JsViewEngineWidget}/MetroWidget/WidgetRectInfo.d.ts +0 -0
  209. package/bin/types/{JsViewEngineWidget → utils/JsViewEngineWidget}/RangeModel.d.ts +0 -0
  210. package/bin/types/{JsViewEngineWidget → utils/JsViewEngineWidget}/TemplateParser/CommonMetroTemplate.d.ts +0 -0
  211. package/bin/types/{JsViewEngineWidget → utils/JsViewEngineWidget}/TemplateParser/ListMetroTemplate.d.ts +0 -0
  212. package/bin/types/{JsViewEngineWidget → utils/JsViewEngineWidget}/TemplateParser/TemplateItemAdder.d.ts +0 -0
  213. package/bin/types/{JsViewEngineWidget → utils/JsViewEngineWidget}/TemplateParser/index.d.ts +0 -0
  214. package/bin/types/{JsViewEngineWidget → utils/JsViewEngineWidget}/WidgetCommon.d.ts +0 -0
  215. package/bin/types/{JsViewPlugin → utils/JsViewPlugin}/JsvAccount/JsvAccount.d.ts +0 -0
  216. package/bin/types/{JsViewPlugin → utils/JsViewPlugin}/JsvAudio/AudioProxy.d.ts +0 -0
  217. package/bin/types/{JsViewPlugin → utils/JsViewPlugin}/JsvAudio/BrowserAudio/BrowserAudio.vue.d.ts +0 -0
  218. package/bin/types/{JsViewPlugin → utils/JsViewPlugin}/JsvAudio/BrowserAudio/JsvSystemAudio.vue.d.ts +4 -4
  219. package/bin/types/{JsViewPlugin → utils/JsViewPlugin}/JsvAudio/CheckType.d.ts +0 -0
  220. package/bin/types/{JsViewPlugin → utils/JsViewPlugin}/JsvAudio/Events.d.ts +0 -0
  221. package/bin/types/{JsViewPlugin → utils/JsViewPlugin}/JsvAudio/JsvAudio.vue.d.ts +4 -4
  222. package/bin/types/{JsViewPlugin → utils/JsViewPlugin}/JsvAudio/JsvAudioBridgeProxy.d.ts +0 -0
  223. package/bin/types/{JsViewPlugin → utils/JsViewPlugin}/JsvAudio/JsvAudioProxy.vue.d.ts +0 -0
  224. package/bin/types/{JsViewPlugin → utils/JsViewPlugin}/JsvAudio/PluginLoader.d.ts +0 -0
  225. package/bin/types/{JsViewPlugin → utils/JsViewPlugin}/JsvAudio/ScreenLockManager.d.ts +0 -0
  226. package/bin/types/{JsViewPlugin → utils/JsViewPlugin}/JsvAudio/index.d.ts +0 -0
  227. package/bin/types/{JsViewPlugin → utils/JsViewPlugin}/JsvAudio/version.d.ts +0 -0
  228. package/bin/types/{JsViewPlugin → utils/JsViewPlugin}/JsvLatex/BrowserDomBuilder.d.ts +0 -0
  229. package/bin/types/{JsViewPlugin → utils/JsViewPlugin}/JsvLatex/BrowserJsvLatex.vue.d.ts +4 -4
  230. package/bin/types/{JsViewPlugin → utils/JsViewPlugin}/JsvLatex/Color.d.ts +0 -0
  231. package/bin/types/{JsViewPlugin → utils/JsViewPlugin}/JsvLatex/JsvLatex.vue.d.ts +4 -4
  232. package/bin/types/{JsViewPlugin → utils/JsViewPlugin}/JsvLatex/JsvLatexBridgeProxy.d.ts +0 -0
  233. package/bin/types/{JsViewPlugin → utils/JsViewPlugin}/JsvLatex/JsvLatexProxy.vue.d.ts +0 -0
  234. package/bin/types/{JsViewPlugin → utils/JsViewPlugin}/JsvLatex/PluginLoader.d.ts +0 -0
  235. package/bin/types/{JsViewPlugin → utils/JsViewPlugin}/JsvLatex/version.d.ts +0 -0
  236. package/bin/types/{JsViewPlugin → utils/JsViewPlugin}/index.d.ts +0 -0
  237. package/bin/types/{JsViewVueTools → utils/JsViewVueTools}/ConstSymbol.d.ts +0 -0
  238. package/bin/types/{JsViewVueTools → utils/JsViewVueTools}/DebugContentShellJBridge.d.ts +0 -0
  239. package/bin/types/{JsViewVueTools → utils/JsViewVueTools}/DebugTool.d.ts +0 -0
  240. package/bin/types/{JsViewVueTools → utils/JsViewVueTools}/DefaultKeyMap.d.ts +0 -0
  241. package/bin/types/{JsViewVueTools → utils/JsViewVueTools}/ForgeConstDefine.d.ts +0 -0
  242. package/bin/types/{JsViewVueTools → utils/JsViewVueTools}/JsvDemoTester.d.ts +0 -0
  243. package/bin/types/{JsViewVueTools → utils/JsViewVueTools}/JsvFederationTools.d.ts +0 -0
  244. package/bin/types/{JsViewVueTools → utils/JsViewVueTools}/JsvHashHistory.d.ts +0 -0
  245. package/bin/types/{JsViewVueTools → utils/JsViewVueTools}/JsvPerformance.d.ts +0 -0
  246. package/bin/types/{JsViewVueTools → utils/JsViewVueTools}/JsvStyleClass.d.ts +0 -0
  247. package/bin/types/{JsViewVueTools → utils/JsViewVueTools}/JsvTextureDefines.d.ts +0 -0
  248. package/bin/types/{JsViewVueTools → utils/JsViewVueTools}/JsvTextureStore/CanvasTexture/CanvasTexture.d.ts +0 -0
  249. package/bin/types/{JsViewVueTools → utils/JsViewVueTools}/JsvTextureStore/CanvasTexture/CommandList.d.ts +0 -0
  250. package/bin/types/{JsViewVueTools → utils/JsViewVueTools}/JsvTextureStore/CanvasTexture/Path.d.ts +0 -0
  251. package/bin/types/{JsViewVueTools → utils/JsViewVueTools}/JsvTextureStore/CapturedTexture/CapturedTexture.d.ts +0 -0
  252. package/bin/types/{JsViewVueTools → utils/JsViewVueTools}/JsvTextureStore/Store.d.ts +0 -0
  253. package/bin/types/{JsViewVueTools → utils/JsViewVueTools}/JsvTextureStore/Texture.d.ts +0 -0
  254. package/bin/types/{JsViewVueWidget → utils/JsViewVueWidget}/JsvActorMove/ActorControlBase.d.ts +0 -0
  255. package/bin/types/{JsViewVueWidget → utils/JsViewVueWidget}/JsvActorMove/JsvActorMove.vue.d.ts +0 -0
  256. package/bin/types/{JsViewVueWidget → utils/JsViewVueWidget}/JsvActorMove/JsvActorMoveControl.d.ts +0 -0
  257. package/bin/types/{JsViewVueWidget → utils/JsViewVueWidget}/JsvActorMove/index.d.ts +0 -0
  258. package/bin/types/{JsViewVueWidget → utils/JsViewVueWidget}/JsvApic/JsvApic/BrowserApic.vue.d.ts +1 -1
  259. package/bin/types/{JsViewVueWidget → utils/JsViewVueWidget}/JsvApic/JsvApic/index.d.ts +0 -0
  260. package/bin/types/{JsViewVueWidget → utils/JsViewVueWidget}/JsvApic/JsvApic2/BrowserApic2.vue.d.ts +1 -1
  261. package/bin/types/{JsViewVueWidget → utils/JsViewVueWidget}/JsvApic/JsvApic2/JsvApic2.vue.d.ts +0 -0
  262. package/bin/types/{JsViewVueWidget → utils/JsViewVueWidget}/JsvApic/JsvApic2/index.d.ts +0 -0
  263. package/bin/types/{JsViewVueWidget → utils/JsViewVueWidget}/JsvApic/JsvBrowserApicLib/ApicDataBase.d.ts +0 -0
  264. package/bin/types/{JsViewVueWidget → utils/JsViewVueWidget}/JsvApic/JsvBrowserApicLib/BrowserApicLib.d.ts +0 -0
  265. package/bin/types/{JsViewVueWidget → utils/JsViewVueWidget}/JsvApic/JsvBrowserApicLib/GifData.d.ts +0 -0
  266. package/bin/types/{JsViewVueWidget → utils/JsViewVueWidget}/JsvApic/JsvBrowserApicLib/NormalLoopTool.d.ts +0 -0
  267. package/bin/types/{JsViewVueWidget → utils/JsViewVueWidget}/JsvApic/JsvBrowserApicLib/PartLoopTool.d.ts +0 -0
  268. package/bin/types/{JsViewVueWidget → utils/JsViewVueWidget}/JsvApic/JsvBrowserApicLib/SingleLoopTool.d.ts +0 -0
  269. package/bin/types/{JsViewVueWidget → utils/JsViewVueWidget}/JsvApic/JsvBrowserApicLib/Viewer.d.ts +0 -0
  270. package/bin/types/{JsViewVueWidget → utils/JsViewVueWidget}/JsvApic/JsvBrowserApicLib/WebpData.d.ts +0 -0
  271. package/bin/types/{JsViewVueWidget → utils/JsViewVueWidget}/JsvApic/JsvCommonLoopToolBase.d.ts +0 -0
  272. package/bin/types/{JsViewVueWidget → utils/JsViewVueWidget}/JsvClipDiv/JsvClipDiv.vue.d.ts +0 -0
  273. package/bin/types/{JsViewVueWidget → utils/JsViewVueWidget}/JsvClipDiv/index.d.ts +0 -0
  274. package/bin/types/{JsViewVueWidget → utils/JsViewVueWidget}/JsvConnectLine/ArcLineManager.d.ts +0 -0
  275. package/bin/types/{JsViewVueWidget → utils/JsViewVueWidget}/JsvConnectLine/JsvConnectLine.vue.d.ts +2 -2
  276. package/bin/types/{JsViewVueWidget → utils/JsViewVueWidget}/JsvConnectLine/index.d.ts +0 -0
  277. package/bin/types/{JsViewVueWidget → utils/JsViewVueWidget}/JsvDriftScope/JsvDriftScope.vue.d.ts +0 -0
  278. package/bin/types/{JsViewVueWidget → utils/JsViewVueWidget}/JsvDriftScope/index.d.ts +0 -0
  279. package/bin/types/{JsViewVueWidget → utils/JsViewVueWidget}/JsvEnableRenderBreak.vue.d.ts +0 -0
  280. package/bin/types/{JsViewVueWidget → utils/JsViewVueWidget}/JsvFilterView.vue.d.ts +3 -3
  281. package/bin/types/{JsViewVueWidget → utils/JsViewVueWidget}/JsvFlexCell/JsvFlexDiv.vue.d.ts +0 -0
  282. package/bin/types/{JsViewVueWidget → utils/JsViewVueWidget}/JsvFreeMoveActor/ActionRefObject.d.ts +0 -0
  283. package/bin/types/{JsViewVueWidget → utils/JsViewVueWidget}/JsvFreeMoveActor/ActorControl.d.ts +0 -0
  284. package/bin/types/{JsViewVueWidget → utils/JsViewVueWidget}/JsvFreeMoveActor/ActorState.d.ts +0 -0
  285. package/bin/types/{JsViewVueWidget → utils/JsViewVueWidget}/JsvFreeMoveActor/CallbackManager.d.ts +0 -0
  286. package/bin/types/{JsViewVueWidget → utils/JsViewVueWidget}/JsvFreeMoveActor/ForgeTypeDefine.d.ts +0 -0
  287. package/bin/types/{JsViewVueWidget → utils/JsViewVueWidget}/JsvFreeMoveActor/FreeMoveActor.vue.d.ts +9 -9
  288. package/bin/types/{JsViewVueWidget → utils/JsViewVueWidget}/JsvFreeMoveActor/JsvEnvBlocker.vue.d.ts +3 -3
  289. package/bin/types/{JsViewVueWidget → utils/JsViewVueWidget}/JsvFreeMoveActor/NexusNode.d.ts +0 -0
  290. package/bin/types/{JsViewVueWidget → utils/JsViewVueWidget}/JsvFreeMoveActor/SetAction.d.ts +0 -0
  291. package/bin/types/{JsViewVueWidget → utils/JsViewVueWidget}/JsvFreeMoveActor/SetCondition.d.ts +0 -0
  292. package/bin/types/{JsViewVueWidget → utils/JsViewVueWidget}/JsvFreeMoveActor/SetState.d.ts +0 -0
  293. package/bin/types/{JsViewVueWidget → utils/JsViewVueWidget}/JsvFreeMoveActor/SyncLinkManager.d.ts +0 -0
  294. package/bin/types/{JsViewVueWidget → utils/JsViewVueWidget}/JsvFreeMoveActor/index.d.ts +0 -0
  295. package/bin/types/{JsViewVueWidget → utils/JsViewVueWidget}/JsvGrid.vue.d.ts +0 -0
  296. package/bin/types/{JsViewVueWidget → utils/JsViewVueWidget}/JsvHole.d.ts +0 -0
  297. package/bin/types/{JsViewVueWidget → utils/JsViewVueWidget}/JsvInput/index.d.ts +0 -0
  298. package/bin/types/{JsViewVueWidget → utils/JsViewVueWidget}/JsvLine/JsvLine.vue.d.ts +3 -3
  299. package/bin/types/{JsViewVueWidget → utils/JsViewVueWidget}/JsvLine/LineManager.d.ts +0 -0
  300. package/bin/types/{JsViewVueWidget → utils/JsViewVueWidget}/JsvLine/index.d.ts +0 -0
  301. package/bin/types/{JsViewVueWidget → utils/JsViewVueWidget}/JsvMarquee.vue.d.ts +0 -0
  302. package/bin/types/{JsViewVueWidget → utils/JsViewVueWidget}/JsvMindMap/CommonType.d.ts +0 -0
  303. package/bin/types/{JsViewVueWidget → utils/JsViewVueWidget}/JsvMindMap/Constant.d.ts +0 -0
  304. package/bin/types/{JsViewVueWidget → utils/JsViewVueWidget}/JsvMindMap/index.d.ts +0 -0
  305. package/bin/types/{JsViewVueWidget → utils/JsViewVueWidget}/JsvMindMap/rtree.d.ts +0 -0
  306. package/bin/types/{JsViewVueWidget → utils/JsViewVueWidget}/JsvPieChart.vue.d.ts +0 -0
  307. package/bin/types/{JsViewVueWidget → utils/JsViewVueWidget}/JsvPosterDiv.vue.d.ts +0 -0
  308. package/bin/types/{JsViewVueWidget → utils/JsViewVueWidget}/JsvPosterImage.vue.d.ts +0 -0
  309. package/bin/types/{JsViewVueWidget → utils/JsViewVueWidget}/JsvPreload/JsvPreload.vue.d.ts +0 -0
  310. package/bin/types/{JsViewVueWidget → utils/JsViewVueWidget}/JsvProgressBar.vue.d.ts +1 -1
  311. package/bin/types/{JsViewVueWidget → utils/JsViewVueWidget}/JsvQrcode/JsvQrcode.vue.d.ts +1 -1
  312. package/bin/types/{JsViewVueWidget → utils/JsViewVueWidget}/JsvRadarChart.vue.d.ts +1 -1
  313. package/bin/types/{JsViewVueWidget → utils/JsViewVueWidget}/JsvRipple/Constant.d.ts +0 -0
  314. package/bin/types/{JsViewVueWidget → utils/JsViewVueWidget}/JsvRipple/JsvRipple.vue.d.ts +3 -3
  315. package/bin/types/{JsViewVueWidget → utils/JsViewVueWidget}/JsvRipple/index.d.ts +0 -0
  316. package/bin/types/{JsViewVueWidget → utils/JsViewVueWidget}/JsvScaleTextBox.vue.d.ts +0 -0
  317. package/bin/types/{JsViewVueWidget → utils/JsViewVueWidget}/JsvScrollBox/JsvScrollBox.vue.d.ts +0 -0
  318. package/bin/types/{JsViewVueWidget → utils/JsViewVueWidget}/JsvScrollBox/JsvScrollFollow.vue.d.ts +0 -0
  319. package/bin/types/{JsViewVueWidget → utils/JsViewVueWidget}/JsvScrollBox/ScrollInnerSymbol.d.ts +0 -0
  320. package/bin/types/{JsViewVueWidget → utils/JsViewVueWidget}/JsvScrollBox/ScrollSymbol.d.ts +0 -0
  321. package/bin/types/{JsViewVueWidget → utils/JsViewVueWidget}/JsvScrollBox/index.d.ts +0 -0
  322. package/bin/types/{JsViewVueWidget → utils/JsViewVueWidget}/JsvSector.vue.d.ts +0 -0
  323. package/bin/types/{JsViewVueWidget → utils/JsViewVueWidget}/JsvSoundPool.d.ts +0 -0
  324. package/bin/types/{JsViewVueWidget → utils/JsViewVueWidget}/JsvSpray/JsvSpray.vue.d.ts +0 -0
  325. package/bin/types/{JsViewVueWidget → utils/JsViewVueWidget}/JsvSpriteAnim/FrameBuidler.d.ts +0 -0
  326. package/bin/types/{JsViewVueWidget → utils/JsViewVueWidget}/JsvSpriteAnim/JsvSpriteAnim.vue.d.ts +0 -0
  327. package/bin/types/{JsViewVueWidget → utils/JsViewVueWidget}/JsvSpriteAnim/JsvSpriteLoader.vue.d.ts +0 -0
  328. package/bin/types/{JsViewVueWidget → utils/JsViewVueWidget}/JsvSpriteAnim/JsvSpriteTools.d.ts +0 -0
  329. package/bin/types/{JsViewVueWidget → utils/JsViewVueWidget}/JsvSpriteAnim/SpriteController.d.ts +0 -0
  330. package/bin/types/{JsViewVueWidget → utils/JsViewVueWidget}/JsvSpriteAnim/index.d.ts +0 -0
  331. package/bin/types/{JsViewVueWidget → utils/JsViewVueWidget}/JsvSpriteAnim/sAnimationToken.d.ts +0 -0
  332. package/bin/types/{JsViewVueWidget → utils/JsViewVueWidget}/JsvSwiper/JsvSwiper.vue.d.ts +1 -1
  333. package/bin/types/{JsViewVueWidget → utils/JsViewVueWidget}/JsvSwiper/index.d.ts +0 -0
  334. package/bin/types/{JsViewVueWidget → utils/JsViewVueWidget}/JsvSwiper3D/JsvSwiper.vue.d.ts +3 -3
  335. package/bin/types/{JsViewVueWidget → utils/JsViewVueWidget}/JsvSwiper3D/index.d.ts +0 -0
  336. package/bin/types/{JsViewVueWidget → utils/JsViewVueWidget}/JsvTextBox.vue.d.ts +0 -0
  337. package/bin/types/{JsViewVueWidget → utils/JsViewVueWidget}/JsvTextureAnim/CommonType.d.ts +0 -0
  338. package/bin/types/{JsViewVueWidget → utils/JsViewVueWidget}/JsvTextureAnim/JsvTextureAnim.vue.d.ts +0 -0
  339. package/bin/types/{JsViewVueWidget → utils/JsViewVueWidget}/JsvVisibleSensor/JsvVisibleSensor.vue.d.ts +6 -6
  340. package/bin/types/{JsViewVueWidget → utils/JsViewVueWidget}/JsvVisibleSensor/index.d.ts +6 -6
  341. /package/bin/types/{index.d.ts → utils/index.d.ts} +0 -0
@@ -1,18 +1,20 @@
1
1
  <!--
2
+ * @file
3
+ *
2
4
  * 【模块 export 内容】
3
5
  * JsvDriftScope: Vue高阶组件,放大镜或者望远镜效果, 分为 frame 区域和 scene 区域,frame是游离的ClipView, scene是被Clip部分
4
6
  * props说明:
5
- top {Number} (可选, 响应式)组件的top, 不填写时默认值为0
6
- left {Number} (可选, 响应式)组件的left, 不填写时默认值为0
7
- frameStyle: {Object} (可选, 响应式) 透视(裁剪)区域外框的style, 此层次无色透明,但是决定Frame层的变化, 支持以下属性
8
- {top, left, width, height, transition, animation, transform, transformOrigin}
9
- scopeStyle: {Object} (必选, 响应式) 透视(裁剪)区域的div的尺寸style, 会叠加frameStyle已经做的形变, 支持以下属性
10
- {width, height, transition, animation, transform, transformOrigin}
11
- 做动画时,frameStyle负责位置变化,scope则主要负责尺寸变化
7
+ * top {Number} (可选, 响应式)组件的top, 不填写时默认值为0
8
+ * left {Number} (可选, 响应式)组件的left, 不填写时默认值为0
9
+ * frameStyle: {Object} (可选, 响应式) 透视(裁剪)区域外框的style, 此层次无色透明,但是决定Frame层的变化, 支持以下属性
10
+ * {top, left, width, height, transition, animation, transform, transformOrigin}
11
+ * scopeStyle: {Object} (必选, 响应式) 透视(裁剪)区域的div的尺寸style, 会叠加frameStyle已经做的形变, 支持以下属性
12
+ * {width, height, transition, animation, transform, transformOrigin}
13
+ * 做动画时,frameStyle负责位置变化,scope则主要负责尺寸变化
12
14
  *
13
15
  * template说明:
14
- Frame 透视窗(裁剪层)的外框的装饰层
15
- Scene 被透视的内容
16
+ * Frame 透视窗(裁剪层)的外框的装饰层
17
+ * Scene 被透视的内容
16
18
  * expose函数说明:
17
19
  *
18
20
  -->
@@ -1,4 +1,6 @@
1
1
  <!--
2
+ * @file
3
+ *
2
4
  * 【模块 export 内容】
3
5
  * JsvFilterView:黑白滤镜组件
4
6
  * props说明:
@@ -6,6 +6,8 @@
6
6
  -->
7
7
 
8
8
  <!--
9
+ * @file
10
+ *
9
11
  * 【模块 export 内容】
10
12
  * JsvFlexDiv: 包装成一个支持flex属性的div
11
13
  * props说明:
@@ -19,11 +21,12 @@
19
21
  * alignItems: flex-start|flex-end|center|stretch 默认center
20
22
  * 副轴方向单行内的对齐方式,例如主轴为行时,项目在每行中竖直方向的对齐
21
23
  * alignContent: flex-start|flex-end|center 默认flex-start
22
- * 副轴方向多行内容总体的对齐方式,例如主轴为行时,项目在每行中竖直方向的对齐
24
+ * 副轴方向多行内容总体的对齐方式,例如主轴为行时,项目在每行中竖直方向的对齐
25
+ * 若未设置,当遇到多行场景,行为为flex-start + 剩余空间每行平均瓜分(特别适合单行填充整个副轴空间的需求)
23
26
  * 作为item(二级container):
24
27
  * alignSelf: auto|flex-start|flex-end|center|stretch 默认auto, 覆盖container的alignItems设置
25
28
  * 特别注意: 这些属性会引起位置对齐问题, 所以会自动去掉: "overflow:hidden"
26
- * askSize: boolean 设置会跟进flex的尺寸变化,但会降低性能
29
+ * askSize: boolean 设置会跟进flex的尺寸变化,设置后可通过getWidth/getHeight拿到尺寸,但会降低性能
27
30
  * onSized: Function 比askSize更进一步,可以通过回调知道尺寸变化后的时机,回调参数(width, height)为flex后的尺寸
28
31
  *
29
32
  * expose说明:
@@ -0,0 +1,140 @@
1
+ <!--
2
+ * @file
3
+ *
4
+ * 【模块 export 内容】
5
+ * JsvScreenFlex: 包装成一个支持flex属性的div, 背景图片等同于objectFit:cover的模式
6
+ * props说明:
7
+ * style: 不能设置top/left/height/width, 这些信息自动来自屏幕的宽高
8
+ * 主要用于设置flex的属性,目前支持属性如下:
9
+ * flexDirection: row|row-reverse|column|column-reverse 默认row, 决定主轴为行还是列,正向还是反向
10
+ * flexWrap: nowrap|wrap 默认nowrap, 主轴方向是否换行
11
+ * justifyContent: flex-start|flex-end|center 默认flex-start
12
+ * 主轴对齐方式(与direction相关决定start为左还是右)
13
+ * alignItems: flex-start|flex-end|center|stretch 默认center
14
+ * 副轴方向单行内的对齐方式,例如主轴为行时,项目在每行中竖直方向的对齐
15
+ * alignContent: flex-start|flex-end|center 默认flex-start
16
+ * 副轴方向多行内容总体的对齐方式,例如主轴为行时,项目在每行中竖直方向的对齐
17
+ * 特别注意: 这些属性会引起位置对齐问题, 所以会自动去掉: "overflow:hidden"
18
+ * askSize: boolean 设置会跟进flex的尺寸变化,设置后可通过getWidth/getHeight拿到尺寸,但会降低性能
19
+ * onSized: Function 比askSize更进一步,可以通过回调知道尺寸变化后的时机,回调参数(width, height)为flex后的尺寸
20
+ * background: {string} (选填)背景图案 可选值: 绝对路径url|url(相对路径url)|#FFFFFF|rbga(255,0,0,1.0)
21
+ *
22
+ * expose说明:
23
+ * getWidth(): 当askSize或者onSize生效时,获取元素的宽度
24
+ * getHeight(): 当askSize或者onSize生效时,获取元素的高度
25
+ *
26
+ -->
27
+ <script setup>
28
+ import { Forge } from "@shijiu/jsview/dom/jsv-forge-define";
29
+ import { shallowRef, watchEffect, onUnmounted } from "vue";
30
+ import JsvFlexDiv from "./JsvFlexDiv.vue";
31
+ import { urlCheckSet } from "../../JsViewVueTools/TypeCheckAndSet.ts";
32
+ import { ForgeTextureApis } from "../../JsViewVueTools/TextureManagerTools.ts";
33
+ import ForgeHandles from "../../JsViewVueTools/ForgeHandles";
34
+
35
+ const rProps = defineProps({
36
+ style: Object,
37
+ askSize: {
38
+ type: Boolean,
39
+ default: false,
40
+ },
41
+ onSized: {
42
+ type: Function,
43
+ default: null,
44
+ },
45
+ background: {
46
+ type: String,
47
+ default: null,
48
+ },
49
+ });
50
+
51
+ // 此div的宽度是固定的全屏尺寸,在jsview体系下,全屏的宽度就是designMapWidth
52
+ const cDivWidth = Forge.sRenderBridge.GetScreenInfo().designedWidth;
53
+
54
+ let rConfig = shallowRef({});
55
+
56
+ let vTextureStringCache = null; // 用于判断是否需要texture更换的flag
57
+ let vStretchViewRef = null;
58
+
59
+ // 创建AutoStretchView来自动识别JsView的视窗大小
60
+ const fncBuildForgeView = () => {
61
+ vStretchViewRef = new Forge.AutoStretchView();
62
+ return Forge.sViewStore.add(new Forge.ViewInfo(vStretchViewRef, null));
63
+ };
64
+ let vViewId = fncBuildForgeView();
65
+
66
+ // 规范化style和入参的内容
67
+ watchEffect(() => {
68
+ if (rProps.style) {
69
+ const { top, left, width, height, ...others } = rProps.style;
70
+ rConfig.value.style = {
71
+ width: cDivWidth, // 全屏的宽度就是designMapWidth, 并且高度作为自动不进行设置
72
+ ...others,
73
+ };
74
+ }
75
+ rConfig.value.askSize = rProps.askSize;
76
+ rConfig.value.onSized = rProps.onSized;
77
+
78
+ if (rProps.background != vTextureStringCache) {
79
+ // 构建背景Texture
80
+ vTextureStringCache = rProps.background;
81
+
82
+ let texture_setting = null;
83
+
84
+ if (vTextureStringCache != null) {
85
+ const texture_manager = ForgeHandles.TextureManager;
86
+ if (
87
+ vTextureStringCache.trim().startsWith("#") ||
88
+ vTextureStringCache.trim().startsWith("rgba")
89
+ ) {
90
+ texture_setting = new Forge.TextureSetting(
91
+ ForgeTextureApis.GetColorTexture(texture_manager, vTextureStringCache)
92
+ );
93
+ } else {
94
+ let image_url = urlCheckSet(vTextureStringCache);
95
+ texture_setting = new Forge.ExternalTextureSetting(
96
+ ForgeTextureApis.GetImage(texture_manager, image_url)
97
+ );
98
+ }
99
+ }
100
+ vStretchViewRef.ResetTexture(texture_setting);
101
+ }
102
+ });
103
+
104
+ onUnmounted(() => {
105
+ if (vViewId != -1) {
106
+ // 清理viewStore, 防止泄漏问题
107
+ Forge.sViewStore.remove(vViewId);
108
+ vViewId = -1;
109
+ }
110
+ });
111
+
112
+ // 使用内置的flex节点来进行尺寸变化的回调和完成其子内容的flex处理
113
+ let rStretchedFlex = shallowRef(null);
114
+
115
+ defineExpose({
116
+ // TODO: PC模拟环境中目前没有浏览器的类似ResizeObserver接口
117
+ // 可以监听到left/ top变化,所以先关闭Left / Top的获取
118
+ // getLeft: () => {
119
+ // return SizeX.value;
120
+ // },
121
+ // getTop: () => {
122
+ // return SizeY.value;
123
+ // },
124
+
125
+ getWidth: () => {
126
+ return rStretchedFlex.value?.getWidth();
127
+ },
128
+ getHeight: () => {
129
+ return rStretchedFlex.value?.getHeight();
130
+ },
131
+ });
132
+ </script>
133
+
134
+ <template>
135
+ <div :data-jsv-vw-innerview="vViewId">
136
+ <jsv-flex-div ref="rStretchedFlex" v-bind="{ ...rConfig }">
137
+ <slot />
138
+ </jsv-flex-div>
139
+ </div>
140
+ </template>
@@ -1,6 +1,3 @@
1
1
 
2
- import JsvFlexDiv from "./JsvFlexDiv.vue";
3
-
4
- export {
5
- JsvFlexDiv
6
- }
2
+ export { default as JsvFlexDiv } from "./JsvFlexDiv.vue";
3
+ export { default as JsvScreenFlex } from "./JsvScreenFlex.vue";
@@ -1,37 +1,58 @@
1
- <!--
2
- [模块 export 内容]
3
- JsvFragShaderView:自定义Fragment shader的组件
4
- props说明:
5
- style {Object} (必填)left, top, width, height
6
- shaderStr {String} (必填)shader的函数体
7
- duration {int} 动画时长
8
- autoplay {boolean} 自动播放
9
- uniforms {Array} uniform参数, [{ name: string, value: number }]
10
- textures {Array} texture参数, [{ name: string, resource: string }]
11
- methods:
12
- startAnim
13
- @description 开始动画
14
- @params {int} duration: 动画时长, 默认为props.duration
15
- stopAnim
16
- @description 停止动画
17
- shader函数体说明:
18
- 参考网站: https://www.shadertoy.com
19
- 主函数:
20
- void mainImage( out vec4 fragColor, in vec2 fragCoord )
21
- @params {vec4} fragColor: 输出的片元颜色
22
- @params {vec2} fragCoord: 片元坐标, 左下角为原点, 往右为x正, 往上为y正
23
- 注意事项:
24
- * 盒子端使用OpenGL ES 2.0版本, 而网站 https://www.shadertoy.com 上使用WebGL, glsl支持的函数和操作符有区别.
25
- * 由于坐标系的差异, texture()采样函数需要替换为jsvTexture2D()
26
- * 盒子端的精度有限, 可能会出现精度导致的计算错误
27
-
28
- -->
1
+ <script>
2
+ /**
3
+ * @file
4
+ *
5
+ * [模块 export 内容]
6
+ * JsvFragShaderView:自定义Fragment shader的组件
7
+ * props说明:
8
+ * @prop {Object} style (必填)left, top, width, height
9
+ * @prop {String} shaderStr (必填)shader的函数体
10
+ * @prop {int} duration 动画时长
11
+ * @prop {boolean} autoplay 自动播放
12
+ * @prop {Array} uniforms uniform参数, [{ name: string, value: number }]
13
+ * @prop {Array} textures texture参数, [{ name: string, resource: string }]
14
+ * @prop {() => void} onStart 动画开始回调
15
+ * @prop {(int,boolean) => void} onEnd
16
+ * 动画结束回调,
17
+ * 返回值1号 int: 回到参数为动画的序列号,和startAnim的返回值匹配
18
+ * 返回值2号 boolean: true: 动画正常结束,false:动画因为cancel而结束
19
+ * methods:
20
+ * @method startAnim
21
+ * @description 开始动画
22
+ * @param {int} duration: 动画时长, 默认为props.duration
23
+ * @param {()=>void} onTimeout: 如果到达duration的时长,动画因为资源问题还没开始动画的时会回调此函数
24
+ * @return {int} 所开动画的序列号,用于和onEnd收到的值匹配
25
+ * @method stopAnim
26
+ * @description 停止动画
27
+ * shader函数体说明:
28
+ * 参考网站: https://www.shadertoy.com
29
+ * 主函数:
30
+ * void mainImage( out vec4 fragColor, in vec2 fragCoord )
31
+ * @params {vec4} fragColor: 输出的片元颜色
32
+ * @params {vec2} fragCoord: 片元坐标, 左下角为原点, 往右为x正, 往上为y正
33
+ * 可用的uniform:
34
+ * iResolution: {vec3} view的大小, vec3(width, height, 0)
35
+ * iTime: {float} 动画时间
36
+ * iDuration: {float} 动画总时间
37
+ * 注意事项:
38
+ * * 盒子端使用OpenGL ES 2.0版本, 而网站 https://www.shadertoy.com 上使用WebGL, glsl支持的函数和操作符有区别.
39
+ * * 由于坐标系的差异, texture()采样函数需要替换为jsvTexture2D()
40
+ * * 盒子端的精度有限, 可能会出现精度导致的计算错误
41
+ */
42
+ </script>
43
+
29
44
  <script setup>
30
- import { onMounted, onBeforeUnmount } from "vue";
45
+ import { onMounted, onUnmounted, shallowRef } from "vue";
31
46
  import { Forge } from "@shijiu/jsview/dom/jsv-forge-define";
47
+ import { urlCheckSet } from "../../JsViewVueTools/TypeCheckAndSet.ts";
32
48
  import ForgeHandles from "../../JsViewVueTools/ForgeHandles";
49
+ import {
50
+ FeatureNames,
51
+ JsvUseFeature,
52
+ } from "../../JsViewVueTools/FeatureActive.ts";
53
+ import { JsvTextureLoadTool } from "../../JsViewVueTools/JsvTextureLoadTool";
33
54
 
34
- const props = defineProps({
55
+ const rProps = defineProps({
35
56
  style: {
36
57
  type: Object,
37
58
  required: true,
@@ -56,13 +77,31 @@ const props = defineProps({
56
77
  textures: {
57
78
  type: Array,
58
79
  },
80
+ onEnd: {
81
+ type: Function,
82
+ },
83
+ onStart: {
84
+ type: Function,
85
+ },
59
86
  });
60
87
 
88
+ // 激活引擎中的功能支持
89
+ JsvUseFeature("JsvFragShaderView", FeatureNames.CustomFragShader);
90
+
91
+ console.log("LudlDebug using JsvFragShaderView...");
92
+
93
+ let rAnimRunning = shallowRef(false); // 动画是否在执行,画面只在动画进行时进行显示
94
+ let vPreloadHandler = null;
95
+ let vPreloadDone = false;
96
+ let vStartingPromise = null; // 用于后加载启动处理
97
+ let vStartToken = 0; // 计数,规避onEnd和start的不匹配
98
+ let vStartAnimTimeoutId = -1; // 动画启动的timeout句柄
99
+
61
100
  //uniforms
62
- let uniformList = [];
63
- if (props.uniforms) {
64
- for (let item of props.uniforms) {
65
- uniformList.push({
101
+ let cUniformList = [];
102
+ if (rProps.uniforms) {
103
+ for (let item of rProps.uniforms) {
104
+ cUniformList.push({
66
105
  name: item.name,
67
106
  type: 1,
68
107
  value: item.value,
@@ -71,14 +110,15 @@ if (props.uniforms) {
71
110
  }
72
111
 
73
112
  //prepare texture
74
- let textureList = [];
75
- if (props.textures) {
113
+ let cTextureList = [];
114
+ if (rProps.textures) {
76
115
  const texture_manager = ForgeHandles.TextureManager;
77
- for (let item of props.textures) {
116
+ let preload_textures = [];
117
+ for (let item of rProps.textures) {
78
118
  if (typeof item.resource == "string") {
79
119
  let image_url = item.resource;
80
120
  if (item.resource && item.resource.trim().indexOf("url(") === 0) {
81
- image_url = new window.JsView.Dom.UrlRef(image_url).href;
121
+ image_url = urlCheckSet(image_url);
82
122
  }
83
123
  const texture = texture_manager.GetImage2(
84
124
  image_url,
@@ -87,51 +127,161 @@ if (props.textures) {
87
127
  "RGB_8888",
88
128
  null
89
129
  );
90
- textureList.push({
130
+ cTextureList.push({
91
131
  name: item.name,
92
132
  id: texture.TexId,
93
133
  });
134
+ preload_textures.push(new JsvTextureLoadTool.ItemSet(image_url));
135
+ }
136
+
137
+ // 对图片进行预加载,等所有图片预加载完成后才能开始动画,以确保动画的完整性
138
+
139
+ vPreloadHandler = JsvTextureLoadTool.preload(preload_textures, () => {
140
+ vPreloadDone = true;
141
+
142
+ // 加载完成后直接释放句柄即可
143
+ vPreloadHandler.recycleResource();
144
+ vPreloadHandler = null;
145
+
146
+ if (vStartingPromise != null) {
147
+ vStartingPromise.resolve();
148
+ }
149
+ });
150
+ if (vPreloadHandler == null) {
151
+ // 无需要preload的内容,直接视为preloadDone
152
+ vPreloadDone = true;
153
+ if (vStartingPromise != null) {
154
+ vStartingPromise.resolve();
155
+ }
94
156
  }
95
157
  }
96
158
  }
97
159
 
98
- const fragShaderView = new Forge.FragShaderView();
99
- fragShaderView.SetShaderInfo(
100
- props.shaderStr,
101
- uniformList,
102
- textureList,
103
- (state, detail) => {
104
- console.log("haha", state, detail);
105
- }
160
+ const cFragShaderView = new Forge.FragShaderView();
161
+ cFragShaderView.SetShaderInfo(
162
+ rProps.shaderStr,
163
+ cUniformList,
164
+ cTextureList,
165
+ null
166
+ // (state, detail) => {
167
+ // console.log("set shader reuslt: ", state, detail);
168
+ // }
106
169
  );
107
- let viewId = Forge.sViewStore.add(new Forge.ViewInfo(fragShaderView, ""));
170
+ let vViewId = Forge.sViewStore.add(new Forge.ViewInfo(cFragShaderView, ""));
171
+
172
+ const { left: cLeft, top: cTop, width: cWidth, height: cHeight } = rProps.style;
173
+
174
+ function clearStartAnimTimeout() {
175
+ if (vStartAnimTimeoutId != -1) {
176
+ clearTimeout(vStartAnimTimeoutId);
177
+ vStartAnimTimeoutId = -1;
178
+ }
179
+ }
180
+
181
+ const startAnim = (alt_duration, on_timeout_func) => {
182
+ vStartingPromise = null; // 重置promise回执处理
183
+ rAnimRunning.value = false;
184
+ vStartToken++;
185
+
186
+ let track_token = vStartToken;
108
187
 
109
- const { left, top, width, height } = props.style;
188
+ // 确认duration的具体值
189
+ let duration =
190
+ typeof alt_duration == "number" ? alt_duration : rProps.duration;
110
191
 
111
- const startAnim = (d) => {
112
- let duration = typeof d == "number" ? d : props.duration;
113
- if (duration > 0) {
114
- let shaderAnimation = new Forge.ShaderAnimation(duration, null);
115
- fragShaderView.StartAnimation(shaderAnimation);
192
+ // 制作timeout回调
193
+ clearStartAnimTimeout();
194
+ if (typeof on_timeout_func == "function" && !vPreloadDone) {
195
+ // 启动动画时,加载未结束
196
+ vStartAnimTimeoutId = setTimeout(() => {
197
+ vStartAnimTimeoutId = -1;
198
+ if (!rAnimRunning.value) {
199
+ // 超时后动画仍未开始则执行timeout回调
200
+ on_timeout_func();
201
+ }
202
+ }, Math.max(500, duration)); // 最低延迟500毫秒,避免0ms的时序问题
116
203
  }
204
+
205
+ // 等待图片加载完成后进行
206
+ new Promise((resolve, reject) => {
207
+ if (!vPreloadDone) {
208
+ vStartingPromise = {
209
+ resolve,
210
+ reject,
211
+ };
212
+ } else {
213
+ resolve();
214
+ }
215
+ })
216
+ .then(() => {
217
+ if (vStartToken != track_token) {
218
+ // 序列不匹配
219
+ return;
220
+ }
221
+
222
+ vStartingPromise = null; // 重置promise回执处理
223
+
224
+ if (duration > 0) {
225
+ let shaderAnimation = new Forge.ShaderAnimation(duration, null);
226
+ shaderAnimation.Enable(0x1); // ReleaseAfterEndCallback
227
+ shaderAnimation.SetAnimationListener(
228
+ new Forge.AnimationListener(
229
+ null /* animation的onStart目前不调用 */,
230
+ (status) => {
231
+ if (vStartToken == track_token) {
232
+ // 序列匹配时才调整全局状态
233
+ rAnimRunning.value = false; // 动画结束,停止展示
234
+ }
235
+ rProps.onEnd?.(track_token, status);
236
+ },
237
+ null
238
+ )
239
+ );
240
+ rProps.onStart?.();
241
+ cFragShaderView.StartAnimation(shaderAnimation);
242
+ }
243
+
244
+ clearStartAnimTimeout();
245
+ rAnimRunning.value = true; // 动画启动后,展示界面,无论是否动画是否有时长
246
+ })
247
+ .catch(() => {
248
+ vStartingPromise = null;
249
+ });
250
+
251
+ return vStartToken;
117
252
  };
118
253
 
119
254
  const stopAnim = () => {
120
- fragShaderView?.StopAnimation();
255
+ if (rAnimRunning.value) {
256
+ cFragShaderView?.StopAnimation();
257
+ } else {
258
+ if (vStartingPromise != null) {
259
+ vStartingPromise.reject();
260
+ }
261
+ }
121
262
  };
122
263
 
123
264
  onMounted(() => {
124
- if (props.autoplay) {
125
- startAnim(props.duration);
265
+ if (rProps.autoplay) {
266
+ startAnim(rProps.duration);
126
267
  }
127
268
  });
128
269
 
129
- onBeforeUnmount(() => {
130
- if (viewId != -1) {
131
- Forge.sViewStore.remove(viewId);
132
- viewId = -1;
270
+ onUnmounted(() => {
271
+ clearStartAnimTimeout();
272
+
273
+ if (vViewId != -1) {
274
+ Forge.sViewStore.remove(vViewId);
275
+ vViewId = -1;
276
+ }
277
+
278
+ if (vPreloadHandler != null) {
279
+ // 当preload句柄仍然未加载完并释放掉的场景
280
+ vPreloadHandler.recycleResource();
281
+ vPreloadHandler = null;
133
282
  }
134
283
  });
284
+
135
285
  defineExpose({
136
286
  startAnim,
137
287
  stopAnim,
@@ -139,7 +289,8 @@ defineExpose({
139
289
  </script>
140
290
  <template>
141
291
  <div
142
- :style="{ left, top, width, height }"
143
- :data-jsv-vw-innerview="viewId"
292
+ v-show="rAnimRunning"
293
+ :style="{ left: cLeft, top: cTop, width: cWidth, height: cHeight }"
294
+ :data-jsv-vw-innerview="vViewId"
144
295
  ></div>
145
296
  </template>
@@ -6,13 +6,6 @@
6
6
  * @Description: file content
7
7
  */
8
8
  //! 考虑到.vue文件除了export default的component外,还有可能export其他对象,因此使用import * as
9
- import * as JsvFragShaderView from "./JsvFragShaderView.vue";
10
9
 
11
- let _JsvFragShaderView;
12
- if (window.JsView) {
13
- _JsvFragShaderView = JsvFragShaderView.default;
14
- } else {
15
- const BrowserJsvFragShaderView = await import("./BrowserJsvFragShaderView.vue");
16
- _JsvFragShaderView = BrowserJsvFragShaderView.default;
17
- }
18
- export default _JsvFragShaderView;
10
+ export { default } from "./JsvFragShaderView.vue"
11
+
@@ -6,6 +6,8 @@
6
6
  -->
7
7
 
8
8
  <!--
9
+ * @file
10
+ *
9
11
  * 【模块 export 内容】
10
12
  * JsvFreeMoveActor/JsvFreeMoveDiv:
11
13
  * 帧动画控制组件,通过control
@@ -26,6 +28,10 @@
26
28
  <script setup>
27
29
  import ActControl from "./ActorControl.ts";
28
30
  import { shallowRef, onMounted } from "vue";
31
+ import {
32
+ FeatureNames,
33
+ JsvUseFeature,
34
+ } from "../../JsViewVueTools/FeatureActive.ts";
29
35
 
30
36
  const props = defineProps({
31
37
  // div的style设置,
@@ -67,6 +73,9 @@ const props = defineProps({
67
73
  },
68
74
  });
69
75
 
76
+ // 激活引擎中的功能支持
77
+ JsvUseFeature("FreeMoveActor", FeatureNames.FreeMoveDiv);
78
+
70
79
  let mainDivRef = shallowRef(null);
71
80
  let controller = new ActControl();
72
81
  if (props.sizeMode) {
@@ -1,4 +1,6 @@
1
1
  <!--
2
+ * @file
3
+ *
2
4
  * 【模块 export 内容】
3
5
  * JsvEnvBlocker: 触发FreeMoveAnimation的 blockerCondition 的全屏碰撞体
4
6
  * 与FreeMoveAnimation的 setCondition.onHitBlock 配合使用
@@ -1,4 +1,6 @@
1
1
  <!--
2
+ * @file
3
+ *
2
4
  * 【界面概述】
3
5
  * 表格式布局控件, 页面滚动时无动画. 一般用于对页面刷新速度有要求的场景
4
6
  *
@@ -1,4 +1,6 @@
1
1
  /*!
2
+ * @file
3
+ *
2
4
  * 【模块 export 内容】
3
5
  * JsvHole 为video展示区域挖洞
4
6
  * props说明: