@visactor/vrender 0.14.0-alpha.9 → 0.14.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cjs/common/text.d.ts +1 -1
- package/cjs/common/text.js +2 -2
- package/cjs/common/text.js.map +1 -1
- package/cjs/common/utils.js +1 -1
- package/cjs/common/utils.js.map +1 -1
- package/cjs/constants.d.ts +1 -1
- package/cjs/constants.js +2 -2
- package/cjs/constants.js.map +1 -1
- package/cjs/core/contributions/layerHandler/canvas2d-contribution.js +1 -1
- package/cjs/core/contributions/layerHandler/canvas2d-contribution.js.map +1 -1
- package/cjs/core/contributions/layerHandler/offscreen2d-contribution.js +1 -1
- package/cjs/core/contributions/layerHandler/offscreen2d-contribution.js.map +1 -1
- package/cjs/core/contributions/window/browser-contribution.js +1 -1
- package/cjs/core/contributions/window/browser-contribution.js.map +1 -1
- package/cjs/core/contributions/window/feishu-contribution.js +1 -1
- package/cjs/core/contributions/window/feishu-contribution.js.map +1 -1
- package/cjs/core/contributions/window/lynx-contribution.js +1 -1
- package/cjs/core/contributions/window/lynx-contribution.js.map +1 -1
- package/cjs/core/contributions/window/native-contribution.js.map +1 -1
- package/cjs/core/contributions/window/node-contribution.js +1 -1
- package/cjs/core/contributions/window/node-contribution.js.map +1 -1
- package/cjs/core/contributions/window/taro-contribution.js +1 -1
- package/cjs/core/contributions/window/taro-contribution.js.map +1 -1
- package/cjs/core/contributions/window/wx-contribution.js +1 -1
- package/cjs/core/contributions/window/wx-contribution.js.map +1 -1
- package/cjs/core/core-modules.js +2 -2
- package/cjs/core/core-modules.js.map +1 -1
- package/cjs/core/global-module.d.ts +1 -5
- package/cjs/core/global-module.js +1 -20
- package/cjs/core/global-module.js.map +1 -1
- package/cjs/core/graphic-utils.js +1 -1
- package/cjs/core/graphic-utils.js.map +1 -1
- package/cjs/core/layer-service.js +1 -1
- package/cjs/core/layer-service.js.map +1 -1
- package/cjs/core/stage.js +2 -2
- package/cjs/core/stage.js.map +1 -1
- package/cjs/core/window.d.ts +1 -1
- package/cjs/core/window.js +3 -3
- package/cjs/core/window.js.map +1 -1
- package/cjs/graphic/text.js +2 -2
- package/cjs/graphic/text.js.map +1 -1
- package/cjs/index.d.ts +1 -1
- package/cjs/index.js +1 -1
- package/cjs/index.js.map +1 -1
- package/cjs/modules.d.ts +1 -1
- package/cjs/modules.js +3 -3
- package/cjs/modules.js.map +1 -1
- package/cjs/picker/canvas-picker-service.js +1 -1
- package/cjs/picker/canvas-picker-service.js.map +1 -1
- package/cjs/picker/global-picker-service.js +1 -1
- package/cjs/picker/global-picker-service.js.map +1 -1
- package/cjs/picker/math-picker-service.js +1 -1
- package/cjs/picker/math-picker-service.js.map +1 -1
- package/cjs/picker/picker-service.js +1 -1
- package/cjs/picker/picker-service.js.map +1 -1
- package/cjs/render/contributions/render/incremental-draw-contribution.js +1 -1
- package/cjs/render/contributions/render/incremental-draw-contribution.js.map +1 -1
- package/dist/index.js +65 -64
- package/dist/index.min.js +1 -1
- package/es/common/text.d.ts +1 -1
- package/es/common/text.js +2 -2
- package/es/common/text.js.map +1 -1
- package/es/common/utils.js +1 -1
- package/es/common/utils.js.map +1 -1
- package/es/constants.d.ts +1 -1
- package/es/constants.js +1 -1
- package/es/constants.js.map +1 -1
- package/es/core/contributions/layerHandler/canvas2d-contribution.js +2 -2
- package/es/core/contributions/layerHandler/canvas2d-contribution.js.map +1 -1
- package/es/core/contributions/layerHandler/offscreen2d-contribution.js +2 -2
- package/es/core/contributions/layerHandler/offscreen2d-contribution.js.map +1 -1
- package/es/core/contributions/window/browser-contribution.js +2 -2
- package/es/core/contributions/window/browser-contribution.js.map +1 -1
- package/es/core/contributions/window/feishu-contribution.js +2 -2
- package/es/core/contributions/window/feishu-contribution.js.map +1 -1
- package/es/core/contributions/window/lynx-contribution.js +2 -2
- package/es/core/contributions/window/lynx-contribution.js.map +1 -1
- package/es/core/contributions/window/native-contribution.js.map +1 -1
- package/es/core/contributions/window/node-contribution.js +2 -2
- package/es/core/contributions/window/node-contribution.js.map +1 -1
- package/es/core/contributions/window/taro-contribution.js +2 -2
- package/es/core/contributions/window/taro-contribution.js.map +1 -1
- package/es/core/contributions/window/wx-contribution.js +2 -2
- package/es/core/contributions/window/wx-contribution.js.map +1 -1
- package/es/core/core-modules.js +4 -4
- package/es/core/core-modules.js.map +1 -1
- package/es/core/global-module.d.ts +1 -5
- package/es/core/global-module.js +1 -20
- package/es/core/global-module.js.map +1 -1
- package/es/core/graphic-utils.js +2 -2
- package/es/core/graphic-utils.js.map +1 -1
- package/es/core/layer-service.js +2 -2
- package/es/core/layer-service.js.map +1 -1
- package/es/core/stage.js +4 -4
- package/es/core/stage.js.map +1 -1
- package/es/core/window.d.ts +1 -1
- package/es/core/window.js +3 -3
- package/es/core/window.js.map +1 -1
- package/es/graphic/text.js +2 -2
- package/es/graphic/text.js.map +1 -1
- package/es/index.d.ts +1 -1
- package/es/index.js +1 -1
- package/es/index.js.map +1 -1
- package/es/modules.d.ts +1 -1
- package/es/modules.js +3 -3
- package/es/modules.js.map +1 -1
- package/es/picker/canvas-picker-service.js +2 -2
- package/es/picker/canvas-picker-service.js.map +1 -1
- package/es/picker/global-picker-service.js +2 -2
- package/es/picker/global-picker-service.js.map +1 -1
- package/es/picker/math-picker-service.js +2 -2
- package/es/picker/math-picker-service.js.map +1 -1
- package/es/picker/picker-service.js +2 -2
- package/es/picker/picker-service.js.map +1 -1
- package/es/render/contributions/render/incremental-draw-contribution.js +2 -2
- package/es/render/contributions/render/incremental-draw-contribution.js.map +1 -1
- package/es/tsconfig.tsbuildinfo +1 -1
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/render/contributions/render/incremental-draw-contribution.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA,yCAAmE;AAanE,8CAAoD;AACpD,uDAAuD;AACvD,2DAA8D;AAC9D,8CAA4C;AAC5C,qCAAyD;AACzD,uEAA+E;AAC/E,uEAA+E;AAC/E,yDAAyD;AAEzD,iFAA6E;AAC7E,+CAAoD;AAEpD,kDAA4C;AAE5C,IAAK,MAGJ;AAHD,WAAK,MAAM;IACT,uCAAU,CAAA;IACV,mCAAQ,CAAA;AACV,CAAC,EAHI,MAAM,KAAN,MAAM,QAGV;AAOM,IAAM,kCAAkC,GAAxC,MAAM,kCAAmC,SAAQ,2CAAuB;IAc7E,YAIiD,aAA+B,EACnC,cAA+B,EACX,UAA0B,EAC1B,UAA0B,EAChD,YAA2B,EAIjD,gCAAyF;QAE5G,KAAK,CAAC,aAAa,EAAE,cAAc,EAAE,YAAY,EAAE,gCAAgC,CAAC,CAAC;QAVtC,kBAAa,GAAb,aAAa,CAAkB;QACnC,mBAAc,GAAd,cAAc,CAAiB;QACX,eAAU,GAAV,UAAU,CAAgB;QAC1B,eAAU,GAAV,UAAU,CAAgB;QAChD,iBAAY,GAAZ,YAAY,CAAe;QAIjD,qCAAgC,GAAhC,gCAAgC,CAAyD;QAzB9G,cAAS,GAAY,KAAK,CAAC;QACjB,qBAAgB,GAAW,CAAC,CAAC;QAC7B,eAAU,GAAW,CAAC,CAAC;QACvB,WAAM,GAAW,MAAM,CAAC,MAAM,CAAC;QAC/B,2BAAsB,GAAwB,IAAI,CAAC;QAC7D,UAAK,GAAG;YACN,YAAY,EAAE,IAAI,kBAAQ,CAAK,EAAE,CAAC;SACnC,CAAC;IAqBF,CAAC;IAED,IAAI;QACF,KAAK,CAAC,IAAI,EAAE,CAAC;QACb,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QACvE,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;IACzE,CAAC;IAQK,IAAI,CAAC,aAA6B,EAAE,WAAyB;;YAEjE,IAAI,IAAI,CAAC,sBAAsB,EAAE;gBAC/B,OAAO;aACR;YACD,IAAI,CAAC,iBAAiB,GAAG,aAAa,CAAC;YACvC,IAAI,CAAC,eAAe,GAAG,WAAW,CAAC;YAEnC,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;YAC7D,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC;YACnD,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC;YACnC,IAAI,QAAQ,EAAE;gBACZ,OAAO;aACR;YAED,IAAI,CAAC,oBAAoB,GAAG,aAAa,CAAC;YAC1C,MAAM,EAAE,OAAO,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,WAAW,CAAC;YAE9C,IAAI,CAAC,OAAO,EAAE;gBACZ,OAAO;aACR;YAUD,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC;YAErB,OAAO,CAAC,WAAW,EAAE,CAAC;YACtB,OAAO,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC;YAKrC,OAAO,CAAC,IAAI,EAAE,CAAC;YAWf,WAAW,CAAC,kBAAkB,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,oBAAoB,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;YAEpG,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;YAE9B,OAAO,CAAC,IAAI,EAAE,CAAC;YACf,aAAa,CAAC,eAAe;iBAC1B,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;;gBACb,OAAO,CAAC,MAAA,CAAC,CAAC,SAAS,CAAC,MAAM,mCAAI,0BAAgB,CAAC,MAAM,CAAC,GAAG,CAAC,MAAA,CAAC,CAAC,SAAS,CAAC,MAAM,mCAAI,0BAAgB,CAAC,MAAM,CAAC,CAAC;YAC3G,CAAC,CAAC;iBACD,OAAO,CAAC,KAAK,CAAC,EAAE;gBACf,IAAI,CAAC,WAAW,CAAC,KAAe,EAAE,WAAW,CAAC,CAAC;YACjD,CAAC,CAAC,CAAC;YAEL,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,UAAU,EAAE,GAAG,EAAE;gBAC3C,OAAO,CAAC,OAAO,EAAE,CAAC;gBAClB,OAAO,CAAC,OAAO,EAAE,CAAC;gBAClB,OAAO,CAAC,IAAI,EAAE,CAAC;gBACf,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC;gBACtB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;YACzB,CAAC,CAAC,CAAC;QACL,CAAC;KAAA;IAEe,eAAe,CAAC,KAAa,EAAE,WAAyB;;YACtE,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;YACtB,MAAM,IAAI,CAAC,uBAAuB,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;YACvD,OAAO;QACT,CAAC;KAAA;IAGe,uBAAuB,CAAC,KAAa,EAAE,WAAyB;;YAC9E,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;YACzB,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE;gBAC1B,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,WAAW,EAAE;oBAClC,SAAS,EAAE,GAAS,EAAE;wBAEpB,IAAI,KAAK,CAAC,KAAK,KAAK,CAAC,EAAE;4BACrB,MAAM,OAAO,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC,CAAa,CAAC;4BAChD,IAAI,OAAO,CAAC,WAAW,IAAK,OAAO,CAAC,SAAiB,CAAC,QAAQ,EAAE;gCAC9D,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE;oCAC1B,OAAO,CAAC,aAAa,GAAG,CAAC,CAAC;iCAC3B;gCACD,OAAO,OAAO,CAAC,aAAa,GAAI,OAAO,CAAC,SAAiB,CAAC,QAAQ,CAAC,MAAM,EAAE;oCACzE,WAAW,CAAC,mBAAmB,GAAG;wCAChC,UAAU,EAAE,OAAO,CAAC,aAAa;wCACjC,MAAM,EAAE,OAAO,CAAC,WAAW;qCAC5B,CAAC;oCACF,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;oCACtC,OAAO,CAAC,aAAa,IAAI,OAAO,CAAC,WAAW,CAAC;oCAC7C,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;iCAC9B;6BACF;iCAAM;gCACL,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;6BACvC;4BACD,OAAO,CAAC,KAAK,CAAC,CAAC;4BACf,OAAO;yBACR;wBACD,MAAM,IAAA,mBAAY,EAAC,KAAK,EAAE,0BAAgB,CAAC,MAAM,EAAE,CAAC,IAAc,EAAE,CAAS,EAAE,EAAE;4BAC/E,IAAI,IAAI,CAAC,MAAM,KAAK,MAAM,CAAC,IAAI,EAAE;gCAC/B,OAAO,IAAI,CAAC;6BACb;4BACD,IAAI,IAAI,CAAC,WAAW,EAAE;gCAEpB,OAAO,KAAK,CAAC;6BACd;4BAED,IAAI,CAAC,GAAG,IAAI,CAAC,UAAU,EAAE;gCACvB,OAAO,KAAK,CAAC;6BACd;4BACD,MAAM,SAAS,GAAG,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC,WAAW,CAAC;4BAE5D,IAAI,CAAC,GAAG,SAAS,EAAE;gCACjB,IAAI,CAAC,UAAU,GAAG,CAAC,GAAG,CAAC,CAAC;gCACxB,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;6BACpC;4BAED,IAAI,CAAC,KAAK,SAAS,GAAG,CAAC,EAAE;gCACvB,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,UAAU,CAAC;gCAExC,OAAO,IAAI,CAAC,eAAe,EAAE,CAAC;6BAC/B;4BAED,OAAO,KAAK,CAAC;wBACf,CAAC,CAAC,CAAC;wBACH,OAAO,CAAC,KAAK,CAAC,CAAC;oBACjB,CAAC,CAAA;iBACF,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;QACjC,CAAC;KAAA;IAEe,eAAe;;YAC7B,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE;gBAC3B,IAAI,CAAC,MAAM,CAAC,wBAAwB,EAAE,CAAC,GAAG,EAAE;oBAC1C,OAAO,CAAC,KAAK,CAAC,CAAC;gBACjB,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QACL,CAAC;KAAA;IAOe,YAAY,CAAC,WAAyB;;YACpD,IAAI,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC;YAC1B,IAAI,WAAW,CAAC,kBAAkB,EAAE;gBAClC,IAAI,GAAG,KAAK,CAAC;gBACb,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;gBACvB,IAAI,CAAC,WAAW,EAAE,CAAC;aACpB;YACD,OAAO,IAAI,CAAC;QACd,CAAC;KAAA;IAEe,SAAS;;YACvB,IAAI,IAAI,CAAC,SAAS,EAAE;gBAClB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC;gBAC1B,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE;oBAC1B,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,EAAE;wBACzC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;wBAC5B,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;4BACxE,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC;wBAChC,CAAC,CAAC,CAAC;wBACH,OAAO,CAAC,KAAK,CAAC,CAAC;oBACjB,CAAC,CAAC,CAAC;gBACL,CAAC,CAAC,CAAC;aACJ;QACH,CAAC;KAAA;IAES,WAAW;QACnB,IAAI,CAAC,gBAAgB,GAAG,CAAC,CAAC;QAC1B,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;IACtB,CAAC;IAEK,WAAW,CAAC,KAAa,EAAE,WAAyB;;YACxD,IAAI,WAAW,CAAC,KAAK,IAAI,KAAK,CAAC,SAAS,CAAC,UAAU,KAAK,KAAK,EAAE;gBAC7D,OAAO;aACR;YACD,IAAI,KAAK,CAAC,WAAW,IAAI,WAAW,CAAC,SAAS,KAAK,KAAK,CAAC,IAAI,EAAE;gBAC7D,MAAM,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;gBAC/C,WAAW,CAAC,KAAK,GAAG,IAAI,CAAC;gBACzB,OAAO;aACR;YAED,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE;gBAC1B,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,WAAW,EAAE;oBAClC,SAAS,EAAE,GAAS,EAAE;wBACpB,MAAM,IAAA,mBAAY,EAAC,KAAK,EAAE,0BAAgB,CAAC,MAAM,EAAE,CAAO,IAAc,EAAE,EAAE;4BAC1E,IAAI,WAAW,CAAC,KAAK,EAAE;gCACrB,OAAO;6BACR;4BACD,IAAI,IAAI,CAAC,WAAW,EAAE;gCACpB,MAAM,IAAI,CAAC,WAAW,CAAC,IAAc,EAAE,WAAW,CAAC,CAAC;6BACrD;iCAAM;gCAEL,OAAO;6BACR;wBACH,CAAC,CAAA,CAAC,CAAC;wBACH,OAAO,CAAC,KAAK,CAAC,CAAC;oBACjB,CAAC,CAAA;iBACF,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QACL,CAAC;KAAA;CAQF,CAAA;AAzPC;IAAC,IAAA,kBAAM,EAAC,kBAAM,CAAC;;kEAAiB;AAZrB,kCAAkC;IAD9C,IAAA,sBAAU,GAAE;IAmBR,WAAA,IAAA,uBAAW,EAAC,sBAAa,CAAC,CAAA;IAC1B,WAAA,IAAA,kBAAM,EAAC,uBAAc,CAAC,CAAA;IACtB,WAAA,IAAA,kBAAM,EAAC,4DAAkC,CAAC,CAAA;IAC1C,WAAA,IAAA,kBAAM,EAAC,4DAAkC,CAAC,CAAA;IAC1C,WAAA,IAAA,kBAAM,EAAC,wBAAY,CAAC,CAAA;IAEpB,WAAA,IAAA,kBAAM,EAAC,4CAAoB,CAAC,CAAA;IAC5B,WAAA,IAAA,iBAAK,EAAC,sCAAmB,CAAC,CAAA;;GAzBlB,kCAAkC,CAqQ9C;AArQY,gFAAkC","file":"incremental-draw-contribution.js","sourcesContent":["import { injectable, inject, named, multiInject } from 'inversify';\nimport type {\n IGraphic,\n IGroup,\n IGlobal,\n IRenderService,\n IDrawContext,\n IDrawContribution,\n IGraphicRender,\n IRenderSelector,\n IDrawItemInterceptorContribution,\n IContributionProvider\n} from '../../../interface';\nimport { DefaultAttribute } from '../../../graphic';\nimport { LayerService } from '../../../core/constants';\nimport { DefaultDrawContribution } from './draw-contribution';\nimport { SyncHook } from '../../../tapable';\nimport { GraphicRender, RenderSelector } from './symbol';\nimport { DefaultIncrementalCanvasLineRender } from './incremental-line-render';\nimport { DefaultIncrementalCanvasAreaRender } from './incremental-area-render';\nimport { DrawItemInterceptor } from './draw-interceptor';\n// eslint-disable-next-line @typescript-eslint/consistent-type-imports\nimport { ContributionProvider } from '../../../common/contribution-provider';\nimport { foreachAsync } from '../../../common/sort';\nimport type { ILayerService } from '../../../interface/core';\nimport { Global } from '../../../constants';\n\nenum STATUS {\n NORMAL = 0,\n STOP = 1\n}\n\n/**\n * 增量渲染的contribution,基于树状结构针对图元的渲染\n * 不是单例模式\n */\n@injectable()\nexport class DefaultIncrementalDrawContribution extends DefaultDrawContribution implements IDrawContribution {\n rendering: boolean = false;\n protected currFrameStartAt: number = 0;\n protected currentIdx: number = 0;\n protected status: STATUS = STATUS.NORMAL;\n protected checkingForDrawPromise: Promise<any> | null = null;\n hooks = {\n completeDraw: new SyncHook<[]>([])\n };\n protected lastRenderService: IRenderService;\n protected lastDrawContext: IDrawContext;\n protected count: number;\n @inject(Global) global: IGlobal;\n\n constructor(\n // @inject(ContributionProvider)\n // @named(GraphicRender)\n // protected readonly contributions: ContributionProvider<IGraphicRender>,\n @multiInject(GraphicRender) protected readonly contributions: IGraphicRender[],\n @inject(RenderSelector) protected readonly renderSelector: IRenderSelector, // 根据图元类型选择对应的renderItem进行渲染\n @inject(DefaultIncrementalCanvasLineRender) protected readonly lineRender: IGraphicRender, // 默认的lineRender\n @inject(DefaultIncrementalCanvasAreaRender) protected readonly areaRender: IGraphicRender, // 默认的lineRender\n @inject(LayerService) protected readonly layerService: ILayerService, // 默认的polygonRender\n // 拦截器\n @inject(ContributionProvider)\n @named(DrawItemInterceptor)\n protected readonly drawItemInterceptorContributions: IContributionProvider<IDrawItemInterceptorContribution>\n ) {\n super(contributions, renderSelector, layerService, drawItemInterceptorContributions);\n }\n\n init(): void {\n super.init();\n this.defaultRenderMap.set(this.lineRender.numberType, this.lineRender);\n this.defaultRenderMap.set(this.areaRender.numberType, this.areaRender);\n }\n\n /**\n *\n * @param renderService\n * @param drawContext restartIncremental为true表示重新执行增量渲染,为false表示不执行增量渲染\n * @returns\n */\n async draw(renderService: IRenderService, drawContext: IDrawContext): Promise<void> {\n // 入口检查是否需要重新绘制\n if (this.checkingForDrawPromise) {\n return;\n }\n this.lastRenderService = renderService;\n this.lastDrawContext = drawContext;\n\n this.checkingForDrawPromise = this.checkForDraw(drawContext);\n const skipDraw = await this.checkingForDrawPromise;\n this.checkingForDrawPromise = null;\n if (skipDraw) {\n return;\n }\n\n this.currentRenderService = renderService;\n const { context, x = 0, y = 0 } = drawContext;\n\n if (!context) {\n return;\n }\n // 增量渲染不需要dirtyBounds\n // const dirtyBounds: IBounds | undefined = this.dirtyBounds.setValue(x, y, x + width, y + height);\n // if (stage.dirtyBounds) {\n // const b = getRectIntersect(dirtyBounds, stage.dirtyBounds, false);\n // dirtyBounds.x1 = Math.floor(b.x1);\n // dirtyBounds.y1 = Math.floor(b.y1);\n // dirtyBounds.x2 = Math.ceil(b.x2);\n // dirtyBounds.y2 = Math.ceil(b.y2);\n // }\n context.inuse = true;\n // 初始化context\n context.clearMatrix();\n context.setTransformForCurrent(true);\n\n // const drawInArea =\n // dirtyBounds.width() * context.dpr !== context.canvas.width ||\n // dirtyBounds.height() * context.dpr !== context.canvas.height;\n context.save();\n\n // if (drawInArea) {\n // context.beginPath();\n // context.rect(dirtyBounds.x1, dirtyBounds.y1, dirtyBounds.width(), dirtyBounds.height());\n // context.clip();\n // }\n\n // this.clearScreen(renderService, context, drawContext);\n\n // 绘制之前需要清空画布\n drawContext.restartIncremental && this.clearScreen(this.currentRenderService, context, drawContext);\n // 设置translate\n context.translate(x, y, true);\n\n context.save();\n renderService.renderTreeRoots\n .sort((a, b) => {\n return (a.attribute.zIndex ?? DefaultAttribute.zIndex) - (b.attribute.zIndex ?? DefaultAttribute.zIndex);\n })\n .forEach(group => {\n this.renderGroup(group as IGroup, drawContext);\n });\n\n this.hooks.completeDraw.tap('top-draw', () => {\n context.restore();\n context.restore();\n context.draw();\n context.inuse = false;\n this.rendering = false;\n });\n }\n\n protected async _increaseRender(group: IGroup, drawContext: IDrawContext) {\n this.rendering = true;\n await this._renderIncrementalGroup(group, drawContext);\n return;\n }\n\n // 默认group后只有一层节点,也就是group是叶子结点的父节点\n protected async _renderIncrementalGroup(group: IGroup, drawContext: IDrawContext) {\n this.count = group.count;\n await new Promise(resolve => {\n this.renderItem(group, drawContext, {\n drawingCb: async () => {\n // 增量图元只支持一个,线段和面积图\n if (group.count === 2) {\n const graphic = group.getChildAt(0) as IGraphic;\n if (graphic.incremental && (graphic.attribute as any).segments) {\n if (!graphic.incrementalAt) {\n graphic.incrementalAt = 0;\n }\n while (graphic.incrementalAt < (graphic.attribute as any).segments.length) {\n drawContext.multiGraphicOptions = {\n startAtIdx: graphic.incrementalAt,\n length: graphic.incremental\n };\n this.renderItem(graphic, drawContext);\n graphic.incrementalAt += graphic.incremental;\n await this.waitToNextFrame();\n }\n } else {\n this.renderItem(graphic, drawContext);\n }\n resolve(false);\n return;\n }\n await foreachAsync(group, DefaultAttribute.zIndex, (item: IGraphic, i: number) => {\n if (this.status === STATUS.STOP) {\n return true;\n }\n if (item.isContainer) {\n // 增量渲染group下不应该有其他的group节点\n return false;\n }\n // 如果小于currentIdx,说明还没到当前的位置,那就直接跳过\n if (i < this.currentIdx) {\n return false;\n }\n const frameTail = this.currFrameStartAt + group.incremental;\n // 绘制 currentIdx到this.lastFrameIdx + group.incremental的内容\n if (i < frameTail) {\n this.currentIdx = i + 1;\n this.renderItem(item, drawContext);\n }\n // 下一帧\n if (i === frameTail - 1) {\n this.currFrameStartAt = this.currentIdx;\n // this.lastFrameIdx = this.currentIdx;\n return this.waitToNextFrame();\n }\n\n return false;\n });\n resolve(false);\n }\n });\n });\n this.hooks.completeDraw.call();\n }\n\n protected async waitToNextFrame(): Promise<boolean> {\n return new Promise(resolve => {\n this.global.getRequestAnimationFrame()(() => {\n resolve(false);\n });\n });\n }\n\n /**\n * 检查这次绘制是否跳过,以及执行一些准备\n * 增量渲染有自己的绘制逻辑流程,外部每次触发draw,该图层不一定会执行\n * @returns 返回true代表跳过绘制,false代表进行绘制\n */\n protected async checkForDraw(drawContext: IDrawContext): Promise<boolean> {\n let skip = this.rendering;\n if (drawContext.restartIncremental) {\n skip = false;\n await this.forceStop();\n this.resetToInit();\n }\n return skip;\n }\n\n protected async forceStop() {\n if (this.rendering) {\n this.status = STATUS.STOP;\n await new Promise(resolve => {\n this.hooks.completeDraw.tap('stopCb', () => {\n this.status = STATUS.NORMAL;\n this.hooks.completeDraw.taps = this.hooks.completeDraw.taps.filter(item => {\n return item.name !== 'stopCb';\n });\n resolve(false);\n });\n });\n }\n }\n\n protected resetToInit() {\n this.currFrameStartAt = 0;\n this.currentIdx = 0;\n }\n\n async renderGroup(group: IGroup, drawContext: IDrawContext) {\n if (drawContext.break || group.attribute.visibleAll === false) {\n return;\n }\n if (group.incremental && drawContext.startAtId === group._uid) {\n await this._increaseRender(group, drawContext);\n drawContext.break = true;\n return;\n }\n\n await new Promise(resolve => {\n this.renderItem(group, drawContext, {\n drawingCb: async () => {\n await foreachAsync(group, DefaultAttribute.zIndex, async (item: IGraphic) => {\n if (drawContext.break) {\n return;\n }\n if (item.isContainer) {\n await this.renderGroup(item as IGroup, drawContext);\n } else {\n // 增量渲染不管非_increaseRender的内容\n return;\n }\n });\n resolve(false);\n }\n });\n });\n }\n\n // /**\n // * 一个每一帧都执行的脚本,用于检查和触发执行draw\n // */\n // protected autoRunner() {\n\n // }\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../../src/render/contributions/render/incremental-draw-contribution.ts"],"names":[],"mappings":"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","file":"incremental-draw-contribution.js","sourcesContent":["import { injectable, inject, named, multiInject } from 'inversify';\nimport type {\n IGraphic,\n IGroup,\n IGlobal,\n IRenderService,\n IDrawContext,\n IDrawContribution,\n IGraphicRender,\n IRenderSelector,\n IDrawItemInterceptorContribution,\n IContributionProvider\n} from '../../../interface';\nimport { DefaultAttribute } from '../../../graphic';\nimport { LayerService } from '../../../core/constants';\nimport { DefaultDrawContribution } from './draw-contribution';\nimport { SyncHook } from '../../../tapable';\nimport { GraphicRender, RenderSelector } from './symbol';\nimport { DefaultIncrementalCanvasLineRender } from './incremental-line-render';\nimport { DefaultIncrementalCanvasAreaRender } from './incremental-area-render';\nimport { DrawItemInterceptor } from './draw-interceptor';\n// eslint-disable-next-line @typescript-eslint/consistent-type-imports\nimport { ContributionProvider } from '../../../common/contribution-provider';\nimport { foreachAsync } from '../../../common/sort';\nimport type { ILayerService } from '../../../interface/core';\nimport { VGlobal } from '../../../constants';\n\nenum STATUS {\n NORMAL = 0,\n STOP = 1\n}\n\n/**\n * 增量渲染的contribution,基于树状结构针对图元的渲染\n * 不是单例模式\n */\n@injectable()\nexport class DefaultIncrementalDrawContribution extends DefaultDrawContribution implements IDrawContribution {\n rendering: boolean = false;\n protected currFrameStartAt: number = 0;\n protected currentIdx: number = 0;\n protected status: STATUS = STATUS.NORMAL;\n protected checkingForDrawPromise: Promise<any> | null = null;\n hooks = {\n completeDraw: new SyncHook<[]>([])\n };\n protected lastRenderService: IRenderService;\n protected lastDrawContext: IDrawContext;\n protected count: number;\n @inject(VGlobal) global: IGlobal;\n\n constructor(\n // @inject(ContributionProvider)\n // @named(GraphicRender)\n // protected readonly contributions: ContributionProvider<IGraphicRender>,\n @multiInject(GraphicRender) protected readonly contributions: IGraphicRender[],\n @inject(RenderSelector) protected readonly renderSelector: IRenderSelector, // 根据图元类型选择对应的renderItem进行渲染\n @inject(DefaultIncrementalCanvasLineRender) protected readonly lineRender: IGraphicRender, // 默认的lineRender\n @inject(DefaultIncrementalCanvasAreaRender) protected readonly areaRender: IGraphicRender, // 默认的lineRender\n @inject(LayerService) protected readonly layerService: ILayerService, // 默认的polygonRender\n // 拦截器\n @inject(ContributionProvider)\n @named(DrawItemInterceptor)\n protected readonly drawItemInterceptorContributions: IContributionProvider<IDrawItemInterceptorContribution>\n ) {\n super(contributions, renderSelector, layerService, drawItemInterceptorContributions);\n }\n\n init(): void {\n super.init();\n this.defaultRenderMap.set(this.lineRender.numberType, this.lineRender);\n this.defaultRenderMap.set(this.areaRender.numberType, this.areaRender);\n }\n\n /**\n *\n * @param renderService\n * @param drawContext restartIncremental为true表示重新执行增量渲染,为false表示不执行增量渲染\n * @returns\n */\n async draw(renderService: IRenderService, drawContext: IDrawContext): Promise<void> {\n // 入口检查是否需要重新绘制\n if (this.checkingForDrawPromise) {\n return;\n }\n this.lastRenderService = renderService;\n this.lastDrawContext = drawContext;\n\n this.checkingForDrawPromise = this.checkForDraw(drawContext);\n const skipDraw = await this.checkingForDrawPromise;\n this.checkingForDrawPromise = null;\n if (skipDraw) {\n return;\n }\n\n this.currentRenderService = renderService;\n const { context, x = 0, y = 0 } = drawContext;\n\n if (!context) {\n return;\n }\n // 增量渲染不需要dirtyBounds\n // const dirtyBounds: IBounds | undefined = this.dirtyBounds.setValue(x, y, x + width, y + height);\n // if (stage.dirtyBounds) {\n // const b = getRectIntersect(dirtyBounds, stage.dirtyBounds, false);\n // dirtyBounds.x1 = Math.floor(b.x1);\n // dirtyBounds.y1 = Math.floor(b.y1);\n // dirtyBounds.x2 = Math.ceil(b.x2);\n // dirtyBounds.y2 = Math.ceil(b.y2);\n // }\n context.inuse = true;\n // 初始化context\n context.clearMatrix();\n context.setTransformForCurrent(true);\n\n // const drawInArea =\n // dirtyBounds.width() * context.dpr !== context.canvas.width ||\n // dirtyBounds.height() * context.dpr !== context.canvas.height;\n context.save();\n\n // if (drawInArea) {\n // context.beginPath();\n // context.rect(dirtyBounds.x1, dirtyBounds.y1, dirtyBounds.width(), dirtyBounds.height());\n // context.clip();\n // }\n\n // this.clearScreen(renderService, context, drawContext);\n\n // 绘制之前需要清空画布\n drawContext.restartIncremental && this.clearScreen(this.currentRenderService, context, drawContext);\n // 设置translate\n context.translate(x, y, true);\n\n context.save();\n renderService.renderTreeRoots\n .sort((a, b) => {\n return (a.attribute.zIndex ?? DefaultAttribute.zIndex) - (b.attribute.zIndex ?? DefaultAttribute.zIndex);\n })\n .forEach(group => {\n this.renderGroup(group as IGroup, drawContext);\n });\n\n this.hooks.completeDraw.tap('top-draw', () => {\n context.restore();\n context.restore();\n context.draw();\n context.inuse = false;\n this.rendering = false;\n });\n }\n\n protected async _increaseRender(group: IGroup, drawContext: IDrawContext) {\n this.rendering = true;\n await this._renderIncrementalGroup(group, drawContext);\n return;\n }\n\n // 默认group后只有一层节点,也就是group是叶子结点的父节点\n protected async _renderIncrementalGroup(group: IGroup, drawContext: IDrawContext) {\n this.count = group.count;\n await new Promise(resolve => {\n this.renderItem(group, drawContext, {\n drawingCb: async () => {\n // 增量图元只支持一个,线段和面积图\n if (group.count === 2) {\n const graphic = group.getChildAt(0) as IGraphic;\n if (graphic.incremental && (graphic.attribute as any).segments) {\n if (!graphic.incrementalAt) {\n graphic.incrementalAt = 0;\n }\n while (graphic.incrementalAt < (graphic.attribute as any).segments.length) {\n drawContext.multiGraphicOptions = {\n startAtIdx: graphic.incrementalAt,\n length: graphic.incremental\n };\n this.renderItem(graphic, drawContext);\n graphic.incrementalAt += graphic.incremental;\n await this.waitToNextFrame();\n }\n } else {\n this.renderItem(graphic, drawContext);\n }\n resolve(false);\n return;\n }\n await foreachAsync(group, DefaultAttribute.zIndex, (item: IGraphic, i: number) => {\n if (this.status === STATUS.STOP) {\n return true;\n }\n if (item.isContainer) {\n // 增量渲染group下不应该有其他的group节点\n return false;\n }\n // 如果小于currentIdx,说明还没到当前的位置,那就直接跳过\n if (i < this.currentIdx) {\n return false;\n }\n const frameTail = this.currFrameStartAt + group.incremental;\n // 绘制 currentIdx到this.lastFrameIdx + group.incremental的内容\n if (i < frameTail) {\n this.currentIdx = i + 1;\n this.renderItem(item, drawContext);\n }\n // 下一帧\n if (i === frameTail - 1) {\n this.currFrameStartAt = this.currentIdx;\n // this.lastFrameIdx = this.currentIdx;\n return this.waitToNextFrame();\n }\n\n return false;\n });\n resolve(false);\n }\n });\n });\n this.hooks.completeDraw.call();\n }\n\n protected async waitToNextFrame(): Promise<boolean> {\n return new Promise(resolve => {\n this.global.getRequestAnimationFrame()(() => {\n resolve(false);\n });\n });\n }\n\n /**\n * 检查这次绘制是否跳过,以及执行一些准备\n * 增量渲染有自己的绘制逻辑流程,外部每次触发draw,该图层不一定会执行\n * @returns 返回true代表跳过绘制,false代表进行绘制\n */\n protected async checkForDraw(drawContext: IDrawContext): Promise<boolean> {\n let skip = this.rendering;\n if (drawContext.restartIncremental) {\n skip = false;\n await this.forceStop();\n this.resetToInit();\n }\n return skip;\n }\n\n protected async forceStop() {\n if (this.rendering) {\n this.status = STATUS.STOP;\n await new Promise(resolve => {\n this.hooks.completeDraw.tap('stopCb', () => {\n this.status = STATUS.NORMAL;\n this.hooks.completeDraw.taps = this.hooks.completeDraw.taps.filter(item => {\n return item.name !== 'stopCb';\n });\n resolve(false);\n });\n });\n }\n }\n\n protected resetToInit() {\n this.currFrameStartAt = 0;\n this.currentIdx = 0;\n }\n\n async renderGroup(group: IGroup, drawContext: IDrawContext) {\n if (drawContext.break || group.attribute.visibleAll === false) {\n return;\n }\n if (group.incremental && drawContext.startAtId === group._uid) {\n await this._increaseRender(group, drawContext);\n drawContext.break = true;\n return;\n }\n\n await new Promise(resolve => {\n this.renderItem(group, drawContext, {\n drawingCb: async () => {\n await foreachAsync(group, DefaultAttribute.zIndex, async (item: IGraphic) => {\n if (drawContext.break) {\n return;\n }\n if (item.isContainer) {\n await this.renderGroup(item as IGroup, drawContext);\n } else {\n // 增量渲染不管非_increaseRender的内容\n return;\n }\n });\n resolve(false);\n }\n });\n });\n }\n\n // /**\n // * 一个每一帧都执行的脚本,用于检查和触发执行draw\n // */\n // protected autoRunner() {\n\n // }\n}\n"]}
|
package/dist/index.js
CHANGED
|
@@ -129,7 +129,7 @@
|
|
|
129
129
|
};
|
|
130
130
|
|
|
131
131
|
// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028
|
|
132
|
-
var global$
|
|
132
|
+
var global$d =
|
|
133
133
|
// eslint-disable-next-line es/no-global-this -- safe
|
|
134
134
|
check((typeof globalThis === "undefined" ? "undefined" : _typeof(globalThis)) == 'object' && globalThis) || check((typeof window === "undefined" ? "undefined" : _typeof(window)) == 'object' && window) ||
|
|
135
135
|
// eslint-disable-next-line no-restricted-globals -- safe
|
|
@@ -287,13 +287,13 @@
|
|
|
287
287
|
return _typeof(it) == 'object' ? it !== null : isCallable$h(it);
|
|
288
288
|
};
|
|
289
289
|
|
|
290
|
-
var global$
|
|
290
|
+
var global$c = global$d;
|
|
291
291
|
var isCallable$g = isCallable$i;
|
|
292
292
|
var aFunction = function aFunction(argument) {
|
|
293
293
|
return isCallable$g(argument) ? argument : undefined;
|
|
294
294
|
};
|
|
295
295
|
var getBuiltIn$6 = function getBuiltIn(namespace, method) {
|
|
296
|
-
return arguments.length < 2 ? aFunction(global$
|
|
296
|
+
return arguments.length < 2 ? aFunction(global$c[namespace]) : global$c[namespace] && global$c[namespace][method];
|
|
297
297
|
};
|
|
298
298
|
|
|
299
299
|
var uncurryThis$k = functionUncurryThis;
|
|
@@ -301,10 +301,10 @@
|
|
|
301
301
|
|
|
302
302
|
var engineUserAgent = typeof navigator != 'undefined' && String(navigator.userAgent) || '';
|
|
303
303
|
|
|
304
|
-
var global$
|
|
304
|
+
var global$b = global$d;
|
|
305
305
|
var userAgent = engineUserAgent;
|
|
306
|
-
var process = global$
|
|
307
|
-
var Deno = global$
|
|
306
|
+
var process = global$b.process;
|
|
307
|
+
var Deno = global$b.Deno;
|
|
308
308
|
var versions = process && process.versions || Deno && Deno.version;
|
|
309
309
|
var v8 = versions && versions.v8;
|
|
310
310
|
var match, version$1;
|
|
@@ -329,8 +329,8 @@
|
|
|
329
329
|
/* eslint-disable es/no-symbol -- required for testing */
|
|
330
330
|
var V8_VERSION = engineV8Version;
|
|
331
331
|
var fails$c = fails$g;
|
|
332
|
-
var global$
|
|
333
|
-
var $String$4 = global$
|
|
332
|
+
var global$a = global$d;
|
|
333
|
+
var $String$4 = global$a.String;
|
|
334
334
|
|
|
335
335
|
// eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing
|
|
336
336
|
var symbolConstructorDetection = !!Object.getOwnPropertySymbols && !fails$c(function () {
|
|
@@ -405,27 +405,27 @@
|
|
|
405
405
|
|
|
406
406
|
var shared$4 = {exports: {}};
|
|
407
407
|
|
|
408
|
-
var global$
|
|
408
|
+
var global$9 = global$d;
|
|
409
409
|
|
|
410
410
|
// eslint-disable-next-line es/no-object-defineproperty -- safe
|
|
411
411
|
var defineProperty$4 = Object.defineProperty;
|
|
412
412
|
var defineGlobalProperty$3 = function defineGlobalProperty(key, value) {
|
|
413
413
|
try {
|
|
414
|
-
defineProperty$4(global$
|
|
414
|
+
defineProperty$4(global$9, key, {
|
|
415
415
|
value: value,
|
|
416
416
|
configurable: true,
|
|
417
417
|
writable: true
|
|
418
418
|
});
|
|
419
419
|
} catch (error) {
|
|
420
|
-
global$
|
|
420
|
+
global$9[key] = value;
|
|
421
421
|
}
|
|
422
422
|
return value;
|
|
423
423
|
};
|
|
424
424
|
|
|
425
|
-
var global$
|
|
425
|
+
var global$8 = global$d;
|
|
426
426
|
var defineGlobalProperty$2 = defineGlobalProperty$3;
|
|
427
427
|
var SHARED = '__core-js_shared__';
|
|
428
|
-
var store$5 = global$
|
|
428
|
+
var store$5 = global$8[SHARED] || defineGlobalProperty$2(SHARED, {});
|
|
429
429
|
var sharedStore = store$5;
|
|
430
430
|
|
|
431
431
|
var store$4 = sharedStore;
|
|
@@ -468,13 +468,13 @@
|
|
|
468
468
|
return 'Symbol(' + (key === undefined ? '' : key) + ')_' + toString(++id$3 + postfix, 36);
|
|
469
469
|
};
|
|
470
470
|
|
|
471
|
-
var global$
|
|
471
|
+
var global$7 = global$d;
|
|
472
472
|
var shared$3 = sharedExports;
|
|
473
473
|
var hasOwn$a = hasOwnProperty_1;
|
|
474
474
|
var uid$2 = uid$3;
|
|
475
475
|
var NATIVE_SYMBOL = symbolConstructorDetection;
|
|
476
476
|
var USE_SYMBOL_AS_UID = useSymbolAsUid;
|
|
477
|
-
var _Symbol = global$
|
|
477
|
+
var _Symbol = global$7.Symbol;
|
|
478
478
|
var WellKnownSymbolsStore = shared$3('wks');
|
|
479
479
|
var createWellKnownSymbol = USE_SYMBOL_AS_UID ? _Symbol['for'] || _Symbol : _Symbol && _Symbol.withoutSetter || uid$2;
|
|
480
480
|
var wellKnownSymbol$b = function wellKnownSymbol(name) {
|
|
@@ -519,9 +519,9 @@
|
|
|
519
519
|
return isSymbol(key) ? key : key + '';
|
|
520
520
|
};
|
|
521
521
|
|
|
522
|
-
var global$
|
|
522
|
+
var global$6 = global$d;
|
|
523
523
|
var isObject$b = isObject$e;
|
|
524
|
-
var document$1 = global$
|
|
524
|
+
var document$1 = global$6.document;
|
|
525
525
|
// typeof document.createElement is 'object' in old IE
|
|
526
526
|
var EXISTS$1 = isObject$b(document$1) && isObject$b(document$1.createElement);
|
|
527
527
|
var documentCreateElement$1 = function documentCreateElement(it) {
|
|
@@ -674,9 +674,9 @@
|
|
|
674
674
|
}
|
|
675
675
|
var inspectSource$2 = store$3.inspectSource;
|
|
676
676
|
|
|
677
|
-
var global$
|
|
677
|
+
var global$5 = global$d;
|
|
678
678
|
var isCallable$b = isCallable$i;
|
|
679
|
-
var WeakMap$2 = global$
|
|
679
|
+
var WeakMap$2 = global$5.WeakMap;
|
|
680
680
|
var weakMapBasicDetection = isCallable$b(WeakMap$2) && /native code/.test(String(WeakMap$2));
|
|
681
681
|
|
|
682
682
|
var shared$2 = sharedExports;
|
|
@@ -689,7 +689,7 @@
|
|
|
689
689
|
var hiddenKeys$5 = {};
|
|
690
690
|
|
|
691
691
|
var NATIVE_WEAK_MAP$1 = weakMapBasicDetection;
|
|
692
|
-
var global$
|
|
692
|
+
var global$4 = global$d;
|
|
693
693
|
var isObject$9 = isObject$e;
|
|
694
694
|
var createNonEnumerableProperty$2 = createNonEnumerableProperty$3;
|
|
695
695
|
var hasOwn$7 = hasOwnProperty_1;
|
|
@@ -697,8 +697,8 @@
|
|
|
697
697
|
var sharedKey$2 = sharedKey$3;
|
|
698
698
|
var hiddenKeys$4 = hiddenKeys$5;
|
|
699
699
|
var OBJECT_ALREADY_INITIALIZED = 'Object already initialized';
|
|
700
|
-
var TypeError$1 = global$
|
|
701
|
-
var WeakMap$1 = global$
|
|
700
|
+
var TypeError$1 = global$4.TypeError;
|
|
701
|
+
var WeakMap$1 = global$4.WeakMap;
|
|
702
702
|
var set, get$1, has$1;
|
|
703
703
|
var enforce = function enforce(it) {
|
|
704
704
|
return has$1(it) ? get$1(it) : set(it, {});
|
|
@@ -1009,7 +1009,7 @@
|
|
|
1009
1009
|
var POLYFILL = isForced$2.POLYFILL = 'P';
|
|
1010
1010
|
var isForced_1 = isForced$2;
|
|
1011
1011
|
|
|
1012
|
-
var global$
|
|
1012
|
+
var global$3 = global$d;
|
|
1013
1013
|
var getOwnPropertyDescriptor = objectGetOwnPropertyDescriptor.f;
|
|
1014
1014
|
var createNonEnumerableProperty$1 = createNonEnumerableProperty$3;
|
|
1015
1015
|
var defineBuiltIn$4 = defineBuiltIn$5;
|
|
@@ -1038,11 +1038,11 @@
|
|
|
1038
1038
|
var STATIC = options.stat;
|
|
1039
1039
|
var FORCED, target, key, targetProperty, sourceProperty, descriptor;
|
|
1040
1040
|
if (GLOBAL) {
|
|
1041
|
-
target = global$
|
|
1041
|
+
target = global$3;
|
|
1042
1042
|
} else if (STATIC) {
|
|
1043
|
-
target = global$
|
|
1043
|
+
target = global$3[TARGET] || defineGlobalProperty(TARGET, {});
|
|
1044
1044
|
} else {
|
|
1045
|
-
target = (global$
|
|
1045
|
+
target = (global$3[TARGET] || {}).prototype;
|
|
1046
1046
|
}
|
|
1047
1047
|
if (target) for (key in source) {
|
|
1048
1048
|
sourceProperty = source[key];
|
|
@@ -1543,7 +1543,7 @@
|
|
|
1543
1543
|
};
|
|
1544
1544
|
|
|
1545
1545
|
var $$a = _export;
|
|
1546
|
-
var global$
|
|
1546
|
+
var global$2 = global$d;
|
|
1547
1547
|
var uncurryThis$9 = functionUncurryThis;
|
|
1548
1548
|
var isForced = isForced_1;
|
|
1549
1549
|
var defineBuiltIn$3 = defineBuiltIn$5;
|
|
@@ -1561,7 +1561,7 @@
|
|
|
1561
1561
|
var IS_MAP = CONSTRUCTOR_NAME.indexOf('Map') !== -1;
|
|
1562
1562
|
var IS_WEAK = CONSTRUCTOR_NAME.indexOf('Weak') !== -1;
|
|
1563
1563
|
var ADDER = IS_MAP ? 'set' : 'add';
|
|
1564
|
-
var NativeConstructor = global$
|
|
1564
|
+
var NativeConstructor = global$2[CONSTRUCTOR_NAME];
|
|
1565
1565
|
var NativePrototype = NativeConstructor && NativeConstructor.prototype;
|
|
1566
1566
|
var Constructor = NativeConstructor;
|
|
1567
1567
|
var exported = {};
|
|
@@ -2507,7 +2507,7 @@
|
|
|
2507
2507
|
};
|
|
2508
2508
|
|
|
2509
2509
|
var FREEZING = freezing;
|
|
2510
|
-
var global$
|
|
2510
|
+
var global$1 = global$d;
|
|
2511
2511
|
var uncurryThis$5 = functionUncurryThis;
|
|
2512
2512
|
var defineBuiltIns = defineBuiltIns$3;
|
|
2513
2513
|
var InternalMetadataModule = internalMetadataExports;
|
|
@@ -2532,7 +2532,7 @@
|
|
|
2532
2532
|
var seal = $Object.seal;
|
|
2533
2533
|
var FROZEN = {};
|
|
2534
2534
|
var SEALED = {};
|
|
2535
|
-
var IS_IE11 = !global$
|
|
2535
|
+
var IS_IE11 = !global$1.ActiveXObject && 'ActiveXObject' in global$1;
|
|
2536
2536
|
var InternalWeakMap;
|
|
2537
2537
|
var wrapper = function wrapper(init) {
|
|
2538
2538
|
return function WeakMap() {
|
|
@@ -6021,7 +6021,7 @@
|
|
|
6021
6021
|
}
|
|
6022
6022
|
|
|
6023
6023
|
const EnvContribution = Symbol.for('EnvContribution');
|
|
6024
|
-
const
|
|
6024
|
+
const VGlobal = Symbol.for('VGlobal');
|
|
6025
6025
|
|
|
6026
6026
|
const defaultEnv = 'browser';
|
|
6027
6027
|
exports.DefaultGlobal = class DefaultGlobal {
|
|
@@ -10659,7 +10659,7 @@
|
|
|
10659
10659
|
injectable(),
|
|
10660
10660
|
__param(0, inject(ContributionProvider)),
|
|
10661
10661
|
__param(0, named(TextMeasureContribution)),
|
|
10662
|
-
__param(1, inject(
|
|
10662
|
+
__param(1, inject(VGlobal)),
|
|
10663
10663
|
__metadata("design:paramtypes", [Object, Object])
|
|
10664
10664
|
], exports.DefaultGraphicUtil);
|
|
10665
10665
|
var TransformMode;
|
|
@@ -14587,7 +14587,7 @@
|
|
|
14587
14587
|
if (this.durations.length > this.durationsListThreshold) {
|
|
14588
14588
|
this.durations.shift();
|
|
14589
14589
|
}
|
|
14590
|
-
this.timeout = Math.max(this.durations.reduce((a, b) => a + b, 0) / this.durations.length, 1000 / 60);
|
|
14590
|
+
this.timeout = Math.min(Math.max(this.durations.reduce((a, b) => a + b, 0) / this.durations.length, 1000 / 60), 1000 / 30);
|
|
14591
14591
|
}
|
|
14592
14592
|
}
|
|
14593
14593
|
const rafBasedSto = new RafBasedSTO();
|
|
@@ -18738,11 +18738,11 @@
|
|
|
18738
18738
|
};
|
|
18739
18739
|
exports.DefaultLayerService = __decorate([
|
|
18740
18740
|
injectable(),
|
|
18741
|
-
__param(0, inject(
|
|
18741
|
+
__param(0, inject(VGlobal)),
|
|
18742
18742
|
__metadata("design:paramtypes", [Object])
|
|
18743
18743
|
], exports.DefaultLayerService);
|
|
18744
18744
|
|
|
18745
|
-
const
|
|
18745
|
+
const VWindow = Symbol.for('VWindow');
|
|
18746
18746
|
const WindowHandlerContribution = Symbol.for('WindowHandlerContribution');
|
|
18747
18747
|
exports.DefaultWindow = class DefaultWindow {
|
|
18748
18748
|
global;
|
|
@@ -18856,7 +18856,7 @@
|
|
|
18856
18856
|
], exports.DefaultWindow.prototype, "postInit", null);
|
|
18857
18857
|
exports.DefaultWindow = __decorate([
|
|
18858
18858
|
injectable(),
|
|
18859
|
-
__param(0, inject(
|
|
18859
|
+
__param(0, inject(VGlobal)),
|
|
18860
18860
|
__metadata("design:paramtypes", [Object])
|
|
18861
18861
|
], exports.DefaultWindow);
|
|
18862
18862
|
|
|
@@ -18866,9 +18866,9 @@
|
|
|
18866
18866
|
|
|
18867
18867
|
var coreModule = new ContainerModule(bind => {
|
|
18868
18868
|
bind(exports.DefaultGlobal).toSelf().inSingletonScope();
|
|
18869
|
-
bind(
|
|
18869
|
+
bind(VGlobal).toService(exports.DefaultGlobal);
|
|
18870
18870
|
bind(exports.DefaultWindow).to(exports.DefaultWindow);
|
|
18871
|
-
bind(
|
|
18871
|
+
bind(VWindow).toService(exports.DefaultWindow);
|
|
18872
18872
|
bind(exports.DefaultGraphicUtil).toSelf().inSingletonScope();
|
|
18873
18873
|
bind(GraphicUtil).toService(exports.DefaultGraphicUtil);
|
|
18874
18874
|
bind(exports.DefaultTransformUtil).toSelf().inSingletonScope();
|
|
@@ -19852,7 +19852,7 @@
|
|
|
19852
19852
|
}
|
|
19853
19853
|
return 0;
|
|
19854
19854
|
}
|
|
19855
|
-
function textLayoutOffsetY(baseline, lineHeight, fontSize) {
|
|
19855
|
+
function textLayoutOffsetY(baseline, lineHeight, fontSize, buf = 0) {
|
|
19856
19856
|
if (baseline === 'middle') {
|
|
19857
19857
|
return -lineHeight / 2;
|
|
19858
19858
|
}
|
|
@@ -19860,7 +19860,7 @@
|
|
|
19860
19860
|
return 0;
|
|
19861
19861
|
}
|
|
19862
19862
|
if (baseline === 'bottom') {
|
|
19863
|
-
return -lineHeight;
|
|
19863
|
+
return buf - lineHeight;
|
|
19864
19864
|
}
|
|
19865
19865
|
if (!baseline || baseline === 'alphabetic') {
|
|
19866
19866
|
if (!fontSize) {
|
|
@@ -20123,9 +20123,10 @@
|
|
|
20123
20123
|
const textMeasure = application.graphicUtil.textMeasure;
|
|
20124
20124
|
let width;
|
|
20125
20125
|
let str;
|
|
20126
|
-
const buf = 2;
|
|
20127
20126
|
const attribute = this.attribute;
|
|
20128
|
-
const { maxLineWidth = textTheme.maxLineWidth, ellipsis = textTheme.ellipsis, textAlign = textTheme.textAlign, textBaseline = textTheme.textBaseline, fontSize = textTheme.fontSize, fontWeight = textTheme.fontWeight, stroke = textTheme.stroke,
|
|
20127
|
+
const { maxLineWidth = textTheme.maxLineWidth, ellipsis = textTheme.ellipsis, textAlign = textTheme.textAlign, textBaseline = textTheme.textBaseline, fontSize = textTheme.fontSize, fontWeight = textTheme.fontWeight, stroke = textTheme.stroke, lineWidth = textTheme.lineWidth, wordBreak = textTheme.wordBreak } = attribute;
|
|
20128
|
+
const buf = Math.max(2, fontSize * 0.075);
|
|
20129
|
+
const { lineHeight = attribute.lineHeight ?? (attribute.fontSize || textTheme.fontSize) + buf } = attribute;
|
|
20129
20130
|
if (!this.shouldUpdateShape() && this.cache) {
|
|
20130
20131
|
width = this.cache.clipedWidth;
|
|
20131
20132
|
const dx = textDrawOffsetX(textAlign, width);
|
|
@@ -20158,7 +20159,7 @@
|
|
|
20158
20159
|
}
|
|
20159
20160
|
this.clearUpdateShapeTag();
|
|
20160
20161
|
const dx = textDrawOffsetX(textAlign, width);
|
|
20161
|
-
const dy = textLayoutOffsetY(textBaseline, lineHeight, fontSize);
|
|
20162
|
+
const dy = textLayoutOffsetY(textBaseline, lineHeight, fontSize, 0);
|
|
20162
20163
|
this._AABBBounds.set(dx, dy, dx + width, dy + lineHeight);
|
|
20163
20164
|
if (stroke) {
|
|
20164
20165
|
this._AABBBounds.expand(lineWidth / 2);
|
|
@@ -28010,7 +28011,7 @@
|
|
|
28010
28011
|
};
|
|
28011
28012
|
exports.DefaultPickService = __decorate([
|
|
28012
28013
|
injectable(),
|
|
28013
|
-
__param(0, inject(
|
|
28014
|
+
__param(0, inject(VGlobal)),
|
|
28014
28015
|
__param(1, inject(ContributionProvider)),
|
|
28015
28016
|
__param(1, named(PickItemInterceptor)),
|
|
28016
28017
|
__metadata("design:paramtypes", [Object, Object])
|
|
@@ -28106,7 +28107,7 @@
|
|
|
28106
28107
|
};
|
|
28107
28108
|
exports.DefaultGlobalPickerService = __decorate([
|
|
28108
28109
|
injectable(),
|
|
28109
|
-
__param(0, inject(
|
|
28110
|
+
__param(0, inject(VGlobal)),
|
|
28110
28111
|
__metadata("design:paramtypes", [Object])
|
|
28111
28112
|
], exports.DefaultGlobalPickerService);
|
|
28112
28113
|
|
|
@@ -29451,7 +29452,7 @@
|
|
|
29451
29452
|
__param(10, inject(CanvasPolygonPicker)),
|
|
29452
29453
|
__param(11, inject(CanvasRichTextPicker)),
|
|
29453
29454
|
__param(12, inject(DrawContribution)),
|
|
29454
|
-
__param(13, inject(
|
|
29455
|
+
__param(13, inject(VGlobal)),
|
|
29455
29456
|
__param(14, inject(ContributionProvider)),
|
|
29456
29457
|
__param(14, named(PickItemInterceptor)),
|
|
29457
29458
|
__metadata("design:paramtypes", [Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object])
|
|
@@ -29776,7 +29777,7 @@
|
|
|
29776
29777
|
injectable(),
|
|
29777
29778
|
__param(0, inject(ContributionProvider)),
|
|
29778
29779
|
__param(0, named(MathPickerContribution)),
|
|
29779
|
-
__param(1, inject(
|
|
29780
|
+
__param(1, inject(VGlobal)),
|
|
29780
29781
|
__param(2, inject(ContributionProvider)),
|
|
29781
29782
|
__param(2, named(PickItemInterceptor)),
|
|
29782
29783
|
__metadata("design:paramtypes", [Object, Object, Object])
|
|
@@ -31014,7 +31015,7 @@
|
|
|
31014
31015
|
};
|
|
31015
31016
|
BrowserWindowHandlerContribution = __decorate([
|
|
31016
31017
|
injectable(),
|
|
31017
|
-
__param(0, inject(
|
|
31018
|
+
__param(0, inject(VGlobal)),
|
|
31018
31019
|
__metadata("design:paramtypes", [Object])
|
|
31019
31020
|
], BrowserWindowHandlerContribution);
|
|
31020
31021
|
|
|
@@ -31380,7 +31381,7 @@
|
|
|
31380
31381
|
};
|
|
31381
31382
|
FeishuWindowHandlerContribution = __decorate([
|
|
31382
31383
|
injectable(),
|
|
31383
|
-
__param(0, inject(
|
|
31384
|
+
__param(0, inject(VGlobal)),
|
|
31384
31385
|
__metadata("design:paramtypes", [Object])
|
|
31385
31386
|
], FeishuWindowHandlerContribution);
|
|
31386
31387
|
|
|
@@ -31793,7 +31794,7 @@
|
|
|
31793
31794
|
};
|
|
31794
31795
|
TaroWindowHandlerContribution = __decorate([
|
|
31795
31796
|
injectable(),
|
|
31796
|
-
__param(0, inject(
|
|
31797
|
+
__param(0, inject(VGlobal)),
|
|
31797
31798
|
__metadata("design:paramtypes", [Object])
|
|
31798
31799
|
], TaroWindowHandlerContribution);
|
|
31799
31800
|
|
|
@@ -32169,7 +32170,7 @@
|
|
|
32169
32170
|
};
|
|
32170
32171
|
LynxWindowHandlerContribution = __decorate([
|
|
32171
32172
|
injectable(),
|
|
32172
|
-
__param(0, inject(
|
|
32173
|
+
__param(0, inject(VGlobal)),
|
|
32173
32174
|
__metadata("design:paramtypes", [Object])
|
|
32174
32175
|
], LynxWindowHandlerContribution);
|
|
32175
32176
|
|
|
@@ -32438,7 +32439,7 @@
|
|
|
32438
32439
|
};
|
|
32439
32440
|
NodeWindowHandlerContribution = __decorate([
|
|
32440
32441
|
injectable(),
|
|
32441
|
-
__param(0, inject(
|
|
32442
|
+
__param(0, inject(VGlobal)),
|
|
32442
32443
|
__metadata("design:paramtypes", [Object])
|
|
32443
32444
|
], NodeWindowHandlerContribution);
|
|
32444
32445
|
|
|
@@ -32771,7 +32772,7 @@
|
|
|
32771
32772
|
};
|
|
32772
32773
|
WxWindowHandlerContribution = __decorate([
|
|
32773
32774
|
injectable(),
|
|
32774
|
-
__param(0, inject(
|
|
32775
|
+
__param(0, inject(VGlobal)),
|
|
32775
32776
|
__metadata("design:paramtypes", [Object])
|
|
32776
32777
|
], WxWindowHandlerContribution);
|
|
32777
32778
|
|
|
@@ -32912,7 +32913,7 @@
|
|
|
32912
32913
|
};
|
|
32913
32914
|
CanvasLayerHandlerContribution = __decorate([
|
|
32914
32915
|
injectable(),
|
|
32915
|
-
__param(0, inject(
|
|
32916
|
+
__param(0, inject(VGlobal)),
|
|
32916
32917
|
__metadata("design:paramtypes", [Object])
|
|
32917
32918
|
], CanvasLayerHandlerContribution);
|
|
32918
32919
|
|
|
@@ -32987,7 +32988,7 @@
|
|
|
32987
32988
|
};
|
|
32988
32989
|
OffscreenLayerHandlerContribution = __decorate([
|
|
32989
32990
|
injectable(),
|
|
32990
|
-
__param(0, inject(
|
|
32991
|
+
__param(0, inject(VGlobal)),
|
|
32991
32992
|
__metadata("design:paramtypes", [Object])
|
|
32992
32993
|
], OffscreenLayerHandlerContribution);
|
|
32993
32994
|
|
|
@@ -33922,7 +33923,7 @@
|
|
|
33922
33923
|
}
|
|
33923
33924
|
};
|
|
33924
33925
|
__decorate([
|
|
33925
|
-
inject(
|
|
33926
|
+
inject(VGlobal),
|
|
33926
33927
|
__metadata("design:type", Object)
|
|
33927
33928
|
], DefaultIncrementalDrawContribution.prototype, "global", void 0);
|
|
33928
33929
|
DefaultIncrementalDrawContribution = __decorate([
|
|
@@ -36266,8 +36267,8 @@
|
|
|
36266
36267
|
load$2(container);
|
|
36267
36268
|
load$1(container);
|
|
36268
36269
|
load(container);
|
|
36269
|
-
const
|
|
36270
|
-
application.global =
|
|
36270
|
+
const vglobal = container.get(VGlobal);
|
|
36271
|
+
application.global = vglobal;
|
|
36271
36272
|
const graphicUtil = container.get(GraphicUtil);
|
|
36272
36273
|
application.graphicUtil = graphicUtil;
|
|
36273
36274
|
const transformUtil = container.get(TransformUtil);
|
|
@@ -36902,8 +36903,8 @@
|
|
|
36902
36903
|
beforeRender: new SyncHook(['stage']),
|
|
36903
36904
|
afterRender: new SyncHook(['stage'])
|
|
36904
36905
|
};
|
|
36905
|
-
this.global = container.get(
|
|
36906
|
-
this.window = container.get(
|
|
36906
|
+
this.global = container.get(VGlobal);
|
|
36907
|
+
this.window = container.get(VWindow);
|
|
36907
36908
|
this.renderService = container.get(RenderService);
|
|
36908
36909
|
this.pickerService = container.get(PickerService);
|
|
36909
36910
|
this.pluginService = container.get(PluginService);
|
|
@@ -37333,7 +37334,7 @@
|
|
|
37333
37334
|
});
|
|
37334
37335
|
}
|
|
37335
37336
|
renderToNewWindow(fullImage = true) {
|
|
37336
|
-
const window = container.get(
|
|
37337
|
+
const window = container.get(VWindow);
|
|
37337
37338
|
if (fullImage) {
|
|
37338
37339
|
window.create({
|
|
37339
37340
|
width: this.viewWidth,
|
|
@@ -37402,7 +37403,7 @@
|
|
|
37402
37403
|
'rect'
|
|
37403
37404
|
];
|
|
37404
37405
|
|
|
37405
|
-
const version = "0.14.0
|
|
37406
|
+
const version = "0.14.0";
|
|
37406
37407
|
|
|
37407
37408
|
exports.ACustomAnimate = ACustomAnimate;
|
|
37408
37409
|
exports.ARC3D_NUMBER_TYPE = ARC3D_NUMBER_TYPE;
|
|
@@ -37575,7 +37576,7 @@
|
|
|
37575
37576
|
exports.Theme = Theme;
|
|
37576
37577
|
exports.TimeOutTickHandler = TimeOutTickHandler;
|
|
37577
37578
|
exports.TransformUtil = TransformUtil;
|
|
37578
|
-
exports.
|
|
37579
|
+
exports.VWindow = VWindow;
|
|
37579
37580
|
exports.WindowHandlerContribution = WindowHandlerContribution;
|
|
37580
37581
|
exports.addArcToBezierPath = addArcToBezierPath$1;
|
|
37581
37582
|
exports.addAttributeToPrototype = addAttributeToPrototype;
|
|
@@ -37659,7 +37660,6 @@
|
|
|
37659
37660
|
exports.getTextBounds = getTextBounds;
|
|
37660
37661
|
exports.getTheme = getTheme;
|
|
37661
37662
|
exports.getThemeFromGroup = getThemeFromGroup;
|
|
37662
|
-
exports.global = global$1;
|
|
37663
37663
|
exports.globalTheme = globalTheme;
|
|
37664
37664
|
exports.graphicCreator = graphicCreator;
|
|
37665
37665
|
exports.graphicService = graphicService;
|
|
@@ -37720,6 +37720,7 @@
|
|
|
37720
37720
|
exports.translate = translate;
|
|
37721
37721
|
exports.version = version;
|
|
37722
37722
|
exports.verticalLayout = verticalLayout;
|
|
37723
|
+
exports.vglobal = vglobal;
|
|
37723
37724
|
exports.waitForAllSubLayers = waitForAllSubLayers;
|
|
37724
37725
|
exports.wrapCanvas = wrapCanvas;
|
|
37725
37726
|
exports.wrapContext = wrapContext;
|