@wcardinal/wcardinal-ui 0.396.0 → 0.397.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 (159) hide show
  1. package/dist/types/wcardinal/ui/d-base.d.ts +1 -3
  2. package/dist/types/wcardinal/ui/d-button-base.d.ts +8 -8
  3. package/dist/types/wcardinal/ui/d-button-color-gradient.d.ts +2 -2
  4. package/dist/types/wcardinal/ui/d-button-color.d.ts +2 -2
  5. package/dist/types/wcardinal/ui/d-button-date.d.ts +2 -2
  6. package/dist/types/wcardinal/ui/d-button-datetime.d.ts +2 -2
  7. package/dist/types/wcardinal/ui/d-button-file.d.ts +2 -2
  8. package/dist/types/wcardinal/ui/d-button-link.d.ts +3 -3
  9. package/dist/types/wcardinal/ui/d-button-redo.d.ts +2 -2
  10. package/dist/types/wcardinal/ui/d-button-select.d.ts +2 -2
  11. package/dist/types/wcardinal/ui/d-button-time.d.ts +2 -2
  12. package/dist/types/wcardinal/ui/d-button-undo.d.ts +2 -2
  13. package/dist/types/wcardinal/ui/d-canvas-container.d.ts +3 -3
  14. package/dist/types/wcardinal/ui/d-chart-plot-area-impl.d.ts +3 -3
  15. package/dist/types/wcardinal/ui/d-chart-selection-simple.d.ts +5 -5
  16. package/dist/types/wcardinal/ui/d-diagram-canvas-base.d.ts +0 -1
  17. package/dist/types/wcardinal/ui/d-diagram-canvas.d.ts +13 -13
  18. package/dist/types/wcardinal/ui/d-diagram.d.ts +1 -3
  19. package/dist/types/wcardinal/ui/d-dropdown-base.d.ts +2 -2
  20. package/dist/types/wcardinal/ui/d-expandable-header.d.ts +2 -2
  21. package/dist/types/wcardinal/ui/d-html-element.d.ts +3 -3
  22. package/dist/types/wcardinal/ui/d-link.d.ts +1 -2
  23. package/dist/types/wcardinal/ui/d-list-item.d.ts +4 -4
  24. package/dist/types/wcardinal/ui/d-menu-bar-item.d.ts +2 -2
  25. package/dist/types/wcardinal/ui/d-menu-item-base.d.ts +4 -4
  26. package/dist/types/wcardinal/ui/d-menu-item-check.d.ts +2 -2
  27. package/dist/types/wcardinal/ui/d-menu-item-link.d.ts +3 -3
  28. package/dist/types/wcardinal/ui/d-menu-item-menu.d.ts +2 -2
  29. package/dist/types/wcardinal/ui/d-menu-item-text.d.ts +2 -2
  30. package/dist/types/wcardinal/ui/d-pane.d.ts +2 -2
  31. package/dist/types/wcardinal/ui/d-picker-color-gradient-view.d.ts +2 -2
  32. package/dist/types/wcardinal/ui/d-picker-color-gradient.d.ts +1 -2
  33. package/dist/types/wcardinal/ui/d-picker-color.d.ts +1 -2
  34. package/dist/types/wcardinal/ui/d-scroll-bar-horizontal.d.ts +1 -2
  35. package/dist/types/wcardinal/ui/d-scroll-bar-vertical.d.ts +1 -2
  36. package/dist/types/wcardinal/ui/d-shadow.d.ts +2 -1
  37. package/dist/types/wcardinal/ui/d-slider.d.ts +1 -3
  38. package/dist/types/wcardinal/ui/d-table-body-cell-button.d.ts +5 -5
  39. package/dist/types/wcardinal/ui/d-table-body-cell-check.d.ts +3 -3
  40. package/dist/types/wcardinal/ui/d-table-body-cell-input-tree.d.ts +2 -2
  41. package/dist/types/wcardinal/ui/d-table-body-cell-link.d.ts +3 -3
  42. package/dist/types/wcardinal/ui/d-table-body-cell-select-dialog.d.ts +2 -2
  43. package/dist/types/wcardinal/ui/d-table-body-cell-select-promise.d.ts +2 -2
  44. package/dist/types/wcardinal/ui/d-table-body-cell-tree.d.ts +4 -4
  45. package/dist/types/wcardinal/ui/d-table-body-cell.d.ts +2 -2
  46. package/dist/types/wcardinal/ui/d-table-body.d.ts +2 -3
  47. package/dist/types/wcardinal/ui/d-table-header-cell.d.ts +1 -2
  48. package/dist/types/wcardinal/ui/d-table.d.ts +1 -2
  49. package/dist/types/wcardinal/ui/d-tree-item-button.d.ts +5 -5
  50. package/dist/types/wcardinal/ui/d-tree-item-non-editable.d.ts +2 -2
  51. package/dist/types/wcardinal/ui/d-tree-item-text.d.ts +2 -2
  52. package/dist/types/wcardinal/ui/d-view-gesture-impl.d.ts +2 -2
  53. package/dist/types/wcardinal/ui/d-view-impl.d.ts +5 -5
  54. package/dist/types/wcardinal/ui/shape/action/e-shape-action-runtime-base.d.ts +1 -3
  55. package/dist/types/wcardinal/ui/shape/action/e-shape-action-runtime-gesture-layer.d.ts +1 -2
  56. package/dist/types/wcardinal/ui/shape/action/e-shape-action-runtime-gesture-shape.d.ts +1 -2
  57. package/dist/types/wcardinal/ui/shape/action/e-shape-action-runtime-misc-html-element-base.d.ts +1 -3
  58. package/dist/types/wcardinal/ui/shape/action/e-shape-action-runtime.d.ts +1 -3
  59. package/dist/types/wcardinal/ui/shape/e-shape-runtime-impl.d.ts +1 -3
  60. package/dist/types/wcardinal/ui/shape/e-shape-runtime.d.ts +1 -3
  61. package/dist/types/wcardinal/ui/shape/variant/e-shape-button-runtime.d.ts +2 -2
  62. package/dist/types/wcardinal/ui/util/util-click-outside.d.ts +1 -2
  63. package/dist/types/wcardinal/ui/util/util-gesture-data.d.ts +1 -3
  64. package/dist/types/wcardinal/ui/util/util-gesture-modifiers.d.ts +2 -2
  65. package/dist/types/wcardinal/ui/util/util-gesture.d.ts +1 -2
  66. package/dist/types/wcardinal/ui/util/util-html-element.d.ts +4 -4
  67. package/dist/types/wcardinal/ui/util/util-pointer-event.d.ts +2 -3
  68. package/dist/wcardinal/ui/d-application-layer.js.map +1 -1
  69. package/dist/wcardinal/ui/d-base.js.map +1 -1
  70. package/dist/wcardinal/ui/d-button-base.js +5 -3
  71. package/dist/wcardinal/ui/d-button-base.js.map +1 -1
  72. package/dist/wcardinal/ui/d-button-color-gradient.js.map +1 -1
  73. package/dist/wcardinal/ui/d-button-color.js.map +1 -1
  74. package/dist/wcardinal/ui/d-button-date.js.map +1 -1
  75. package/dist/wcardinal/ui/d-button-datetime.js.map +1 -1
  76. package/dist/wcardinal/ui/d-button-file.js.map +1 -1
  77. package/dist/wcardinal/ui/d-button-link.js.map +1 -1
  78. package/dist/wcardinal/ui/d-button-redo.js.map +1 -1
  79. package/dist/wcardinal/ui/d-button-select.js.map +1 -1
  80. package/dist/wcardinal/ui/d-button-time.js.map +1 -1
  81. package/dist/wcardinal/ui/d-button-undo.js.map +1 -1
  82. package/dist/wcardinal/ui/d-canvas-container.js.map +1 -1
  83. package/dist/wcardinal/ui/d-chart-plot-area-impl.js.map +1 -1
  84. package/dist/wcardinal/ui/d-chart-selection-simple.js.map +1 -1
  85. package/dist/wcardinal/ui/d-diagram-canvas-base.js +2 -1
  86. package/dist/wcardinal/ui/d-diagram-canvas-base.js.map +1 -1
  87. package/dist/wcardinal/ui/d-diagram-canvas.js.map +1 -1
  88. package/dist/wcardinal/ui/d-diagram.js.map +1 -1
  89. package/dist/wcardinal/ui/d-dropdown-base.js.map +1 -1
  90. package/dist/wcardinal/ui/d-expandable-header.js.map +1 -1
  91. package/dist/wcardinal/ui/d-html-element.js.map +1 -1
  92. package/dist/wcardinal/ui/d-link.js +1 -2
  93. package/dist/wcardinal/ui/d-link.js.map +1 -1
  94. package/dist/wcardinal/ui/d-list-item.js.map +1 -1
  95. package/dist/wcardinal/ui/d-menu-bar-item.js.map +1 -1
  96. package/dist/wcardinal/ui/d-menu-item-base.js.map +1 -1
  97. package/dist/wcardinal/ui/d-menu-item-check.js.map +1 -1
  98. package/dist/wcardinal/ui/d-menu-item-link.js.map +1 -1
  99. package/dist/wcardinal/ui/d-menu-item-menu.js.map +1 -1
  100. package/dist/wcardinal/ui/d-menu-item-text.js.map +1 -1
  101. package/dist/wcardinal/ui/d-pane.js.map +1 -1
  102. package/dist/wcardinal/ui/d-picker-color-gradient-view.js +7 -4
  103. package/dist/wcardinal/ui/d-picker-color-gradient-view.js.map +1 -1
  104. package/dist/wcardinal/ui/d-picker-color-gradient.js.map +1 -1
  105. package/dist/wcardinal/ui/d-picker-color.js.map +1 -1
  106. package/dist/wcardinal/ui/d-scroll-bar-horizontal.js.map +1 -1
  107. package/dist/wcardinal/ui/d-scroll-bar-vertical.js.map +1 -1
  108. package/dist/wcardinal/ui/d-shadow.js.map +1 -1
  109. package/dist/wcardinal/ui/d-slider.js.map +1 -1
  110. package/dist/wcardinal/ui/d-table-body-cell-button.js.map +1 -1
  111. package/dist/wcardinal/ui/d-table-body-cell-check.js.map +1 -1
  112. package/dist/wcardinal/ui/d-table-body-cell-input-tree.js.map +1 -1
  113. package/dist/wcardinal/ui/d-table-body-cell-link.js.map +1 -1
  114. package/dist/wcardinal/ui/d-table-body-cell-select-dialog.js.map +1 -1
  115. package/dist/wcardinal/ui/d-table-body-cell-select-promise.js.map +1 -1
  116. package/dist/wcardinal/ui/d-table-body-cell-tree.js.map +1 -1
  117. package/dist/wcardinal/ui/d-table-body-cell.js.map +1 -1
  118. package/dist/wcardinal/ui/d-table-body.js.map +1 -1
  119. package/dist/wcardinal/ui/d-table-header-cell.js +1 -2
  120. package/dist/wcardinal/ui/d-table-header-cell.js.map +1 -1
  121. package/dist/wcardinal/ui/d-table.js.map +1 -1
  122. package/dist/wcardinal/ui/d-tree-item-button.js.map +1 -1
  123. package/dist/wcardinal/ui/d-tree-item-non-editable.js.map +1 -1
  124. package/dist/wcardinal/ui/d-tree-item-text.js.map +1 -1
  125. package/dist/wcardinal/ui/d-view-gesture-impl.js.map +1 -1
  126. package/dist/wcardinal/ui/d-view-impl.js.map +1 -1
  127. package/dist/wcardinal/ui/shape/action/e-shape-action-runtime-base.js.map +1 -1
  128. package/dist/wcardinal/ui/shape/action/e-shape-action-runtime-gesture-layer.js +1 -2
  129. package/dist/wcardinal/ui/shape/action/e-shape-action-runtime-gesture-layer.js.map +1 -1
  130. package/dist/wcardinal/ui/shape/action/e-shape-action-runtime-gesture-shape.js +1 -2
  131. package/dist/wcardinal/ui/shape/action/e-shape-action-runtime-gesture-shape.js.map +1 -1
  132. package/dist/wcardinal/ui/shape/action/e-shape-action-runtime-misc-html-element-base.js.map +1 -1
  133. package/dist/wcardinal/ui/shape/action/e-shape-action-runtime.js.map +1 -1
  134. package/dist/wcardinal/ui/shape/e-shape-runtime-impl.js.map +1 -1
  135. package/dist/wcardinal/ui/shape/e-shape-runtime.js.map +1 -1
  136. package/dist/wcardinal/ui/shape/variant/e-shape-button-runtime.js.map +1 -1
  137. package/dist/wcardinal/ui/util/util-click-outside.js.map +1 -1
  138. package/dist/wcardinal/ui/util/util-gesture-data.js.map +1 -1
  139. package/dist/wcardinal/ui/util/util-gesture-modifiers.js.map +1 -1
  140. package/dist/wcardinal/ui/util/util-gesture.js.map +1 -1
  141. package/dist/wcardinal/ui/util/util-html-element.js.map +1 -1
  142. package/dist/wcardinal/ui/util/util-pointer-event.js.map +1 -1
  143. package/dist/wcardinal-ui-theme-dark-en-us.js +1 -1
  144. package/dist/wcardinal-ui-theme-dark-en-us.min.js +1 -1
  145. package/dist/wcardinal-ui-theme-dark-ja-jp.js +1 -1
  146. package/dist/wcardinal-ui-theme-dark-ja-jp.min.js +1 -1
  147. package/dist/wcardinal-ui-theme-dark.js +1 -1
  148. package/dist/wcardinal-ui-theme-dark.min.js +1 -1
  149. package/dist/wcardinal-ui-theme-white-en-us.js +1 -1
  150. package/dist/wcardinal-ui-theme-white-en-us.min.js +1 -1
  151. package/dist/wcardinal-ui-theme-white-ja-jp.js +1 -1
  152. package/dist/wcardinal-ui-theme-white-ja-jp.min.js +1 -1
  153. package/dist/wcardinal-ui-theme-white.js +1 -1
  154. package/dist/wcardinal-ui-theme-white.min.js +1 -1
  155. package/dist/wcardinal-ui.cjs.js +18 -16
  156. package/dist/wcardinal-ui.js +18 -16
  157. package/dist/wcardinal-ui.min.js +2 -2
  158. package/dist/wcardinal-ui.min.js.map +1 -1
  159. package/package.json +3 -3
@@ -1 +1 @@
1
- {"version":3,"file":"util-gesture.js","sourceRoot":"","sources":["../../../../src/main/typescript/wcardinal/ui/util/util-gesture.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { interaction, utils } from \"pixi.js\";\nimport { DApplicationTarget } from \"../d-application-like\";\nimport { DApplications } from \"../d-applications\";\nimport { DBaseStateSet } from \"../d-base-state-set\";\nimport { UtilGestureModifier } from \"./util-gesture-modifier\";\nimport { UtilGestureModifiers } from \"./util-gesture-modifiers\";\nimport { UtilGestureData } from \"./util-gesture-data\";\nimport { UtilGestureEasing, UtilGestureEasingOptions } from \"./util-gesture-easing\";\nimport { UtilPointerEvent } from \"./util-pointer-event\";\nimport InteractionEvent = interaction.InteractionEvent;\n\nexport interface UtilGestureTarget extends DApplicationTarget {\n\tstate: DBaseStateSet;\n}\nexport type UtilGestureOnMove<TARGET> = (\n\ttarget: TARGET,\n\tdx: number,\n\tdy: number,\n\tx: number,\n\ty: number,\n\tds: number\n) => void;\nexport type UtilGestureOnStart<TARGET> = (target: TARGET) => void;\nexport type UtilGestureOnEnd<TARGET> = (target: TARGET) => void;\nexport type UtilGestureOnStop<TARGET> = (target: TARGET) => void;\nexport type UtilGestureOnEasingStart<TARGET> = (target: TARGET) => void;\nexport type UtilGestureOnEasingEnd<TARGET> = (target: TARGET) => void;\nexport type UtilGestureChecker<TARGET> = (\n\te: InteractionEvent,\n\tmodifier: UtilGestureModifier,\n\ttarget: TARGET\n) => boolean;\n\nexport interface UtilGestureCheckerOptions<TARGET> {\n\tstart?: UtilGestureChecker<TARGET>;\n\tmove?: UtilGestureChecker<TARGET>;\n}\n\nexport interface UtilGestureOnEasingOptions<TARGET> {\n\tstart?: UtilGestureOnEasingStart<TARGET>;\n\tend?: UtilGestureOnEasingEnd<TARGET>;\n}\n\nexport interface UtilGestureOnOptions<TARGET> {\n\tstart?: UtilGestureOnStart<TARGET>;\n\tmove?: UtilGestureOnMove<TARGET>;\n\tend?: UtilGestureOnEnd<TARGET>;\n\tstop?: UtilGestureOnStop<TARGET>;\n\teasing?: UtilGestureOnEasingOptions<TARGET>;\n}\n\nexport interface UtilGestureOptions<TARGET> {\n\t/**\n\t * True to restrict to touch gestures only.\n\t */\n\ttouch?: boolean;\n\n\t/**\n\t * Expected mouse modifiers\n\t */\n\tmodifier?: UtilGestureModifier;\n\n\t/**\n\t * Checker options\n\t */\n\tchecker?: UtilGestureCheckerOptions<TARGET>;\n\n\t/**\n\t * Easing options\n\t */\n\teasing?: boolean | UtilGestureEasingOptions;\n\n\t/** Binds the pointerdown event of the given target. */\n\tbind?: TARGET & utils.EventEmitter;\n\n\t/** Event options */\n\ton?: UtilGestureOnOptions<TARGET>;\n}\n\nexport class UtilGesture<TARGET extends UtilGestureTarget> {\n\tprotected _onStart?: UtilGestureOnStart<TARGET>;\n\tprotected _onMove?: UtilGestureOnMove<TARGET>;\n\tprotected _onEnd?: UtilGestureOnEnd<TARGET>;\n\tprotected _onStop?: UtilGestureOnStop<TARGET>;\n\tprotected _onEasingStart?: UtilGestureOnEasingStart<TARGET>;\n\tprotected _onEasingEnd?: UtilGestureOnEasingEnd<TARGET>;\n\tprotected _modifier: UtilGestureModifier;\n\tprotected _checkerStart: UtilGestureChecker<TARGET>;\n\tprotected _checkerMove: UtilGestureChecker<TARGET>;\n\tprotected _easing?: boolean | UtilGestureEasingOptions;\n\tprotected _touch: boolean;\n\n\tprotected _unused: Array<UtilGestureData<TARGET>>;\n\tprotected _used: Map<TARGET, UtilGestureData<TARGET>>;\n\n\tconstructor(options: UtilGestureOptions<TARGET>) {\n\t\tconst on = options.on;\n\t\tif (on) {\n\t\t\tthis._onStart = on.start;\n\t\t\tthis._onMove = on.move;\n\t\t\tthis._onEnd = on.end;\n\t\t\tthis._onStop = on.stop;\n\t\t\tconst easing = on.easing;\n\t\t\tif (easing != null) {\n\t\t\t\tthis._onEasingStart = easing.start;\n\t\t\t\tthis._onEasingEnd = easing.end;\n\t\t\t}\n\t\t}\n\t\tthis._modifier = options?.modifier ?? UtilGestureModifier.NONE;\n\t\tconst checker = options.checker;\n\t\tconst defaultChecker = UtilGestureModifiers.match;\n\t\tthis._checkerStart = checker?.start ?? defaultChecker;\n\t\tthis._checkerMove = checker?.move ?? defaultChecker;\n\t\tthis._easing = options.easing;\n\t\tthis._touch = !!options.touch;\n\n\t\tthis._unused = [];\n\t\tthis._used = new Map<TARGET, UtilGestureData<TARGET>>();\n\n\t\tconst bind = options.bind;\n\t\tif (bind != null) {\n\t\t\tthis.bind(bind);\n\t\t}\n\t}\n\n\tprotected newData(target: TARGET): UtilGestureData<TARGET> {\n\t\tconst used = this._used;\n\t\tconst result = used.get(target);\n\t\tif (result != null) {\n\t\t\treturn result;\n\t\t}\n\t\tconst poped = this._unused.pop();\n\t\tif (poped != null) {\n\t\t\tused.set(target, poped);\n\t\t\treturn poped;\n\t\t}\n\t\tconst created = new UtilGestureData<TARGET>();\n\t\tcreated.easing = this.newEasing(created);\n\t\tcreated.onMove = this.newOnMove(created);\n\t\tcreated.onEnd = this.newOnEnd(created);\n\t\tused.set(target, created);\n\t\treturn created;\n\t}\n\n\tprotected newEasing(data: UtilGestureData<TARGET>): UtilGestureEasing | undefined {\n\t\tconst easing = this._easing;\n\t\tif (easing == null || easing !== false) {\n\t\t\tconst onEasingMoveBound = (dx: number, dy: number, ds: number, time: number): void => {\n\t\t\t\tthis.onEasingMove(dx, dy, ds, time, data);\n\t\t\t};\n\t\t\tconst onEasingEndBound = (): void => {\n\t\t\t\tthis.onEasingEnd(data);\n\t\t\t};\n\t\t\treturn new UtilGestureEasing(\n\t\t\t\tonEasingMoveBound,\n\t\t\t\tonEasingEndBound,\n\t\t\t\tthis.toEasingOptions(easing)\n\t\t\t);\n\t\t}\n\t\treturn undefined;\n\t}\n\n\tprotected toEasingOptions(\n\t\toptions?: true | UtilGestureEasingOptions\n\t): UtilGestureEasingOptions | undefined {\n\t\treturn options == null || options === true ? undefined : options;\n\t}\n\n\tprotected deleteData(data: UtilGestureData<TARGET>): void {\n\t\tconst target = data.target;\n\t\tif (target) {\n\t\t\tif (this._used.delete(target)) {\n\t\t\t\tdata.target = undefined;\n\t\t\t\tdata.pointers.clear();\n\t\t\t\tthis._unused.push(data);\n\t\t\t}\n\t\t}\n\t}\n\n\tbind(target: TARGET & utils.EventEmitter): this {\n\t\ttarget.on(UtilPointerEvent.down, (e: InteractionEvent): void => {\n\t\t\tthis.onDown(target, e);\n\t\t});\n\t\treturn this;\n\t}\n\n\tprotected isTouch(e: InteractionEvent): boolean {\n\t\tconst oe = e.data.originalEvent;\n\t\tif (\"touches\" in oe) {\n\t\t\treturn true;\n\t\t} else if (\"pointerId\" in oe) {\n\t\t\treturn oe.pointerType !== \"mouse\";\n\t\t} else {\n\t\t\treturn false;\n\t\t}\n\t}\n\n\tonDown(target: TARGET, e: InteractionEvent): void {\n\t\tif (this._touch && !this.isTouch(e)) {\n\t\t\treturn;\n\t\t}\n\t\tif (!this._checkerStart(e, this._modifier, target)) {\n\t\t\treturn;\n\t\t}\n\t\tconst layer = DApplications.getLayer(target);\n\t\tif (layer == null) {\n\t\t\treturn;\n\t\t}\n\n\t\te.stopPropagation();\n\t\tif (target.state.isGesturing) {\n\t\t\tthis._used.get(target)?.start(e);\n\t\t} else {\n\t\t\t// User-defined handler\n\t\t\tconst onStart = this._onStart;\n\t\t\tif (onStart != null) {\n\t\t\t\tonStart(target);\n\t\t\t}\n\n\t\t\tconst data = this.newData(target);\n\t\t\tdata.target = target;\n\t\t\ttarget.state.isGesturing = true;\n\n\t\t\t// Interaction manager\n\t\t\tconst interactionManager = layer.renderer.plugins.interaction;\n\t\t\tdata.interactionManager = interactionManager;\n\n\t\t\t// Update the center\n\t\t\tdata.start(e);\n\n\t\t\t// Easing util\n\t\t\tconst easing = data.easing;\n\t\t\tif (easing) {\n\t\t\t\teasing.onStart();\n\t\t\t}\n\n\t\t\t// Event handler\n\t\t\tdata.bind(e);\n\t\t}\n\t}\n\n\tprotected newOnMove(data: UtilGestureData<TARGET>): (e: InteractionEvent) => void {\n\t\treturn (e: InteractionEvent): void => {\n\t\t\tthis.onMove(e, data);\n\t\t};\n\t}\n\n\tprotected newOnEnd(data: UtilGestureData<TARGET>): (e: InteractionEvent) => void {\n\t\treturn (e: InteractionEvent): void => {\n\t\t\tthis.onEnd(e, data);\n\t\t};\n\t}\n\n\tprotected onMove(e: InteractionEvent, data: UtilGestureData<TARGET>): void {\n\t\tconst target = data.target;\n\t\tif (target == null || !target.state.isGesturing) {\n\t\t\treturn;\n\t\t}\n\t\tif (!data.isUpdatable(e) || !this._checkerMove(e, this._modifier, target)) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Update the center\n\t\tconst center = data.center;\n\t\tconst oldCenterX = center.x;\n\t\tconst oldCenterY = center.y;\n\t\tconst oldScale = data.scale;\n\t\tconst oldTime = data.time;\n\t\tdata.update(e);\n\t\tconst newCenterX = center.x;\n\t\tconst newCenterY = center.y;\n\t\tconst newScale = data.scale;\n\t\tconst newTime = data.time;\n\n\t\t// Calculate the position\n\t\tconst dx = newCenterX - oldCenterX;\n\t\tconst dy = newCenterY - oldCenterY;\n\t\tconst dt = newTime - oldTime;\n\t\tconst epsilon = 0.00001;\n\t\tconst ds = epsilon < oldScale && epsilon < newScale ? newScale / oldScale : 1;\n\n\t\t// Easing\n\t\tconst easing = data.easing;\n\t\tif (easing) {\n\t\t\teasing.onMove(dx, dy, ds, dt);\n\t\t}\n\n\t\t// Call the user-defined handler\n\t\tconst onMove = this._onMove;\n\t\tif (onMove != null) {\n\t\t\tif (dx !== 0 || dy !== 0 || ds !== 1) {\n\t\t\t\tonMove(target, dx, dy, newCenterX, newCenterY, ds);\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected onEnd(e: InteractionEvent, data: UtilGestureData<TARGET>): void {\n\t\tconst target = data.target;\n\t\tif (target == null || !target.state.isGesturing) {\n\t\t\treturn;\n\t\t}\n\t\tif (!data.end(e)) {\n\t\t\treturn;\n\t\t}\n\n\t\t// State\n\t\ttarget.state.isGesturing = false;\n\n\t\t// Remove event handlers\n\t\tconst interactionManager = data.interactionManager;\n\t\tdata.interactionManager = undefined;\n\t\tif (interactionManager) {\n\t\t\tconst onMoveBound = data.onMove;\n\t\t\tif (onMoveBound) {\n\t\t\t\tinteractionManager.off(UtilPointerEvent.move, onMoveBound);\n\t\t\t}\n\t\t\tconst onEndBound = data.onEnd;\n\t\t\tif (onEndBound) {\n\t\t\t\tinteractionManager.off(UtilPointerEvent.up, onEndBound);\n\t\t\t\tinteractionManager.off(UtilPointerEvent.cancel, onEndBound);\n\t\t\t}\n\t\t}\n\n\t\t// Call the user-defined handler\n\t\tconst onEnd = this._onEnd;\n\t\tif (onEnd != null) {\n\t\t\tonEnd(target);\n\t\t}\n\n\t\t// Start the Easing\n\t\tconst onEasingStart = this._onEasingStart;\n\t\tif (onEasingStart) {\n\t\t\tonEasingStart(data.target!);\n\t\t}\n\t\tconst easing = data.easing;\n\t\tif (easing) {\n\t\t\teasing.onEnd(e.data.originalEvent.timeStamp - data.time);\n\t\t} else {\n\t\t\tthis.deleteData(data);\n\t\t\tconst onEasingEnd = this._onEasingEnd;\n\t\t\tif (onEasingEnd) {\n\t\t\t\tonEasingEnd(data.target!);\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected onEasingMove(\n\t\tdx: number,\n\t\tdy: number,\n\t\tds: number,\n\t\ttime: number,\n\t\tdata: UtilGestureData<TARGET>\n\t): void {\n\t\tconst target = data.target;\n\t\tif (target == null) {\n\t\t\treturn;\n\t\t}\n\t\tconst onMove = this._onMove;\n\t\tif (onMove == null) {\n\t\t\treturn;\n\t\t}\n\t\tif (dx === 0 && dy === 0 && ds === 1) {\n\t\t\treturn;\n\t\t}\n\t\tconst center = data.center;\n\t\tconst x = center.x + dx;\n\t\tconst y = center.y + dy;\n\t\tcenter.set(x, y);\n\t\tonMove(data.target!, dx, dy, x, y, ds);\n\t}\n\n\tprotected onEasingEnd(data: UtilGestureData<TARGET>): void {\n\t\tconst target = data.target;\n\t\tthis.deleteData(data);\n\t\tconst onEasingEnd = this._onEasingEnd;\n\t\tif (onEasingEnd && target != null) {\n\t\t\tonEasingEnd(target);\n\t\t}\n\t}\n\n\tstop(target: TARGET): void {\n\t\tconst data = this._used.get(target);\n\t\tif (data == null) {\n\t\t\treturn;\n\t\t}\n\t\tdata.easing?.stop();\n\t\tthis.deleteData(data);\n\t\tconst onStop = this._onStop;\n\t\tif (onStop) {\n\t\t\tonStop(target);\n\t\t}\n\t}\n}\n"]}
1
+ {"version":3,"file":"util-gesture.js","sourceRoot":"","sources":["../../../../src/main/typescript/wcardinal/ui/util/util-gesture.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAElD,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAA4B,MAAM,uBAAuB,CAAC;AACpF,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAsExD;IAgBC,qBAAY,OAAmC;;QAC9C,IAAM,EAAE,GAAG,OAAO,CAAC,EAAE,CAAC;QACtB,IAAI,EAAE,EAAE;YACP,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC,KAAK,CAAC;YACzB,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC,IAAI,CAAC;YACvB,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC,GAAG,CAAC;YACrB,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC,IAAI,CAAC;YACvB,IAAM,MAAM,GAAG,EAAE,CAAC,MAAM,CAAC;YACzB,IAAI,MAAM,IAAI,IAAI,EAAE;gBACnB,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,KAAK,CAAC;gBACnC,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,GAAG,CAAC;aAC/B;SACD;QACD,IAAI,CAAC,SAAS,GAAG,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,QAAQ,mCAAI,mBAAmB,CAAC,IAAI,CAAC;QAC/D,IAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;QAChC,IAAM,cAAc,GAAG,oBAAoB,CAAC,KAAK,CAAC;QAClD,IAAI,CAAC,aAAa,GAAG,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,KAAK,mCAAI,cAAc,CAAC;QACtD,IAAI,CAAC,YAAY,GAAG,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,mCAAI,cAAc,CAAC;QACpD,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC;QAC9B,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;QAE9B,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;QAClB,IAAI,CAAC,KAAK,GAAG,IAAI,GAAG,EAAmC,CAAC;QAExD,IAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;QAC1B,IAAI,IAAI,IAAI,IAAI,EAAE;YACjB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SAChB;IACF,CAAC;IAES,6BAAO,GAAjB,UAAkB,MAAc;QAC/B,IAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC;QACxB,IAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAChC,IAAI,MAAM,IAAI,IAAI,EAAE;YACnB,OAAO,MAAM,CAAC;SACd;QACD,IAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;QACjC,IAAI,KAAK,IAAI,IAAI,EAAE;YAClB,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;YACxB,OAAO,KAAK,CAAC;SACb;QACD,IAAM,OAAO,GAAG,IAAI,eAAe,EAAU,CAAC;QAC9C,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QACzC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QACzC,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QACvC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAC1B,OAAO,OAAO,CAAC;IAChB,CAAC;IAES,+BAAS,GAAnB,UAAoB,IAA6B;QAAjD,iBAgBC;QAfA,IAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC;QAC5B,IAAI,MAAM,IAAI,IAAI,IAAI,MAAM,KAAK,KAAK,EAAE;YACvC,IAAM,iBAAiB,GAAG,UAAC,EAAU,EAAE,EAAU,EAAE,EAAU,EAAE,IAAY;gBAC1E,KAAI,CAAC,YAAY,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;YAC3C,CAAC,CAAC;YACF,IAAM,gBAAgB,GAAG;gBACxB,KAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YACxB,CAAC,CAAC;YACF,OAAO,IAAI,iBAAiB,CAC3B,iBAAiB,EACjB,gBAAgB,EAChB,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAC5B,CAAC;SACF;QACD,OAAO,SAAS,CAAC;IAClB,CAAC;IAES,qCAAe,GAAzB,UACC,OAAyC;QAEzC,OAAO,OAAO,IAAI,IAAI,IAAI,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC;IAClE,CAAC;IAES,gCAAU,GAApB,UAAqB,IAA6B;QACjD,IAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC3B,IAAI,MAAM,EAAE;YACX,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE;gBAC9B,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;gBACxB,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;gBACtB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACxB;SACD;IACF,CAAC;IAED,0BAAI,GAAJ,UAAK,MAAmC;QAAxC,iBAKC;QAJA,MAAM,CAAC,EAAE,CAAC,gBAAgB,CAAC,IAAI,EAAE,UAAC,CAAmB;YACpD,KAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QACxB,CAAC,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACb,CAAC;IAES,6BAAO,GAAjB,UAAkB,CAAmB;QACpC,IAAM,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC;QAChC,IAAI,SAAS,IAAI,EAAE,EAAE;YACpB,OAAO,IAAI,CAAC;SACZ;aAAM,IAAI,WAAW,IAAI,EAAE,EAAE;YAC7B,OAAO,EAAE,CAAC,WAAW,KAAK,OAAO,CAAC;SAClC;aAAM;YACN,OAAO,KAAK,CAAC;SACb;IACF,CAAC;IAED,4BAAM,GAAN,UAAO,MAAc,EAAE,CAAmB;;QACzC,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;YACpC,OAAO;SACP;QACD,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,EAAE,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,EAAE;YACnD,OAAO;SACP;QACD,IAAM,KAAK,GAAG,aAAa,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC7C,IAAI,KAAK,IAAI,IAAI,EAAE;YAClB,OAAO;SACP;QAED,CAAC,CAAC,eAAe,EAAE,CAAC;QACpB,IAAI,MAAM,CAAC,KAAK,CAAC,WAAW,EAAE;YAC7B,MAAA,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,0CAAE,KAAK,CAAC,CAAC,CAAC,CAAC;SACjC;aAAM;YACN,uBAAuB;YACvB,IAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC;YAC9B,IAAI,OAAO,IAAI,IAAI,EAAE;gBACpB,OAAO,CAAC,MAAM,CAAC,CAAC;aAChB;YAED,IAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YAClC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;YACrB,MAAM,CAAC,KAAK,CAAC,WAAW,GAAG,IAAI,CAAC;YAEhC,sBAAsB;YACtB,IAAM,kBAAkB,GAAG,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC;YAC9D,IAAI,CAAC,kBAAkB,GAAG,kBAAkB,CAAC;YAE7C,oBAAoB;YACpB,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAEd,cAAc;YACd,IAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;YAC3B,IAAI,MAAM,EAAE;gBACX,MAAM,CAAC,OAAO,EAAE,CAAC;aACjB;YAED,gBAAgB;YAChB,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;SACb;IACF,CAAC;IAES,+BAAS,GAAnB,UAAoB,IAA6B;QAAjD,iBAIC;QAHA,OAAO,UAAC,CAAmB;YAC1B,KAAI,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;QACtB,CAAC,CAAC;IACH,CAAC;IAES,8BAAQ,GAAlB,UAAmB,IAA6B;QAAhD,iBAIC;QAHA,OAAO,UAAC,CAAmB;YAC1B,KAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;QACrB,CAAC,CAAC;IACH,CAAC;IAES,4BAAM,GAAhB,UAAiB,CAAmB,EAAE,IAA6B;QAClE,IAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC3B,IAAI,MAAM,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,EAAE;YAChD,OAAO;SACP;QACD,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,EAAE,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,EAAE;YAC1E,OAAO;SACP;QAED,oBAAoB;QACpB,IAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC3B,IAAM,UAAU,GAAG,MAAM,CAAC,CAAC,CAAC;QAC5B,IAAM,UAAU,GAAG,MAAM,CAAC,CAAC,CAAC;QAC5B,IAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC;QAC5B,IAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC;QAC1B,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QACf,IAAM,UAAU,GAAG,MAAM,CAAC,CAAC,CAAC;QAC5B,IAAM,UAAU,GAAG,MAAM,CAAC,CAAC,CAAC;QAC5B,IAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC;QAC5B,IAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC;QAE1B,yBAAyB;QACzB,IAAM,EAAE,GAAG,UAAU,GAAG,UAAU,CAAC;QACnC,IAAM,EAAE,GAAG,UAAU,GAAG,UAAU,CAAC;QACnC,IAAM,EAAE,GAAG,OAAO,GAAG,OAAO,CAAC;QAC7B,IAAM,OAAO,GAAG,OAAO,CAAC;QACxB,IAAM,EAAE,GAAG,OAAO,GAAG,QAAQ,IAAI,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,QAAQ,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;QAE9E,SAAS;QACT,IAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC3B,IAAI,MAAM,EAAE;YACX,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;SAC9B;QAED,gCAAgC;QAChC,IAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC;QAC5B,IAAI,MAAM,IAAI,IAAI,EAAE;YACnB,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE;gBACrC,MAAM,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,UAAU,EAAE,UAAU,EAAE,EAAE,CAAC,CAAC;aACnD;SACD;IACF,CAAC;IAES,2BAAK,GAAf,UAAgB,CAAmB,EAAE,IAA6B;QACjE,IAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC3B,IAAI,MAAM,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,EAAE;YAChD,OAAO;SACP;QACD,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;YACjB,OAAO;SACP;QAED,QAAQ;QACR,MAAM,CAAC,KAAK,CAAC,WAAW,GAAG,KAAK,CAAC;QAEjC,wBAAwB;QACxB,IAAM,kBAAkB,GAAG,IAAI,CAAC,kBAAkB,CAAC;QACnD,IAAI,CAAC,kBAAkB,GAAG,SAAS,CAAC;QACpC,IAAI,kBAAkB,EAAE;YACvB,IAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC;YAChC,IAAI,WAAW,EAAE;gBAChB,kBAAkB,CAAC,GAAG,CAAC,gBAAgB,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;aAC3D;YACD,IAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC;YAC9B,IAAI,UAAU,EAAE;gBACf,kBAAkB,CAAC,GAAG,CAAC,gBAAgB,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC;gBACxD,kBAAkB,CAAC,GAAG,CAAC,gBAAgB,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;aAC5D;SACD;QAED,gCAAgC;QAChC,IAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC;QAC1B,IAAI,KAAK,IAAI,IAAI,EAAE;YAClB,KAAK,CAAC,MAAM,CAAC,CAAC;SACd;QAED,mBAAmB;QACnB,IAAM,aAAa,GAAG,IAAI,CAAC,cAAc,CAAC;QAC1C,IAAI,aAAa,EAAE;YAClB,aAAa,CAAC,IAAI,CAAC,MAAO,CAAC,CAAC;SAC5B;QACD,IAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC3B,IAAI,MAAM,EAAE;YACX,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;SACzD;aAAM;YACN,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;YACtB,IAAM,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC;YACtC,IAAI,WAAW,EAAE;gBAChB,WAAW,CAAC,IAAI,CAAC,MAAO,CAAC,CAAC;aAC1B;SACD;IACF,CAAC;IAES,kCAAY,GAAtB,UACC,EAAU,EACV,EAAU,EACV,EAAU,EACV,IAAY,EACZ,IAA6B;QAE7B,IAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC3B,IAAI,MAAM,IAAI,IAAI,EAAE;YACnB,OAAO;SACP;QACD,IAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC;QAC5B,IAAI,MAAM,IAAI,IAAI,EAAE;YACnB,OAAO;SACP;QACD,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE;YACrC,OAAO;SACP;QACD,IAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC3B,IAAM,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC;QACxB,IAAM,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC;QACxB,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACjB,MAAM,CAAC,IAAI,CAAC,MAAO,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;IACxC,CAAC;IAES,iCAAW,GAArB,UAAsB,IAA6B;QAClD,IAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC3B,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACtB,IAAM,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC;QACtC,IAAI,WAAW,IAAI,MAAM,IAAI,IAAI,EAAE;YAClC,WAAW,CAAC,MAAM,CAAC,CAAC;SACpB;IACF,CAAC;IAED,0BAAI,GAAJ,UAAK,MAAc;;QAClB,IAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACpC,IAAI,IAAI,IAAI,IAAI,EAAE;YACjB,OAAO;SACP;QACD,MAAA,IAAI,CAAC,MAAM,0CAAE,IAAI,EAAE,CAAC;QACpB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACtB,IAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC;QAC5B,IAAI,MAAM,EAAE;YACX,MAAM,CAAC,MAAM,CAAC,CAAC;SACf;IACF,CAAC;IACF,kBAAC;AAAD,CAAC,AAzTD,IAyTC","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { InteractionEvent, utils } from \"pixi.js\";\nimport { DApplicationTarget } from \"../d-application-like\";\nimport { DApplications } from \"../d-applications\";\nimport { DBaseStateSet } from \"../d-base-state-set\";\nimport { UtilGestureModifier } from \"./util-gesture-modifier\";\nimport { UtilGestureModifiers } from \"./util-gesture-modifiers\";\nimport { UtilGestureData } from \"./util-gesture-data\";\nimport { UtilGestureEasing, UtilGestureEasingOptions } from \"./util-gesture-easing\";\nimport { UtilPointerEvent } from \"./util-pointer-event\";\n\nexport interface UtilGestureTarget extends DApplicationTarget {\n\tstate: DBaseStateSet;\n}\nexport type UtilGestureOnMove<TARGET> = (\n\ttarget: TARGET,\n\tdx: number,\n\tdy: number,\n\tx: number,\n\ty: number,\n\tds: number\n) => void;\nexport type UtilGestureOnStart<TARGET> = (target: TARGET) => void;\nexport type UtilGestureOnEnd<TARGET> = (target: TARGET) => void;\nexport type UtilGestureOnStop<TARGET> = (target: TARGET) => void;\nexport type UtilGestureOnEasingStart<TARGET> = (target: TARGET) => void;\nexport type UtilGestureOnEasingEnd<TARGET> = (target: TARGET) => void;\nexport type UtilGestureChecker<TARGET> = (\n\te: InteractionEvent,\n\tmodifier: UtilGestureModifier,\n\ttarget: TARGET\n) => boolean;\n\nexport interface UtilGestureCheckerOptions<TARGET> {\n\tstart?: UtilGestureChecker<TARGET>;\n\tmove?: UtilGestureChecker<TARGET>;\n}\n\nexport interface UtilGestureOnEasingOptions<TARGET> {\n\tstart?: UtilGestureOnEasingStart<TARGET>;\n\tend?: UtilGestureOnEasingEnd<TARGET>;\n}\n\nexport interface UtilGestureOnOptions<TARGET> {\n\tstart?: UtilGestureOnStart<TARGET>;\n\tmove?: UtilGestureOnMove<TARGET>;\n\tend?: UtilGestureOnEnd<TARGET>;\n\tstop?: UtilGestureOnStop<TARGET>;\n\teasing?: UtilGestureOnEasingOptions<TARGET>;\n}\n\nexport interface UtilGestureOptions<TARGET> {\n\t/**\n\t * True to restrict to touch gestures only.\n\t */\n\ttouch?: boolean;\n\n\t/**\n\t * Expected mouse modifiers\n\t */\n\tmodifier?: UtilGestureModifier;\n\n\t/**\n\t * Checker options\n\t */\n\tchecker?: UtilGestureCheckerOptions<TARGET>;\n\n\t/**\n\t * Easing options\n\t */\n\teasing?: boolean | UtilGestureEasingOptions;\n\n\t/** Binds the pointerdown event of the given target. */\n\tbind?: TARGET & utils.EventEmitter;\n\n\t/** Event options */\n\ton?: UtilGestureOnOptions<TARGET>;\n}\n\nexport class UtilGesture<TARGET extends UtilGestureTarget> {\n\tprotected _onStart?: UtilGestureOnStart<TARGET>;\n\tprotected _onMove?: UtilGestureOnMove<TARGET>;\n\tprotected _onEnd?: UtilGestureOnEnd<TARGET>;\n\tprotected _onStop?: UtilGestureOnStop<TARGET>;\n\tprotected _onEasingStart?: UtilGestureOnEasingStart<TARGET>;\n\tprotected _onEasingEnd?: UtilGestureOnEasingEnd<TARGET>;\n\tprotected _modifier: UtilGestureModifier;\n\tprotected _checkerStart: UtilGestureChecker<TARGET>;\n\tprotected _checkerMove: UtilGestureChecker<TARGET>;\n\tprotected _easing?: boolean | UtilGestureEasingOptions;\n\tprotected _touch: boolean;\n\n\tprotected _unused: Array<UtilGestureData<TARGET>>;\n\tprotected _used: Map<TARGET, UtilGestureData<TARGET>>;\n\n\tconstructor(options: UtilGestureOptions<TARGET>) {\n\t\tconst on = options.on;\n\t\tif (on) {\n\t\t\tthis._onStart = on.start;\n\t\t\tthis._onMove = on.move;\n\t\t\tthis._onEnd = on.end;\n\t\t\tthis._onStop = on.stop;\n\t\t\tconst easing = on.easing;\n\t\t\tif (easing != null) {\n\t\t\t\tthis._onEasingStart = easing.start;\n\t\t\t\tthis._onEasingEnd = easing.end;\n\t\t\t}\n\t\t}\n\t\tthis._modifier = options?.modifier ?? UtilGestureModifier.NONE;\n\t\tconst checker = options.checker;\n\t\tconst defaultChecker = UtilGestureModifiers.match;\n\t\tthis._checkerStart = checker?.start ?? defaultChecker;\n\t\tthis._checkerMove = checker?.move ?? defaultChecker;\n\t\tthis._easing = options.easing;\n\t\tthis._touch = !!options.touch;\n\n\t\tthis._unused = [];\n\t\tthis._used = new Map<TARGET, UtilGestureData<TARGET>>();\n\n\t\tconst bind = options.bind;\n\t\tif (bind != null) {\n\t\t\tthis.bind(bind);\n\t\t}\n\t}\n\n\tprotected newData(target: TARGET): UtilGestureData<TARGET> {\n\t\tconst used = this._used;\n\t\tconst result = used.get(target);\n\t\tif (result != null) {\n\t\t\treturn result;\n\t\t}\n\t\tconst poped = this._unused.pop();\n\t\tif (poped != null) {\n\t\t\tused.set(target, poped);\n\t\t\treturn poped;\n\t\t}\n\t\tconst created = new UtilGestureData<TARGET>();\n\t\tcreated.easing = this.newEasing(created);\n\t\tcreated.onMove = this.newOnMove(created);\n\t\tcreated.onEnd = this.newOnEnd(created);\n\t\tused.set(target, created);\n\t\treturn created;\n\t}\n\n\tprotected newEasing(data: UtilGestureData<TARGET>): UtilGestureEasing | undefined {\n\t\tconst easing = this._easing;\n\t\tif (easing == null || easing !== false) {\n\t\t\tconst onEasingMoveBound = (dx: number, dy: number, ds: number, time: number): void => {\n\t\t\t\tthis.onEasingMove(dx, dy, ds, time, data);\n\t\t\t};\n\t\t\tconst onEasingEndBound = (): void => {\n\t\t\t\tthis.onEasingEnd(data);\n\t\t\t};\n\t\t\treturn new UtilGestureEasing(\n\t\t\t\tonEasingMoveBound,\n\t\t\t\tonEasingEndBound,\n\t\t\t\tthis.toEasingOptions(easing)\n\t\t\t);\n\t\t}\n\t\treturn undefined;\n\t}\n\n\tprotected toEasingOptions(\n\t\toptions?: true | UtilGestureEasingOptions\n\t): UtilGestureEasingOptions | undefined {\n\t\treturn options == null || options === true ? undefined : options;\n\t}\n\n\tprotected deleteData(data: UtilGestureData<TARGET>): void {\n\t\tconst target = data.target;\n\t\tif (target) {\n\t\t\tif (this._used.delete(target)) {\n\t\t\t\tdata.target = undefined;\n\t\t\t\tdata.pointers.clear();\n\t\t\t\tthis._unused.push(data);\n\t\t\t}\n\t\t}\n\t}\n\n\tbind(target: TARGET & utils.EventEmitter): this {\n\t\ttarget.on(UtilPointerEvent.down, (e: InteractionEvent): void => {\n\t\t\tthis.onDown(target, e);\n\t\t});\n\t\treturn this;\n\t}\n\n\tprotected isTouch(e: InteractionEvent): boolean {\n\t\tconst oe = e.data.originalEvent;\n\t\tif (\"touches\" in oe) {\n\t\t\treturn true;\n\t\t} else if (\"pointerId\" in oe) {\n\t\t\treturn oe.pointerType !== \"mouse\";\n\t\t} else {\n\t\t\treturn false;\n\t\t}\n\t}\n\n\tonDown(target: TARGET, e: InteractionEvent): void {\n\t\tif (this._touch && !this.isTouch(e)) {\n\t\t\treturn;\n\t\t}\n\t\tif (!this._checkerStart(e, this._modifier, target)) {\n\t\t\treturn;\n\t\t}\n\t\tconst layer = DApplications.getLayer(target);\n\t\tif (layer == null) {\n\t\t\treturn;\n\t\t}\n\n\t\te.stopPropagation();\n\t\tif (target.state.isGesturing) {\n\t\t\tthis._used.get(target)?.start(e);\n\t\t} else {\n\t\t\t// User-defined handler\n\t\t\tconst onStart = this._onStart;\n\t\t\tif (onStart != null) {\n\t\t\t\tonStart(target);\n\t\t\t}\n\n\t\t\tconst data = this.newData(target);\n\t\t\tdata.target = target;\n\t\t\ttarget.state.isGesturing = true;\n\n\t\t\t// Interaction manager\n\t\t\tconst interactionManager = layer.renderer.plugins.interaction;\n\t\t\tdata.interactionManager = interactionManager;\n\n\t\t\t// Update the center\n\t\t\tdata.start(e);\n\n\t\t\t// Easing util\n\t\t\tconst easing = data.easing;\n\t\t\tif (easing) {\n\t\t\t\teasing.onStart();\n\t\t\t}\n\n\t\t\t// Event handler\n\t\t\tdata.bind(e);\n\t\t}\n\t}\n\n\tprotected newOnMove(data: UtilGestureData<TARGET>): (e: InteractionEvent) => void {\n\t\treturn (e: InteractionEvent): void => {\n\t\t\tthis.onMove(e, data);\n\t\t};\n\t}\n\n\tprotected newOnEnd(data: UtilGestureData<TARGET>): (e: InteractionEvent) => void {\n\t\treturn (e: InteractionEvent): void => {\n\t\t\tthis.onEnd(e, data);\n\t\t};\n\t}\n\n\tprotected onMove(e: InteractionEvent, data: UtilGestureData<TARGET>): void {\n\t\tconst target = data.target;\n\t\tif (target == null || !target.state.isGesturing) {\n\t\t\treturn;\n\t\t}\n\t\tif (!data.isUpdatable(e) || !this._checkerMove(e, this._modifier, target)) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Update the center\n\t\tconst center = data.center;\n\t\tconst oldCenterX = center.x;\n\t\tconst oldCenterY = center.y;\n\t\tconst oldScale = data.scale;\n\t\tconst oldTime = data.time;\n\t\tdata.update(e);\n\t\tconst newCenterX = center.x;\n\t\tconst newCenterY = center.y;\n\t\tconst newScale = data.scale;\n\t\tconst newTime = data.time;\n\n\t\t// Calculate the position\n\t\tconst dx = newCenterX - oldCenterX;\n\t\tconst dy = newCenterY - oldCenterY;\n\t\tconst dt = newTime - oldTime;\n\t\tconst epsilon = 0.00001;\n\t\tconst ds = epsilon < oldScale && epsilon < newScale ? newScale / oldScale : 1;\n\n\t\t// Easing\n\t\tconst easing = data.easing;\n\t\tif (easing) {\n\t\t\teasing.onMove(dx, dy, ds, dt);\n\t\t}\n\n\t\t// Call the user-defined handler\n\t\tconst onMove = this._onMove;\n\t\tif (onMove != null) {\n\t\t\tif (dx !== 0 || dy !== 0 || ds !== 1) {\n\t\t\t\tonMove(target, dx, dy, newCenterX, newCenterY, ds);\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected onEnd(e: InteractionEvent, data: UtilGestureData<TARGET>): void {\n\t\tconst target = data.target;\n\t\tif (target == null || !target.state.isGesturing) {\n\t\t\treturn;\n\t\t}\n\t\tif (!data.end(e)) {\n\t\t\treturn;\n\t\t}\n\n\t\t// State\n\t\ttarget.state.isGesturing = false;\n\n\t\t// Remove event handlers\n\t\tconst interactionManager = data.interactionManager;\n\t\tdata.interactionManager = undefined;\n\t\tif (interactionManager) {\n\t\t\tconst onMoveBound = data.onMove;\n\t\t\tif (onMoveBound) {\n\t\t\t\tinteractionManager.off(UtilPointerEvent.move, onMoveBound);\n\t\t\t}\n\t\t\tconst onEndBound = data.onEnd;\n\t\t\tif (onEndBound) {\n\t\t\t\tinteractionManager.off(UtilPointerEvent.up, onEndBound);\n\t\t\t\tinteractionManager.off(UtilPointerEvent.cancel, onEndBound);\n\t\t\t}\n\t\t}\n\n\t\t// Call the user-defined handler\n\t\tconst onEnd = this._onEnd;\n\t\tif (onEnd != null) {\n\t\t\tonEnd(target);\n\t\t}\n\n\t\t// Start the Easing\n\t\tconst onEasingStart = this._onEasingStart;\n\t\tif (onEasingStart) {\n\t\t\tonEasingStart(data.target!);\n\t\t}\n\t\tconst easing = data.easing;\n\t\tif (easing) {\n\t\t\teasing.onEnd(e.data.originalEvent.timeStamp - data.time);\n\t\t} else {\n\t\t\tthis.deleteData(data);\n\t\t\tconst onEasingEnd = this._onEasingEnd;\n\t\t\tif (onEasingEnd) {\n\t\t\t\tonEasingEnd(data.target!);\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected onEasingMove(\n\t\tdx: number,\n\t\tdy: number,\n\t\tds: number,\n\t\ttime: number,\n\t\tdata: UtilGestureData<TARGET>\n\t): void {\n\t\tconst target = data.target;\n\t\tif (target == null) {\n\t\t\treturn;\n\t\t}\n\t\tconst onMove = this._onMove;\n\t\tif (onMove == null) {\n\t\t\treturn;\n\t\t}\n\t\tif (dx === 0 && dy === 0 && ds === 1) {\n\t\t\treturn;\n\t\t}\n\t\tconst center = data.center;\n\t\tconst x = center.x + dx;\n\t\tconst y = center.y + dy;\n\t\tcenter.set(x, y);\n\t\tonMove(data.target!, dx, dy, x, y, ds);\n\t}\n\n\tprotected onEasingEnd(data: UtilGestureData<TARGET>): void {\n\t\tconst target = data.target;\n\t\tthis.deleteData(data);\n\t\tconst onEasingEnd = this._onEasingEnd;\n\t\tif (onEasingEnd && target != null) {\n\t\t\tonEasingEnd(target);\n\t\t}\n\t}\n\n\tstop(target: TARGET): void {\n\t\tconst data = this._used.get(target);\n\t\tif (data == null) {\n\t\t\treturn;\n\t\t}\n\t\tdata.easing?.stop();\n\t\tthis.deleteData(data);\n\t\tconst onStop = this._onStop;\n\t\tif (onStop) {\n\t\t\tonStop(target);\n\t\t}\n\t}\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"util-html-element.js","sourceRoot":"","sources":["../../../../src/main/typescript/wcardinal/ui/util/util-html-element.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { interaction, Matrix, Point, Rectangle, Renderer } from \"pixi.js\";\nimport { DApplications } from \"../d-applications\";\nimport { DBase } from \"../d-base\";\nimport { DBaseStateSet } from \"../d-base-state-set\";\nimport { DFocusableMightBe } from \"../d-controller-focus\";\nimport { toEnum } from \"./to-enum\";\nimport { UtilHtmlElementClipperEx } from \"./util-html-element-clipper-ex\";\nimport { UtilHtmlElementClipperExImpl } from \"./util-html-element-clipper-ex-impl\";\nimport { UtilHtmlElementClipperExRects } from \"./util-html-element-clipper-ex-rects\";\nimport { UtilHtmlElementClipperExRectsImpl } from \"./util-html-element-clipper-ex-rects-impl\";\nimport { UtilHtmlElementWhen } from \"./util-html-element-when\";\n\nexport interface UtilHtmlElementPaddingLTRB {\n\tgetLeft(): number;\n\tgetTop(): number;\n\tgetRight(): number;\n\tgetBottom(): number;\n}\n\nexport interface UtilHtmlElementPaddingVH {\n\treadonly horizontal: number;\n\treadonly vertical: number;\n}\n\nexport type UtilHtmlElementPadding = UtilHtmlElementPaddingVH | UtilHtmlElementPaddingLTRB;\n\nexport type UtilHtmlElementCreator<T extends HTMLElement> = (container: HTMLElement) => T | null;\nexport type UtilHtmlElementStyler<T extends HTMLElement> = (\n\ttarget: T,\n\tstate: DBaseStateSet,\n\tpadding: UtilHtmlElementPadding | null,\n\telementRect: Rectangle | null,\n\telementMatrix: Matrix | null,\n\tclipperRect: Rectangle | null,\n\tclipperEx: UtilHtmlElementClipperEx | null | undefined\n) => void;\n\nexport type UtilHtmlElementStylerBefore = (target: HTMLDivElement) => void;\nexport type UtilHtmlElementStylerAfter = (target: HTMLDivElement) => void;\nexport type UtilHtmlElementToRect = (\n\tresolution: number,\n\twork: Point,\n\tresult: Rectangle\n) => Rectangle | null;\nexport type UtilHtmlElementToMatrix = () => Matrix | null;\n\nexport interface UtilHtmlElementElementOptions<ELEMENT extends HTMLElement> {\n\tcreator?: UtilHtmlElementCreator<ELEMENT>;\n\tstyler?: UtilHtmlElementStyler<ELEMENT>;\n}\n\nexport interface UtilHtmlElementClipperOptions {\n\tcreator?: UtilHtmlElementCreator<HTMLDivElement>;\n\tstyler?: UtilHtmlElementStyler<HTMLDivElement>;\n\textended?: boolean;\n}\n\nexport interface UtilHtmlElementBeforeOptions {\n\tcreator?: UtilHtmlElementCreator<HTMLDivElement>;\n\tstyler?: UtilHtmlElementStylerBefore;\n}\n\nexport interface UtilHtmlElementAfterOptions {\n\tcreator?: UtilHtmlElementCreator<HTMLDivElement>;\n\tstyler?: UtilHtmlElementStylerAfter;\n}\n\nexport interface UtilHtmlElementOptions<ELEMENT extends HTMLElement = HTMLElement> {\n\telement?: UtilHtmlElementElementOptions<ELEMENT>;\n\tclipper?: UtilHtmlElementClipperOptions;\n\tbefore?: UtilHtmlElementBeforeOptions;\n\tafter?: UtilHtmlElementAfterOptions;\n\twhen?: UtilHtmlElementWhen | keyof typeof UtilHtmlElementWhen;\n\tselect?: boolean;\n}\n\nexport interface UtilThemeHtmlElement<ELEMENT extends HTMLElement> {\n\tgetElementCreator(): UtilHtmlElementCreator<ELEMENT>;\n\tsetElementStyle(\n\t\ttarget: ELEMENT,\n\t\tstate: DBaseStateSet,\n\t\tpadding: UtilHtmlElementPadding | null,\n\t\telementRect: Rectangle | null,\n\t\telementMatrix: Matrix | null,\n\t\tclipperRect: Rectangle | null,\n\t\tclipperEx: UtilHtmlElementClipperEx | null | undefined\n\t): void;\n\tgetClipperCreator(): UtilHtmlElementCreator<HTMLDivElement>;\n\tsetClipperStyle(\n\t\ttarget: HTMLDivElement,\n\t\tstate: DBaseStateSet,\n\t\tpadding: UtilHtmlElementPadding | null,\n\t\telementRect: Rectangle | null,\n\t\telementMatrix: Matrix | null,\n\t\tclipperRect: Rectangle | null,\n\t\tclipperEx: UtilHtmlElementClipperEx | null | undefined\n\t): void;\n\tisClipperExEnabled(): boolean;\n\tgetBeforeCreator(): UtilHtmlElementCreator<HTMLDivElement>;\n\tsetBeforeStyle(target: HTMLDivElement): void;\n\tgetAfterCreator(): UtilHtmlElementCreator<HTMLDivElement>;\n\tsetAfterStyle(target: HTMLDivElement): void;\n\tgetWhen(): UtilHtmlElementWhen;\n\tgetSelect(): boolean;\n}\n\nexport interface UtilHtmlElementElementData<ELEMENT extends HTMLElement> {\n\tcreator: UtilHtmlElementCreator<ELEMENT>;\n\tstyler: UtilHtmlElementStyler<ELEMENT>;\n}\n\nexport interface UtilHtmlElementClipperData {\n\tcreator: UtilHtmlElementCreator<HTMLDivElement>;\n\tstyler: UtilHtmlElementStyler<HTMLDivElement>;\n\textended: boolean;\n}\n\nexport interface UtilHtmlElementBeforeData {\n\tcreator: UtilHtmlElementCreator<HTMLDivElement>;\n\tstyler: UtilHtmlElementStylerBefore;\n}\n\nexport interface UtilHtmlElementAfterData {\n\tcreator: UtilHtmlElementCreator<HTMLDivElement>;\n\tstyler: UtilHtmlElementStylerAfter;\n}\n\nexport interface UtilHtmlElementData<ELEMENT extends HTMLElement = HTMLElement> {\n\telement: UtilHtmlElementElementData<ELEMENT>;\n\tclipper: UtilHtmlElementClipperData;\n\tbefore: UtilHtmlElementBeforeData;\n\tafter: UtilHtmlElementAfterData;\n\twhen: UtilHtmlElementWhen;\n\tselect: boolean;\n}\n\nexport interface UtilHtmlElementTarget extends DFocusableMightBe {\n\treadonly state: DBaseStateSet;\n\treadonly cursor?: string;\n\treadonly worldVisible: boolean;\n\n\tfocus(): void;\n}\n\nexport interface UtilHtmlElementOperation<ELEMENT extends HTMLElement> {\n\tgetElementRect(resolution: number, work: Point, result: Rectangle): Rectangle | null;\n\tgetElementMatrix(): Matrix | null;\n\tgetClipperRect(resolution: number, work: Point, result: Rectangle): Rectangle | null;\n\tgetClipperExRects?(result: UtilHtmlElementClipperExRects): void;\n\tgetPadding(): UtilHtmlElementPadding | null;\n\tcontainsPoint(point: Point): boolean;\n\tonStart(): void;\n\tonCancel(): void;\n\tonEnd(): void;\n}\n\nexport class UtilHtmlElement<\n\tELEMENT extends HTMLElement = HTMLElement,\n\tTARGET extends UtilHtmlElementTarget = UtilHtmlElementTarget,\n\tOPERATION extends UtilHtmlElementOperation<ELEMENT> = UtilHtmlElementOperation<ELEMENT>,\n\tTHEME extends UtilThemeHtmlElement<ELEMENT> = UtilThemeHtmlElement<ELEMENT>,\n\tOPTIONS extends UtilHtmlElementOptions<ELEMENT> = UtilHtmlElementOptions<ELEMENT>\n> {\n\tprotected _target: TARGET;\n\tprotected _operation: OPERATION;\n\tprotected _data: UtilHtmlElementData<ELEMENT>;\n\n\tprotected _point?: Point;\n\n\tprotected _clipper?: HTMLDivElement | null;\n\tprotected _clipperRectResult?: Rectangle;\n\n\tprotected _clipperEx?: UtilHtmlElementClipperEx | null;\n\tprotected _clipperExRects?: UtilHtmlElementClipperExRects | null;\n\n\tprotected _element?: ELEMENT | null;\n\tprotected _elementRectResult?: Rectangle;\n\tprotected _isElementShown: boolean;\n\tprotected _onElementFocusBound: (e: FocusEvent) => void;\n\n\tprotected _before?: HTMLDivElement | null;\n\tprotected _onBeforeFocusBound: (e: FocusEvent) => void;\n\n\tprotected _after?: HTMLDivElement | null;\n\tprotected _onAfterFocusBound!: (e: FocusEvent) => void;\n\n\tprotected _isStarted: boolean;\n\tprotected _wasStarted: boolean;\n\tprotected _doSelectBound: () => void;\n\tprotected _isStartRequested: boolean;\n\n\tprotected _rendererBound?: Renderer;\n\tprotected _onPostRenderBound: () => void;\n\n\tconstructor(target: TARGET, operation: OPERATION, theme: THEME, options?: OPTIONS) {\n\t\tthis._target = target;\n\t\tthis._operation = operation;\n\t\tconst data = this.toData(theme, options);\n\t\tthis._data = data;\n\n\t\tthis._isElementShown = false;\n\t\tthis._onElementFocusBound = (e: FocusEvent): void => {\n\t\t\tthis.onElementFocus(e);\n\t\t};\n\n\t\tthis._onBeforeFocusBound = (e: FocusEvent): void => {\n\t\t\tthis.onBeforeFocus(e);\n\t\t};\n\n\t\tthis._onAfterFocusBound = (e: FocusEvent): void => {\n\t\t\tthis.onAfterFocus(e);\n\t\t};\n\n\t\tthis._isStarted = false;\n\t\tthis._wasStarted = false;\n\t\tthis._doSelectBound = () => {\n\t\t\tthis.doSelect();\n\t\t};\n\t\tthis._isStartRequested = this._data.when === UtilHtmlElementWhen.ALWAYS;\n\t\tthis._onPostRenderBound = () => {\n\t\t\tthis.updateElement(this._rendererBound!);\n\t\t};\n\t}\n\n\tprotected toData(theme: THEME, options?: OPTIONS): UtilHtmlElementData<ELEMENT> {\n\t\treturn {\n\t\t\telement: this.toElementData(theme, options?.element),\n\t\t\tclipper: this.toClipperData(theme, options?.clipper),\n\t\t\tbefore: this.toBeforeData(theme, options?.before),\n\t\t\tafter: this.toAfterData(theme, options?.after),\n\t\t\twhen: toEnum(options?.when ?? theme.getWhen(), UtilHtmlElementWhen),\n\t\t\tselect: options?.select ?? theme.getSelect()\n\t\t};\n\t}\n\n\tprotected toElementData(\n\t\ttheme: THEME,\n\t\toptions?: OPTIONS[\"element\"]\n\t): UtilHtmlElementElementData<ELEMENT> {\n\t\treturn {\n\t\t\tcreator: options?.creator ?? theme.getElementCreator(),\n\t\t\tstyler: options?.styler ?? this.newElementStyler(theme)\n\t\t};\n\t}\n\n\tprotected newElementStyler(theme: THEME) {\n\t\treturn (\n\t\t\ttarget: ELEMENT,\n\t\t\tstate: DBaseStateSet,\n\t\t\tpadding: UtilHtmlElementPadding | null,\n\t\t\telementRect: Rectangle | null,\n\t\t\telementMatrix: Matrix | null,\n\t\t\tclipperRect: Rectangle | null,\n\t\t\tclipperEx: UtilHtmlElementClipperEx | null | undefined\n\t\t): void => {\n\t\t\treturn theme.setElementStyle(\n\t\t\t\ttarget,\n\t\t\t\tstate,\n\t\t\t\tpadding,\n\t\t\t\telementRect,\n\t\t\t\telementMatrix,\n\t\t\t\tclipperRect,\n\t\t\t\tclipperEx\n\t\t\t);\n\t\t};\n\t}\n\n\tprotected toClipperData(\n\t\ttheme: THEME,\n\t\toptions?: OPTIONS[\"clipper\"]\n\t): UtilHtmlElementClipperData {\n\t\treturn {\n\t\t\tcreator: options?.creator ?? theme.getClipperCreator(),\n\t\t\tstyler: options?.styler ?? this.newClipperStyler(theme),\n\t\t\textended: options?.extended ?? theme.isClipperExEnabled()\n\t\t};\n\t}\n\n\tprotected newClipperStyler(theme: THEME) {\n\t\treturn (\n\t\t\ttarget: HTMLDivElement,\n\t\t\tstate: DBaseStateSet,\n\t\t\tpadding: UtilHtmlElementPadding | null,\n\t\t\telementRect: Rectangle | null,\n\t\t\telementMatrix: Matrix | null,\n\t\t\tclipperRect: Rectangle | null,\n\t\t\tclipperEx: UtilHtmlElementClipperEx | null | undefined\n\t\t): void => {\n\t\t\treturn theme.setClipperStyle(\n\t\t\t\ttarget,\n\t\t\t\tstate,\n\t\t\t\tpadding,\n\t\t\t\telementRect,\n\t\t\t\telementMatrix,\n\t\t\t\tclipperRect,\n\t\t\t\tclipperEx\n\t\t\t);\n\t\t};\n\t}\n\n\tprotected toBeforeData(theme: THEME, options?: OPTIONS[\"before\"]): UtilHtmlElementBeforeData {\n\t\treturn {\n\t\t\tcreator: options?.creator ?? theme.getBeforeCreator(),\n\t\t\tstyler: options?.styler ?? this.newBeforeStyler(theme)\n\t\t};\n\t}\n\n\tprotected newBeforeStyler(theme: THEME) {\n\t\treturn (target: HTMLDivElement): void => {\n\t\t\ttheme.setBeforeStyle(target);\n\t\t};\n\t}\n\n\tprotected toAfterData(theme: THEME, options?: OPTIONS[\"after\"]): UtilHtmlElementAfterData {\n\t\treturn {\n\t\t\tcreator: options?.creator ?? theme.getAfterCreator(),\n\t\t\tstyler: options?.styler ?? this.newAfterStyler(theme)\n\t\t};\n\t}\n\n\tprotected newAfterStyler(theme: THEME) {\n\t\treturn (target: HTMLDivElement): void => {\n\t\t\ttheme.setAfterStyle(target);\n\t\t};\n\t}\n\n\tget element(): ELEMENT | null {\n\t\treturn this._element ?? null;\n\t}\n\n\tget when(): UtilHtmlElementWhen {\n\t\treturn this._data.when;\n\t}\n\n\tonDowning(e: interaction.InteractionEvent | KeyboardEvent): void {\n\t\tthis._wasStarted = this._isStarted;\n\t\tswitch (this.when) {\n\t\t\tcase UtilHtmlElementWhen.CLICKED:\n\t\t\t\tthis.start();\n\t\t\t\tbreak;\n\t\t\tcase UtilHtmlElementWhen.FOCUSED:\n\t\t\t\tif (this._target.state.isFocused) {\n\t\t\t\t\tthis.start();\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t}\n\t}\n\n\tonDown(e: interaction.InteractionEvent | KeyboardEvent): void {\n\t\tif (!this._wasStarted && this._isStarted) {\n\t\t\tif (\"data\" in e) {\n\t\t\t\te.data.originalEvent.preventDefault();\n\t\t\t} else {\n\t\t\t\te.preventDefault();\n\t\t\t}\n\t\t}\n\t}\n\n\tonDblClick(\n\t\te: MouseEvent | TouchEvent | KeyboardEvent,\n\t\tinteractionManager: interaction.InteractionManager\n\t): void {\n\t\tswitch (this.when) {\n\t\t\tcase UtilHtmlElementWhen.DOUBLE_CLICKED:\n\t\t\t\tthis.start();\n\t\t\t\tbreak;\n\t\t}\n\t}\n\n\tonFocus(): void {\n\t\tswitch (this.when) {\n\t\t\tcase UtilHtmlElementWhen.FOCUSED:\n\t\t\t\tthis.start();\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tthis._element?.focus();\n\t\t\t\tbreak;\n\t\t}\n\t}\n\n\tonBlur(): void {\n\t\tswitch (this.when) {\n\t\t\tcase UtilHtmlElementWhen.CLICKED:\n\t\t\tcase UtilHtmlElementWhen.DOUBLE_CLICKED:\n\t\t\tcase UtilHtmlElementWhen.FOCUSED:\n\t\t\t\tthis.onEndByBlur();\n\t\t\t\tthis.cancel();\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tthis._element?.blur();\n\t\t\t\tbreak;\n\t\t}\n\t}\n\n\tisStartable(): boolean {\n\t\tswitch (this.when) {\n\t\t\tcase UtilHtmlElementWhen.CLICKED:\n\t\t\tcase UtilHtmlElementWhen.DOUBLE_CLICKED:\n\t\t\tcase UtilHtmlElementWhen.FOCUSED:\n\t\t\t\treturn this._target.state.isActionable;\n\t\t\tdefault:\n\t\t\t\treturn true;\n\t\t}\n\t}\n\n\tstart(): void {\n\t\tif (!this._isStarted && this.isStartable()) {\n\t\t\tthis._isStarted = true;\n\t\t\tif (this._target.worldVisible) {\n\t\t\t\tthis.doStart();\n\t\t\t} else {\n\t\t\t\tthis._isStartRequested = true;\n\t\t\t}\n\t\t\tDApplications.update(this._target);\n\t\t}\n\t}\n\n\tisShown(): boolean {\n\t\treturn this._isElementShown;\n\t}\n\n\tonRender(renderer: Renderer): void {\n\t\tif (\n\t\t\tthis._isStartRequested ||\n\t\t\t(!this._isElementShown && this.when === UtilHtmlElementWhen.ALWAYS)\n\t\t) {\n\t\t\tthis._isStartRequested = false;\n\t\t\tthis.doStart(renderer);\n\t\t}\n\t\tif (this._isStarted) {\n\t\t\tthis._isStarted = false;\n\t\t}\n\t}\n\n\tprotected getElementRect(resolution: number): Rectangle | null {\n\t\tconst point = this._point || new Point(0, 0);\n\t\tthis._point = point;\n\t\tconst result = this._elementRectResult || new Rectangle();\n\t\tthis._elementRectResult = result;\n\t\treturn this._operation.getElementRect(resolution, point, result);\n\t}\n\n\tprotected getElementMatrix(): Matrix | null {\n\t\treturn this._operation.getElementMatrix();\n\t}\n\n\tprotected getClipperRect(resolution: number): Rectangle | null {\n\t\tconst point = this._point || new Point(0, 0);\n\t\tthis._point = point;\n\t\tconst result = this._clipperRectResult || new Rectangle();\n\t\tthis._clipperRectResult = result;\n\t\treturn this._operation.getClipperRect(resolution, point, result);\n\t}\n\n\tprotected fillClipperExRects(\n\t\tresolution: number,\n\t\tresult: UtilHtmlElementClipperExRects\n\t): boolean {\n\t\tconst operation = this._operation;\n\t\tif (operation.getClipperExRects) {\n\t\t\toperation.getClipperExRects(result);\n\t\t}\n\t\treturn result.isDirty();\n\t}\n\n\tprotected doStart(renderer?: Renderer): void {\n\t\tif (!this._isElementShown) {\n\t\t\tthis._isElementShown = true;\n\n\t\t\tconst rendererBound = this._rendererBound;\n\t\t\tif (rendererBound != null) {\n\t\t\t\tthis._rendererBound = undefined;\n\t\t\t\trendererBound.off(\"postrender\", this._onPostRenderBound);\n\t\t\t}\n\n\t\t\tconst target = this._target;\n\t\t\tif (renderer == null) {\n\t\t\t\trenderer = DApplications.getLayer(target)?.renderer;\n\t\t\t}\n\t\t\tif (renderer) {\n\t\t\t\tthis._rendererBound = renderer;\n\t\t\t\trenderer.on(\"postrender\", this._onPostRenderBound);\n\t\t\t}\n\n\t\t\tthis.onStart();\n\n\t\t\tconst clipper = this.getClipper();\n\t\t\tif (clipper) {\n\t\t\t\tconst before = this.getBefore(clipper);\n\t\t\t\tconst element = this.getElement(clipper);\n\t\t\t\tconst after = this.getAfter(clipper);\n\t\t\t\tconst clipperEx = this.getClipperEx(clipper);\n\t\t\t\tif (element) {\n\t\t\t\t\tconst resolution = renderer?.resolution ?? DApplications.getResolution(target);\n\t\t\t\t\tconst elementRect = this.getElementRect(resolution);\n\t\t\t\t\tconst elementMatrix = this.getElementMatrix();\n\t\t\t\t\tconst clipperRect = this.toClipperRectAdjusted(\n\t\t\t\t\t\telementRect,\n\t\t\t\t\t\telementMatrix,\n\t\t\t\t\t\tthis.getClipperRect(resolution)\n\t\t\t\t\t);\n\t\t\t\t\tconst state = target.state;\n\t\t\t\t\tconst padding = this._operation.getPadding();\n\t\t\t\t\tconst options = this._data;\n\t\t\t\t\toptions.clipper.styler(\n\t\t\t\t\t\tclipper,\n\t\t\t\t\t\tstate,\n\t\t\t\t\t\tpadding,\n\t\t\t\t\t\telementRect,\n\t\t\t\t\t\telementMatrix,\n\t\t\t\t\t\tclipperRect,\n\t\t\t\t\t\tclipperEx\n\t\t\t\t\t);\n\t\t\t\t\toptions.element.styler(\n\t\t\t\t\t\telement,\n\t\t\t\t\t\tstate,\n\t\t\t\t\t\tpadding,\n\t\t\t\t\t\telementRect,\n\t\t\t\t\t\telementMatrix,\n\t\t\t\t\t\tclipperRect,\n\t\t\t\t\t\tclipperEx\n\t\t\t\t\t);\n\t\t\t\t\tif (before) {\n\t\t\t\t\t\toptions.before.styler(before);\n\t\t\t\t\t}\n\t\t\t\t\tif (after) {\n\t\t\t\t\t\toptions.after.styler(after);\n\t\t\t\t\t}\n\t\t\t\t\tthis.onElementAttached(element, before, after);\n\t\t\t\t\tif (clipperEx) {\n\t\t\t\t\t\tconst clipperExRects = this.getClipperExRects();\n\t\t\t\t\t\tif (clipperExRects) {\n\t\t\t\t\t\t\tif (this.fillClipperExRects(resolution, clipperExRects)) {\n\t\t\t\t\t\t\t\tclipperEx.update(elementRect, elementMatrix, clipperExRects);\n\t\t\t\t\t\t\t\tclipperExRects.toClean();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t// Show HTML elements\n\t\t\t\t\tclipper.style.display = \"\";\n\t\t\t\t\tif (state.isFocused) {\n\t\t\t\t\t\tthis.toElementFocused(element);\n\t\t\t\t\t}\n\t\t\t\t\tclipper.scrollTop = 0;\n\t\t\t\t\tclipper.scrollLeft = 0;\n\n\t\t\t\t\t// Select the element if required.\n\t\t\t\t\t// Note that a selecting without the setTimeout causes a key stroke drop on Microsoft Edge.\n\t\t\t\t\tif (this._data.select) {\n\t\t\t\t\t\tsetTimeout(this._doSelectBound, 0);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected toElementFocused(element: ELEMENT): void {\n\t\telement.focus({\n\t\t\tpreventScroll: true\n\t\t});\n\t}\n\n\tprotected onStart(): void {\n\t\tthis._operation.onStart();\n\t}\n\n\tprotected doSelect(): void {\n\t\tconst element = this._element;\n\t\tif (element) {\n\t\t\tif (element instanceof HTMLInputElement || element instanceof HTMLTextAreaElement) {\n\t\t\t\t// The following does not work on mobile devices.\n\t\t\t\t// I think selecting texts on a tap is annoying.\n\t\t\t\t// Therefore, I leave this untouched.\n\t\t\t\telement.select();\n\t\t\t}\n\t\t}\n\t}\n\n\tcancel(): void {\n\t\tif (this._isElementShown) {\n\t\t\tthis._isElementShown = false;\n\n\t\t\tconst rendererBound = this._rendererBound;\n\t\t\tif (rendererBound != null) {\n\t\t\t\tthis._rendererBound = undefined;\n\t\t\t\trendererBound.off(\"postrender\", this._onPostRenderBound);\n\t\t\t}\n\n\t\t\tthis.onCancel();\n\n\t\t\tconst target = this._target;\n\t\t\tconst layer = DApplications.getLayer(target);\n\t\t\tif (layer) {\n\t\t\t\tconst view = layer.view;\n\t\t\t\tswitch (this.when) {\n\t\t\t\t\tcase UtilHtmlElementWhen.CLICKED:\n\t\t\t\t\tcase UtilHtmlElementWhen.DOUBLE_CLICKED:\n\t\t\t\t\tcase UtilHtmlElementWhen.FOCUSED:\n\t\t\t\t\t\tif (document.activeElement === this._element) {\n\t\t\t\t\t\t\tview.focus();\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tconst state = target.state;\n\t\t\t\tconst interactionManager = layer.renderer.plugins.interaction;\n\t\t\t\tif (\n\t\t\t\t\tthis._operation.containsPoint(interactionManager.mouse.global) &&\n\t\t\t\t\t!state.isHovered\n\t\t\t\t) {\n\t\t\t\t\tstate.isHovered = true;\n\t\t\t\t\tview.style.cursor = target.cursor ?? \"\";\n\t\t\t\t}\n\n\t\t\t\tlayer.update();\n\t\t\t}\n\n\t\t\tconst element = this._element;\n\t\t\tif (element != null) {\n\t\t\t\tthis.onElementDetached(element, this._before, this._after);\n\t\t\t}\n\n\t\t\tconst clipper = this._clipper;\n\t\t\tif (clipper != null) {\n\t\t\t\tclipper.style.display = \"none\";\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected onCancel(): void {\n\t\tthis._operation.onCancel();\n\t}\n\n\tprotected onElementAttached(\n\t\telement: ELEMENT,\n\t\tbefore?: HTMLDivElement | null,\n\t\tafter?: HTMLDivElement | null\n\t): void {\n\t\tbefore?.addEventListener(\"focus\", this._onBeforeFocusBound);\n\t\tafter?.addEventListener(\"focus\", this._onAfterFocusBound);\n\t\telement.addEventListener(\"focus\", this._onElementFocusBound, true);\n\t}\n\n\tprotected onElementDetached(\n\t\telement: ELEMENT,\n\t\tbefore?: HTMLDivElement | null,\n\t\tafter?: HTMLDivElement | null\n\t): void {\n\t\tbefore?.removeEventListener(\"focus\", this._onBeforeFocusBound);\n\t\tafter?.removeEventListener(\"focus\", this._onAfterFocusBound);\n\t\telement.removeEventListener(\"focus\", this._onElementFocusBound, true);\n\t}\n\n\tprotected getClipper(): HTMLDivElement | null {\n\t\tlet result = this._clipper;\n\t\tif (result == null) {\n\t\t\tconst layer = DApplications.getLayer(this._target);\n\t\t\tresult = layer ? this._data.clipper.creator(layer.getElementContainer()) : null;\n\t\t\tthis._clipper = result;\n\t\t}\n\t\treturn result;\n\t}\n\n\tprotected getClipperEx(clipper: HTMLDivElement): UtilHtmlElementClipperEx | null {\n\t\tlet result = this._clipperEx;\n\t\tif (result === undefined) {\n\t\t\tconst clipperExRects = this.getClipperExRects();\n\t\t\tif (clipperExRects != null) {\n\t\t\t\tresult = new UtilHtmlElementClipperExImpl(clipper);\n\t\t\t} else {\n\t\t\t\tresult = null;\n\t\t\t}\n\t\t\tthis._clipperEx = result;\n\t\t}\n\t\treturn result;\n\t}\n\n\tprotected getClipperExRects(): UtilHtmlElementClipperExRects | null {\n\t\tlet result = this._clipperExRects;\n\t\tif (result === undefined) {\n\t\t\tif (this._data.clipper.extended) {\n\t\t\t\tresult = new UtilHtmlElementClipperExRectsImpl();\n\t\t\t} else {\n\t\t\t\tresult = null;\n\t\t\t}\n\t\t\tthis._clipperExRects = result;\n\t\t}\n\t\treturn result;\n\t}\n\n\tprotected getElement(clipper: HTMLDivElement): ELEMENT | null {\n\t\tlet result = this._element;\n\t\tif (result == null) {\n\t\t\tresult = this._data.element.creator(clipper);\n\t\t\tthis._element = result;\n\t\t}\n\t\treturn result;\n\t}\n\n\tprotected getBefore(clipper: HTMLDivElement): HTMLDivElement | null {\n\t\tlet result = this._before;\n\t\tif (result == null) {\n\t\t\tresult = this._data.before.creator(clipper);\n\t\t\tthis._before = result;\n\t\t}\n\t\treturn result;\n\t}\n\n\tprotected getAfter(clipper: HTMLDivElement): HTMLDivElement | null {\n\t\tlet result = this._after;\n\t\tif (result == null) {\n\t\t\tresult = this._data.after.creator(clipper);\n\t\t\tthis._after = result;\n\t\t}\n\t\treturn result;\n\t}\n\n\tprotected onBeforeFocus(e: FocusEvent): void {\n\t\tconst target = this._target;\n\t\tconst layer = DApplications.getLayer(target);\n\t\tif (layer) {\n\t\t\tconst focusController = layer.getFocusController();\n\t\t\tconst focusable = focusController.find(target, false, false, false);\n\t\t\tlayer.view.focus();\n\t\t\tfocusController.focus(focusable);\n\t\t\te.preventDefault();\n\t\t\te.stopImmediatePropagation();\n\t\t}\n\t}\n\n\tprotected onAfterFocus(e: FocusEvent): void {\n\t\tconst target = this._target;\n\t\tconst layer = DApplications.getLayer(target);\n\t\tif (layer) {\n\t\t\tconst focusController = layer.getFocusController();\n\t\t\tconst focusable = focusController.find(target, false, false, true);\n\t\t\tlayer.view.focus();\n\t\t\tfocusController.focus(focusable);\n\t\t\te.preventDefault();\n\t\t\te.stopImmediatePropagation();\n\t\t}\n\t}\n\n\tprotected onElementFocus(e: FocusEvent): void {\n\t\tif (this.when === UtilHtmlElementWhen.ALWAYS) {\n\t\t\tconst target = this._target;\n\t\t\tif (!target.state.isFocused) {\n\t\t\t\ttarget.focus();\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected onEndByBlur(): void {\n\t\tthis.onEnd();\n\t}\n\n\tprotected onEnd(): void {\n\t\tthis._operation.onEnd();\n\t}\n\n\tend(): void {\n\t\tthis.onEnd();\n\t\tthis.cancel();\n\t}\n\n\tselect(): this {\n\t\tif (this._isElementShown && this._data.select) {\n\t\t\tthis.doSelect();\n\t\t}\n\t\treturn this;\n\t}\n\n\tprotected toClipperRectAdjusted(\n\t\telementRect: Rectangle | null,\n\t\telementMatrix: Matrix | null,\n\t\tclipperRect: Rectangle | null\n\t): Rectangle | null {\n\t\tif (clipperRect && elementRect && elementMatrix == null) {\n\t\t\tconst ex0 = elementRect.x;\n\t\t\tconst ey0 = elementRect.y;\n\t\t\tconst ex1 = ex0 + elementRect.width;\n\t\t\tconst ey1 = ey0 + elementRect.height;\n\t\t\tconst cx0 = clipperRect.x;\n\t\t\tconst cy0 = clipperRect.y;\n\t\t\tconst cx1 = cx0 + clipperRect.width;\n\t\t\tconst cy1 = cy0 + clipperRect.height;\n\t\t\tconst ncx0 = Math.min(Math.max(cx0, ex0), cx1);\n\t\t\tconst ncx1 = Math.min(Math.max(cx0, ex1), cx1);\n\t\t\tconst ncy0 = Math.min(Math.max(cy0, ey0), cy1);\n\t\t\tconst ncy1 = Math.min(Math.max(cy0, ey1), cy1);\n\t\t\tclipperRect.x = ncx0;\n\t\t\tclipperRect.y = ncy0;\n\t\t\tclipperRect.width = ncx1 - ncx0;\n\t\t\tclipperRect.height = ncy1 - ncy0;\n\t\t}\n\t\treturn clipperRect;\n\t}\n\n\tprotected updateElement(renderer: Renderer): void {\n\t\tif (this._isElementShown) {\n\t\t\tconst target = this._target;\n\t\t\tif (target.worldVisible) {\n\t\t\t\tconst element = this._element;\n\t\t\t\tconst clipper = this._clipper;\n\t\t\t\tconst clipperEx = this._clipperEx;\n\t\t\t\tif (element && clipper) {\n\t\t\t\t\tconst resolution = renderer.resolution;\n\t\t\t\t\tconst elementRect = this.getElementRect(resolution);\n\t\t\t\t\tconst elementMatrix = this.getElementMatrix();\n\t\t\t\t\tconst clipperRect = this.toClipperRectAdjusted(\n\t\t\t\t\t\telementRect,\n\t\t\t\t\t\telementMatrix,\n\t\t\t\t\t\tthis.getClipperRect(resolution)\n\t\t\t\t\t);\n\t\t\t\t\tconst state = target.state;\n\t\t\t\t\tconst padding = this._operation.getPadding();\n\t\t\t\t\tconst options = this._data;\n\t\t\t\t\toptions.clipper.styler(\n\t\t\t\t\t\tclipper,\n\t\t\t\t\t\tstate,\n\t\t\t\t\t\tpadding,\n\t\t\t\t\t\telementRect,\n\t\t\t\t\t\telementMatrix,\n\t\t\t\t\t\tclipperRect,\n\t\t\t\t\t\tclipperEx\n\t\t\t\t\t);\n\t\t\t\t\toptions.element.styler(\n\t\t\t\t\t\telement,\n\t\t\t\t\t\tstate,\n\t\t\t\t\t\tpadding,\n\t\t\t\t\t\telementRect,\n\t\t\t\t\t\telementMatrix,\n\t\t\t\t\t\tclipperRect,\n\t\t\t\t\t\tclipperEx\n\t\t\t\t\t);\n\t\t\t\t\tif (clipperEx) {\n\t\t\t\t\t\tconst clipperExRects = this.getClipperExRects();\n\t\t\t\t\t\tif (clipperExRects) {\n\t\t\t\t\t\t\tif (this.fillClipperExRects(resolution, clipperExRects)) {\n\t\t\t\t\t\t\t\tclipperEx.update(elementRect, elementMatrix, clipperExRects);\n\t\t\t\t\t\t\t\tclipperExRects.toClean();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tswitch (this.when) {\n\t\t\t\t\tcase UtilHtmlElementWhen.ALWAYS:\n\t\t\t\t\t\tconst clipper = this._clipper;\n\t\t\t\t\t\tif (clipper) {\n\t\t\t\t\t\t\tclipper.style.display = \"none\";\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tthis.cancel();\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tstatic getClipperRect(\n\t\tparent: unknown,\n\t\ttarget: unknown,\n\t\tresolution: number,\n\t\tpoint: Point,\n\t\tresult: Rectangle\n\t): Rectangle | null {\n\t\tlet isFirst = true;\n\n\t\tlet x0 = 0;\n\t\tlet y0 = 0;\n\t\tlet x1 = 0;\n\t\tlet y1 = 0;\n\n\t\tlet current = parent;\n\t\twhile (current instanceof DBase) {\n\t\t\tcurrent.getClippingRect(target, result);\n\n\t\t\tpoint.set(result.x, result.y);\n\t\t\tcurrent.toGlobal(point, point, false);\n\t\t\tconst cx0 = ((point.x * resolution) | 0) / resolution;\n\t\t\tconst cy0 = ((point.y * resolution) | 0) / resolution;\n\n\t\t\tpoint.set(result.x + result.width, result.y + result.height);\n\t\t\tcurrent.toGlobal(point, point, true);\n\t\t\tconst cx1 = point.x;\n\t\t\tconst cy1 = point.y;\n\n\t\t\tconst dx0 = Math.min(cx0, cx1);\n\t\t\tconst dy0 = Math.min(cy0, cy1);\n\t\t\tconst dx1 = Math.max(cx0, cx1);\n\t\t\tconst dy1 = Math.max(cy0, cy1);\n\n\t\t\tif (isFirst) {\n\t\t\t\tisFirst = false;\n\t\t\t\tx0 = dx0;\n\t\t\t\ty0 = dy0;\n\t\t\t\tx1 = dx1;\n\t\t\t\ty1 = dy1;\n\t\t\t} else {\n\t\t\t\tx0 = Math.min(Math.max(x0, dx0), dx1);\n\t\t\t\ty0 = Math.min(Math.max(y0, dy0), dy1);\n\t\t\t\tx1 = Math.min(Math.max(x1, dx0), dx1);\n\t\t\t\ty1 = Math.min(Math.max(y1, dy0), dy1);\n\t\t\t}\n\n\t\t\tcurrent = current.parent;\n\t\t}\n\n\t\tif (isFirst) {\n\t\t\treturn null;\n\t\t}\n\n\t\tresult.x = x0;\n\t\tresult.y = y0;\n\t\tresult.width = x1 - x0;\n\t\tresult.height = y1 - y0;\n\t\treturn result;\n\t}\n}\n"]}
1
+ {"version":3,"file":"util-html-element.js","sourceRoot":"","sources":["../../../../src/main/typescript/wcardinal/ui/util/util-html-element.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { InteractionEvent, InteractionManager, Matrix, Point, Rectangle, Renderer } from \"pixi.js\";\nimport { DApplications } from \"../d-applications\";\nimport { DBase } from \"../d-base\";\nimport { DBaseStateSet } from \"../d-base-state-set\";\nimport { DFocusableMightBe } from \"../d-controller-focus\";\nimport { toEnum } from \"./to-enum\";\nimport { UtilHtmlElementClipperEx } from \"./util-html-element-clipper-ex\";\nimport { UtilHtmlElementClipperExImpl } from \"./util-html-element-clipper-ex-impl\";\nimport { UtilHtmlElementClipperExRects } from \"./util-html-element-clipper-ex-rects\";\nimport { UtilHtmlElementClipperExRectsImpl } from \"./util-html-element-clipper-ex-rects-impl\";\nimport { UtilHtmlElementWhen } from \"./util-html-element-when\";\n\nexport interface UtilHtmlElementPaddingLTRB {\n\tgetLeft(): number;\n\tgetTop(): number;\n\tgetRight(): number;\n\tgetBottom(): number;\n}\n\nexport interface UtilHtmlElementPaddingVH {\n\treadonly horizontal: number;\n\treadonly vertical: number;\n}\n\nexport type UtilHtmlElementPadding = UtilHtmlElementPaddingVH | UtilHtmlElementPaddingLTRB;\n\nexport type UtilHtmlElementCreator<T extends HTMLElement> = (container: HTMLElement) => T | null;\nexport type UtilHtmlElementStyler<T extends HTMLElement> = (\n\ttarget: T,\n\tstate: DBaseStateSet,\n\tpadding: UtilHtmlElementPadding | null,\n\telementRect: Rectangle | null,\n\telementMatrix: Matrix | null,\n\tclipperRect: Rectangle | null,\n\tclipperEx: UtilHtmlElementClipperEx | null | undefined\n) => void;\n\nexport type UtilHtmlElementStylerBefore = (target: HTMLDivElement) => void;\nexport type UtilHtmlElementStylerAfter = (target: HTMLDivElement) => void;\nexport type UtilHtmlElementToRect = (\n\tresolution: number,\n\twork: Point,\n\tresult: Rectangle\n) => Rectangle | null;\nexport type UtilHtmlElementToMatrix = () => Matrix | null;\n\nexport interface UtilHtmlElementElementOptions<ELEMENT extends HTMLElement> {\n\tcreator?: UtilHtmlElementCreator<ELEMENT>;\n\tstyler?: UtilHtmlElementStyler<ELEMENT>;\n}\n\nexport interface UtilHtmlElementClipperOptions {\n\tcreator?: UtilHtmlElementCreator<HTMLDivElement>;\n\tstyler?: UtilHtmlElementStyler<HTMLDivElement>;\n\textended?: boolean;\n}\n\nexport interface UtilHtmlElementBeforeOptions {\n\tcreator?: UtilHtmlElementCreator<HTMLDivElement>;\n\tstyler?: UtilHtmlElementStylerBefore;\n}\n\nexport interface UtilHtmlElementAfterOptions {\n\tcreator?: UtilHtmlElementCreator<HTMLDivElement>;\n\tstyler?: UtilHtmlElementStylerAfter;\n}\n\nexport interface UtilHtmlElementOptions<ELEMENT extends HTMLElement = HTMLElement> {\n\telement?: UtilHtmlElementElementOptions<ELEMENT>;\n\tclipper?: UtilHtmlElementClipperOptions;\n\tbefore?: UtilHtmlElementBeforeOptions;\n\tafter?: UtilHtmlElementAfterOptions;\n\twhen?: UtilHtmlElementWhen | keyof typeof UtilHtmlElementWhen;\n\tselect?: boolean;\n}\n\nexport interface UtilThemeHtmlElement<ELEMENT extends HTMLElement> {\n\tgetElementCreator(): UtilHtmlElementCreator<ELEMENT>;\n\tsetElementStyle(\n\t\ttarget: ELEMENT,\n\t\tstate: DBaseStateSet,\n\t\tpadding: UtilHtmlElementPadding | null,\n\t\telementRect: Rectangle | null,\n\t\telementMatrix: Matrix | null,\n\t\tclipperRect: Rectangle | null,\n\t\tclipperEx: UtilHtmlElementClipperEx | null | undefined\n\t): void;\n\tgetClipperCreator(): UtilHtmlElementCreator<HTMLDivElement>;\n\tsetClipperStyle(\n\t\ttarget: HTMLDivElement,\n\t\tstate: DBaseStateSet,\n\t\tpadding: UtilHtmlElementPadding | null,\n\t\telementRect: Rectangle | null,\n\t\telementMatrix: Matrix | null,\n\t\tclipperRect: Rectangle | null,\n\t\tclipperEx: UtilHtmlElementClipperEx | null | undefined\n\t): void;\n\tisClipperExEnabled(): boolean;\n\tgetBeforeCreator(): UtilHtmlElementCreator<HTMLDivElement>;\n\tsetBeforeStyle(target: HTMLDivElement): void;\n\tgetAfterCreator(): UtilHtmlElementCreator<HTMLDivElement>;\n\tsetAfterStyle(target: HTMLDivElement): void;\n\tgetWhen(): UtilHtmlElementWhen;\n\tgetSelect(): boolean;\n}\n\nexport interface UtilHtmlElementElementData<ELEMENT extends HTMLElement> {\n\tcreator: UtilHtmlElementCreator<ELEMENT>;\n\tstyler: UtilHtmlElementStyler<ELEMENT>;\n}\n\nexport interface UtilHtmlElementClipperData {\n\tcreator: UtilHtmlElementCreator<HTMLDivElement>;\n\tstyler: UtilHtmlElementStyler<HTMLDivElement>;\n\textended: boolean;\n}\n\nexport interface UtilHtmlElementBeforeData {\n\tcreator: UtilHtmlElementCreator<HTMLDivElement>;\n\tstyler: UtilHtmlElementStylerBefore;\n}\n\nexport interface UtilHtmlElementAfterData {\n\tcreator: UtilHtmlElementCreator<HTMLDivElement>;\n\tstyler: UtilHtmlElementStylerAfter;\n}\n\nexport interface UtilHtmlElementData<ELEMENT extends HTMLElement = HTMLElement> {\n\telement: UtilHtmlElementElementData<ELEMENT>;\n\tclipper: UtilHtmlElementClipperData;\n\tbefore: UtilHtmlElementBeforeData;\n\tafter: UtilHtmlElementAfterData;\n\twhen: UtilHtmlElementWhen;\n\tselect: boolean;\n}\n\nexport interface UtilHtmlElementTarget extends DFocusableMightBe {\n\treadonly state: DBaseStateSet;\n\treadonly cursor?: string;\n\treadonly worldVisible: boolean;\n\n\tfocus(): void;\n}\n\nexport interface UtilHtmlElementOperation<ELEMENT extends HTMLElement> {\n\tgetElementRect(resolution: number, work: Point, result: Rectangle): Rectangle | null;\n\tgetElementMatrix(): Matrix | null;\n\tgetClipperRect(resolution: number, work: Point, result: Rectangle): Rectangle | null;\n\tgetClipperExRects?(result: UtilHtmlElementClipperExRects): void;\n\tgetPadding(): UtilHtmlElementPadding | null;\n\tcontainsPoint(point: Point): boolean;\n\tonStart(): void;\n\tonCancel(): void;\n\tonEnd(): void;\n}\n\nexport class UtilHtmlElement<\n\tELEMENT extends HTMLElement = HTMLElement,\n\tTARGET extends UtilHtmlElementTarget = UtilHtmlElementTarget,\n\tOPERATION extends UtilHtmlElementOperation<ELEMENT> = UtilHtmlElementOperation<ELEMENT>,\n\tTHEME extends UtilThemeHtmlElement<ELEMENT> = UtilThemeHtmlElement<ELEMENT>,\n\tOPTIONS extends UtilHtmlElementOptions<ELEMENT> = UtilHtmlElementOptions<ELEMENT>\n> {\n\tprotected _target: TARGET;\n\tprotected _operation: OPERATION;\n\tprotected _data: UtilHtmlElementData<ELEMENT>;\n\n\tprotected _point?: Point;\n\n\tprotected _clipper?: HTMLDivElement | null;\n\tprotected _clipperRectResult?: Rectangle;\n\n\tprotected _clipperEx?: UtilHtmlElementClipperEx | null;\n\tprotected _clipperExRects?: UtilHtmlElementClipperExRects | null;\n\n\tprotected _element?: ELEMENT | null;\n\tprotected _elementRectResult?: Rectangle;\n\tprotected _isElementShown: boolean;\n\tprotected _onElementFocusBound: (e: FocusEvent) => void;\n\n\tprotected _before?: HTMLDivElement | null;\n\tprotected _onBeforeFocusBound: (e: FocusEvent) => void;\n\n\tprotected _after?: HTMLDivElement | null;\n\tprotected _onAfterFocusBound!: (e: FocusEvent) => void;\n\n\tprotected _isStarted: boolean;\n\tprotected _wasStarted: boolean;\n\tprotected _doSelectBound: () => void;\n\tprotected _isStartRequested: boolean;\n\n\tprotected _rendererBound?: Renderer;\n\tprotected _onPostRenderBound: () => void;\n\n\tconstructor(target: TARGET, operation: OPERATION, theme: THEME, options?: OPTIONS) {\n\t\tthis._target = target;\n\t\tthis._operation = operation;\n\t\tconst data = this.toData(theme, options);\n\t\tthis._data = data;\n\n\t\tthis._isElementShown = false;\n\t\tthis._onElementFocusBound = (e: FocusEvent): void => {\n\t\t\tthis.onElementFocus(e);\n\t\t};\n\n\t\tthis._onBeforeFocusBound = (e: FocusEvent): void => {\n\t\t\tthis.onBeforeFocus(e);\n\t\t};\n\n\t\tthis._onAfterFocusBound = (e: FocusEvent): void => {\n\t\t\tthis.onAfterFocus(e);\n\t\t};\n\n\t\tthis._isStarted = false;\n\t\tthis._wasStarted = false;\n\t\tthis._doSelectBound = () => {\n\t\t\tthis.doSelect();\n\t\t};\n\t\tthis._isStartRequested = this._data.when === UtilHtmlElementWhen.ALWAYS;\n\t\tthis._onPostRenderBound = () => {\n\t\t\tthis.updateElement(this._rendererBound!);\n\t\t};\n\t}\n\n\tprotected toData(theme: THEME, options?: OPTIONS): UtilHtmlElementData<ELEMENT> {\n\t\treturn {\n\t\t\telement: this.toElementData(theme, options?.element),\n\t\t\tclipper: this.toClipperData(theme, options?.clipper),\n\t\t\tbefore: this.toBeforeData(theme, options?.before),\n\t\t\tafter: this.toAfterData(theme, options?.after),\n\t\t\twhen: toEnum(options?.when ?? theme.getWhen(), UtilHtmlElementWhen),\n\t\t\tselect: options?.select ?? theme.getSelect()\n\t\t};\n\t}\n\n\tprotected toElementData(\n\t\ttheme: THEME,\n\t\toptions?: OPTIONS[\"element\"]\n\t): UtilHtmlElementElementData<ELEMENT> {\n\t\treturn {\n\t\t\tcreator: options?.creator ?? theme.getElementCreator(),\n\t\t\tstyler: options?.styler ?? this.newElementStyler(theme)\n\t\t};\n\t}\n\n\tprotected newElementStyler(theme: THEME) {\n\t\treturn (\n\t\t\ttarget: ELEMENT,\n\t\t\tstate: DBaseStateSet,\n\t\t\tpadding: UtilHtmlElementPadding | null,\n\t\t\telementRect: Rectangle | null,\n\t\t\telementMatrix: Matrix | null,\n\t\t\tclipperRect: Rectangle | null,\n\t\t\tclipperEx: UtilHtmlElementClipperEx | null | undefined\n\t\t): void => {\n\t\t\treturn theme.setElementStyle(\n\t\t\t\ttarget,\n\t\t\t\tstate,\n\t\t\t\tpadding,\n\t\t\t\telementRect,\n\t\t\t\telementMatrix,\n\t\t\t\tclipperRect,\n\t\t\t\tclipperEx\n\t\t\t);\n\t\t};\n\t}\n\n\tprotected toClipperData(\n\t\ttheme: THEME,\n\t\toptions?: OPTIONS[\"clipper\"]\n\t): UtilHtmlElementClipperData {\n\t\treturn {\n\t\t\tcreator: options?.creator ?? theme.getClipperCreator(),\n\t\t\tstyler: options?.styler ?? this.newClipperStyler(theme),\n\t\t\textended: options?.extended ?? theme.isClipperExEnabled()\n\t\t};\n\t}\n\n\tprotected newClipperStyler(theme: THEME) {\n\t\treturn (\n\t\t\ttarget: HTMLDivElement,\n\t\t\tstate: DBaseStateSet,\n\t\t\tpadding: UtilHtmlElementPadding | null,\n\t\t\telementRect: Rectangle | null,\n\t\t\telementMatrix: Matrix | null,\n\t\t\tclipperRect: Rectangle | null,\n\t\t\tclipperEx: UtilHtmlElementClipperEx | null | undefined\n\t\t): void => {\n\t\t\treturn theme.setClipperStyle(\n\t\t\t\ttarget,\n\t\t\t\tstate,\n\t\t\t\tpadding,\n\t\t\t\telementRect,\n\t\t\t\telementMatrix,\n\t\t\t\tclipperRect,\n\t\t\t\tclipperEx\n\t\t\t);\n\t\t};\n\t}\n\n\tprotected toBeforeData(theme: THEME, options?: OPTIONS[\"before\"]): UtilHtmlElementBeforeData {\n\t\treturn {\n\t\t\tcreator: options?.creator ?? theme.getBeforeCreator(),\n\t\t\tstyler: options?.styler ?? this.newBeforeStyler(theme)\n\t\t};\n\t}\n\n\tprotected newBeforeStyler(theme: THEME) {\n\t\treturn (target: HTMLDivElement): void => {\n\t\t\ttheme.setBeforeStyle(target);\n\t\t};\n\t}\n\n\tprotected toAfterData(theme: THEME, options?: OPTIONS[\"after\"]): UtilHtmlElementAfterData {\n\t\treturn {\n\t\t\tcreator: options?.creator ?? theme.getAfterCreator(),\n\t\t\tstyler: options?.styler ?? this.newAfterStyler(theme)\n\t\t};\n\t}\n\n\tprotected newAfterStyler(theme: THEME) {\n\t\treturn (target: HTMLDivElement): void => {\n\t\t\ttheme.setAfterStyle(target);\n\t\t};\n\t}\n\n\tget element(): ELEMENT | null {\n\t\treturn this._element ?? null;\n\t}\n\n\tget when(): UtilHtmlElementWhen {\n\t\treturn this._data.when;\n\t}\n\n\tonDowning(e: InteractionEvent | KeyboardEvent): void {\n\t\tthis._wasStarted = this._isStarted;\n\t\tswitch (this.when) {\n\t\t\tcase UtilHtmlElementWhen.CLICKED:\n\t\t\t\tthis.start();\n\t\t\t\tbreak;\n\t\t\tcase UtilHtmlElementWhen.FOCUSED:\n\t\t\t\tif (this._target.state.isFocused) {\n\t\t\t\t\tthis.start();\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t}\n\t}\n\n\tonDown(e: InteractionEvent | KeyboardEvent): void {\n\t\tif (!this._wasStarted && this._isStarted) {\n\t\t\tif (\"data\" in e) {\n\t\t\t\te.data.originalEvent.preventDefault();\n\t\t\t} else {\n\t\t\t\te.preventDefault();\n\t\t\t}\n\t\t}\n\t}\n\n\tonDblClick(\n\t\te: MouseEvent | TouchEvent | KeyboardEvent,\n\t\tinteractionManager: InteractionManager\n\t): void {\n\t\tswitch (this.when) {\n\t\t\tcase UtilHtmlElementWhen.DOUBLE_CLICKED:\n\t\t\t\tthis.start();\n\t\t\t\tbreak;\n\t\t}\n\t}\n\n\tonFocus(): void {\n\t\tswitch (this.when) {\n\t\t\tcase UtilHtmlElementWhen.FOCUSED:\n\t\t\t\tthis.start();\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tthis._element?.focus();\n\t\t\t\tbreak;\n\t\t}\n\t}\n\n\tonBlur(): void {\n\t\tswitch (this.when) {\n\t\t\tcase UtilHtmlElementWhen.CLICKED:\n\t\t\tcase UtilHtmlElementWhen.DOUBLE_CLICKED:\n\t\t\tcase UtilHtmlElementWhen.FOCUSED:\n\t\t\t\tthis.onEndByBlur();\n\t\t\t\tthis.cancel();\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tthis._element?.blur();\n\t\t\t\tbreak;\n\t\t}\n\t}\n\n\tisStartable(): boolean {\n\t\tswitch (this.when) {\n\t\t\tcase UtilHtmlElementWhen.CLICKED:\n\t\t\tcase UtilHtmlElementWhen.DOUBLE_CLICKED:\n\t\t\tcase UtilHtmlElementWhen.FOCUSED:\n\t\t\t\treturn this._target.state.isActionable;\n\t\t\tdefault:\n\t\t\t\treturn true;\n\t\t}\n\t}\n\n\tstart(): void {\n\t\tif (!this._isStarted && this.isStartable()) {\n\t\t\tthis._isStarted = true;\n\t\t\tif (this._target.worldVisible) {\n\t\t\t\tthis.doStart();\n\t\t\t} else {\n\t\t\t\tthis._isStartRequested = true;\n\t\t\t}\n\t\t\tDApplications.update(this._target);\n\t\t}\n\t}\n\n\tisShown(): boolean {\n\t\treturn this._isElementShown;\n\t}\n\n\tonRender(renderer: Renderer): void {\n\t\tif (\n\t\t\tthis._isStartRequested ||\n\t\t\t(!this._isElementShown && this.when === UtilHtmlElementWhen.ALWAYS)\n\t\t) {\n\t\t\tthis._isStartRequested = false;\n\t\t\tthis.doStart(renderer);\n\t\t}\n\t\tif (this._isStarted) {\n\t\t\tthis._isStarted = false;\n\t\t}\n\t}\n\n\tprotected getElementRect(resolution: number): Rectangle | null {\n\t\tconst point = this._point || new Point(0, 0);\n\t\tthis._point = point;\n\t\tconst result = this._elementRectResult || new Rectangle();\n\t\tthis._elementRectResult = result;\n\t\treturn this._operation.getElementRect(resolution, point, result);\n\t}\n\n\tprotected getElementMatrix(): Matrix | null {\n\t\treturn this._operation.getElementMatrix();\n\t}\n\n\tprotected getClipperRect(resolution: number): Rectangle | null {\n\t\tconst point = this._point || new Point(0, 0);\n\t\tthis._point = point;\n\t\tconst result = this._clipperRectResult || new Rectangle();\n\t\tthis._clipperRectResult = result;\n\t\treturn this._operation.getClipperRect(resolution, point, result);\n\t}\n\n\tprotected fillClipperExRects(\n\t\tresolution: number,\n\t\tresult: UtilHtmlElementClipperExRects\n\t): boolean {\n\t\tconst operation = this._operation;\n\t\tif (operation.getClipperExRects) {\n\t\t\toperation.getClipperExRects(result);\n\t\t}\n\t\treturn result.isDirty();\n\t}\n\n\tprotected doStart(renderer?: Renderer): void {\n\t\tif (!this._isElementShown) {\n\t\t\tthis._isElementShown = true;\n\n\t\t\tconst rendererBound = this._rendererBound;\n\t\t\tif (rendererBound != null) {\n\t\t\t\tthis._rendererBound = undefined;\n\t\t\t\trendererBound.off(\"postrender\", this._onPostRenderBound);\n\t\t\t}\n\n\t\t\tconst target = this._target;\n\t\t\tif (renderer == null) {\n\t\t\t\trenderer = DApplications.getLayer(target)?.renderer;\n\t\t\t}\n\t\t\tif (renderer) {\n\t\t\t\tthis._rendererBound = renderer;\n\t\t\t\trenderer.on(\"postrender\", this._onPostRenderBound);\n\t\t\t}\n\n\t\t\tthis.onStart();\n\n\t\t\tconst clipper = this.getClipper();\n\t\t\tif (clipper) {\n\t\t\t\tconst before = this.getBefore(clipper);\n\t\t\t\tconst element = this.getElement(clipper);\n\t\t\t\tconst after = this.getAfter(clipper);\n\t\t\t\tconst clipperEx = this.getClipperEx(clipper);\n\t\t\t\tif (element) {\n\t\t\t\t\tconst resolution = renderer?.resolution ?? DApplications.getResolution(target);\n\t\t\t\t\tconst elementRect = this.getElementRect(resolution);\n\t\t\t\t\tconst elementMatrix = this.getElementMatrix();\n\t\t\t\t\tconst clipperRect = this.toClipperRectAdjusted(\n\t\t\t\t\t\telementRect,\n\t\t\t\t\t\telementMatrix,\n\t\t\t\t\t\tthis.getClipperRect(resolution)\n\t\t\t\t\t);\n\t\t\t\t\tconst state = target.state;\n\t\t\t\t\tconst padding = this._operation.getPadding();\n\t\t\t\t\tconst options = this._data;\n\t\t\t\t\toptions.clipper.styler(\n\t\t\t\t\t\tclipper,\n\t\t\t\t\t\tstate,\n\t\t\t\t\t\tpadding,\n\t\t\t\t\t\telementRect,\n\t\t\t\t\t\telementMatrix,\n\t\t\t\t\t\tclipperRect,\n\t\t\t\t\t\tclipperEx\n\t\t\t\t\t);\n\t\t\t\t\toptions.element.styler(\n\t\t\t\t\t\telement,\n\t\t\t\t\t\tstate,\n\t\t\t\t\t\tpadding,\n\t\t\t\t\t\telementRect,\n\t\t\t\t\t\telementMatrix,\n\t\t\t\t\t\tclipperRect,\n\t\t\t\t\t\tclipperEx\n\t\t\t\t\t);\n\t\t\t\t\tif (before) {\n\t\t\t\t\t\toptions.before.styler(before);\n\t\t\t\t\t}\n\t\t\t\t\tif (after) {\n\t\t\t\t\t\toptions.after.styler(after);\n\t\t\t\t\t}\n\t\t\t\t\tthis.onElementAttached(element, before, after);\n\t\t\t\t\tif (clipperEx) {\n\t\t\t\t\t\tconst clipperExRects = this.getClipperExRects();\n\t\t\t\t\t\tif (clipperExRects) {\n\t\t\t\t\t\t\tif (this.fillClipperExRects(resolution, clipperExRects)) {\n\t\t\t\t\t\t\t\tclipperEx.update(elementRect, elementMatrix, clipperExRects);\n\t\t\t\t\t\t\t\tclipperExRects.toClean();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t// Show HTML elements\n\t\t\t\t\tclipper.style.display = \"\";\n\t\t\t\t\tif (state.isFocused) {\n\t\t\t\t\t\tthis.toElementFocused(element);\n\t\t\t\t\t}\n\t\t\t\t\tclipper.scrollTop = 0;\n\t\t\t\t\tclipper.scrollLeft = 0;\n\n\t\t\t\t\t// Select the element if required.\n\t\t\t\t\t// Note that a selecting without the setTimeout causes a key stroke drop on Microsoft Edge.\n\t\t\t\t\tif (this._data.select) {\n\t\t\t\t\t\tsetTimeout(this._doSelectBound, 0);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected toElementFocused(element: ELEMENT): void {\n\t\telement.focus({\n\t\t\tpreventScroll: true\n\t\t});\n\t}\n\n\tprotected onStart(): void {\n\t\tthis._operation.onStart();\n\t}\n\n\tprotected doSelect(): void {\n\t\tconst element = this._element;\n\t\tif (element) {\n\t\t\tif (element instanceof HTMLInputElement || element instanceof HTMLTextAreaElement) {\n\t\t\t\t// The following does not work on mobile devices.\n\t\t\t\t// I think selecting texts on a tap is annoying.\n\t\t\t\t// Therefore, I leave this untouched.\n\t\t\t\telement.select();\n\t\t\t}\n\t\t}\n\t}\n\n\tcancel(): void {\n\t\tif (this._isElementShown) {\n\t\t\tthis._isElementShown = false;\n\n\t\t\tconst rendererBound = this._rendererBound;\n\t\t\tif (rendererBound != null) {\n\t\t\t\tthis._rendererBound = undefined;\n\t\t\t\trendererBound.off(\"postrender\", this._onPostRenderBound);\n\t\t\t}\n\n\t\t\tthis.onCancel();\n\n\t\t\tconst target = this._target;\n\t\t\tconst layer = DApplications.getLayer(target);\n\t\t\tif (layer) {\n\t\t\t\tconst view = layer.view;\n\t\t\t\tswitch (this.when) {\n\t\t\t\t\tcase UtilHtmlElementWhen.CLICKED:\n\t\t\t\t\tcase UtilHtmlElementWhen.DOUBLE_CLICKED:\n\t\t\t\t\tcase UtilHtmlElementWhen.FOCUSED:\n\t\t\t\t\t\tif (document.activeElement === this._element) {\n\t\t\t\t\t\t\tview.focus();\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tconst state = target.state;\n\t\t\t\tconst interactionManager = layer.renderer.plugins.interaction;\n\t\t\t\tif (\n\t\t\t\t\tthis._operation.containsPoint(interactionManager.mouse.global) &&\n\t\t\t\t\t!state.isHovered\n\t\t\t\t) {\n\t\t\t\t\tstate.isHovered = true;\n\t\t\t\t\tview.style.cursor = target.cursor ?? \"\";\n\t\t\t\t}\n\n\t\t\t\tlayer.update();\n\t\t\t}\n\n\t\t\tconst element = this._element;\n\t\t\tif (element != null) {\n\t\t\t\tthis.onElementDetached(element, this._before, this._after);\n\t\t\t}\n\n\t\t\tconst clipper = this._clipper;\n\t\t\tif (clipper != null) {\n\t\t\t\tclipper.style.display = \"none\";\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected onCancel(): void {\n\t\tthis._operation.onCancel();\n\t}\n\n\tprotected onElementAttached(\n\t\telement: ELEMENT,\n\t\tbefore?: HTMLDivElement | null,\n\t\tafter?: HTMLDivElement | null\n\t): void {\n\t\tbefore?.addEventListener(\"focus\", this._onBeforeFocusBound);\n\t\tafter?.addEventListener(\"focus\", this._onAfterFocusBound);\n\t\telement.addEventListener(\"focus\", this._onElementFocusBound, true);\n\t}\n\n\tprotected onElementDetached(\n\t\telement: ELEMENT,\n\t\tbefore?: HTMLDivElement | null,\n\t\tafter?: HTMLDivElement | null\n\t): void {\n\t\tbefore?.removeEventListener(\"focus\", this._onBeforeFocusBound);\n\t\tafter?.removeEventListener(\"focus\", this._onAfterFocusBound);\n\t\telement.removeEventListener(\"focus\", this._onElementFocusBound, true);\n\t}\n\n\tprotected getClipper(): HTMLDivElement | null {\n\t\tlet result = this._clipper;\n\t\tif (result == null) {\n\t\t\tconst layer = DApplications.getLayer(this._target);\n\t\t\tresult = layer ? this._data.clipper.creator(layer.getElementContainer()) : null;\n\t\t\tthis._clipper = result;\n\t\t}\n\t\treturn result;\n\t}\n\n\tprotected getClipperEx(clipper: HTMLDivElement): UtilHtmlElementClipperEx | null {\n\t\tlet result = this._clipperEx;\n\t\tif (result === undefined) {\n\t\t\tconst clipperExRects = this.getClipperExRects();\n\t\t\tif (clipperExRects != null) {\n\t\t\t\tresult = new UtilHtmlElementClipperExImpl(clipper);\n\t\t\t} else {\n\t\t\t\tresult = null;\n\t\t\t}\n\t\t\tthis._clipperEx = result;\n\t\t}\n\t\treturn result;\n\t}\n\n\tprotected getClipperExRects(): UtilHtmlElementClipperExRects | null {\n\t\tlet result = this._clipperExRects;\n\t\tif (result === undefined) {\n\t\t\tif (this._data.clipper.extended) {\n\t\t\t\tresult = new UtilHtmlElementClipperExRectsImpl();\n\t\t\t} else {\n\t\t\t\tresult = null;\n\t\t\t}\n\t\t\tthis._clipperExRects = result;\n\t\t}\n\t\treturn result;\n\t}\n\n\tprotected getElement(clipper: HTMLDivElement): ELEMENT | null {\n\t\tlet result = this._element;\n\t\tif (result == null) {\n\t\t\tresult = this._data.element.creator(clipper);\n\t\t\tthis._element = result;\n\t\t}\n\t\treturn result;\n\t}\n\n\tprotected getBefore(clipper: HTMLDivElement): HTMLDivElement | null {\n\t\tlet result = this._before;\n\t\tif (result == null) {\n\t\t\tresult = this._data.before.creator(clipper);\n\t\t\tthis._before = result;\n\t\t}\n\t\treturn result;\n\t}\n\n\tprotected getAfter(clipper: HTMLDivElement): HTMLDivElement | null {\n\t\tlet result = this._after;\n\t\tif (result == null) {\n\t\t\tresult = this._data.after.creator(clipper);\n\t\t\tthis._after = result;\n\t\t}\n\t\treturn result;\n\t}\n\n\tprotected onBeforeFocus(e: FocusEvent): void {\n\t\tconst target = this._target;\n\t\tconst layer = DApplications.getLayer(target);\n\t\tif (layer) {\n\t\t\tconst focusController = layer.getFocusController();\n\t\t\tconst focusable = focusController.find(target, false, false, false);\n\t\t\tlayer.view.focus();\n\t\t\tfocusController.focus(focusable);\n\t\t\te.preventDefault();\n\t\t\te.stopImmediatePropagation();\n\t\t}\n\t}\n\n\tprotected onAfterFocus(e: FocusEvent): void {\n\t\tconst target = this._target;\n\t\tconst layer = DApplications.getLayer(target);\n\t\tif (layer) {\n\t\t\tconst focusController = layer.getFocusController();\n\t\t\tconst focusable = focusController.find(target, false, false, true);\n\t\t\tlayer.view.focus();\n\t\t\tfocusController.focus(focusable);\n\t\t\te.preventDefault();\n\t\t\te.stopImmediatePropagation();\n\t\t}\n\t}\n\n\tprotected onElementFocus(e: FocusEvent): void {\n\t\tif (this.when === UtilHtmlElementWhen.ALWAYS) {\n\t\t\tconst target = this._target;\n\t\t\tif (!target.state.isFocused) {\n\t\t\t\ttarget.focus();\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected onEndByBlur(): void {\n\t\tthis.onEnd();\n\t}\n\n\tprotected onEnd(): void {\n\t\tthis._operation.onEnd();\n\t}\n\n\tend(): void {\n\t\tthis.onEnd();\n\t\tthis.cancel();\n\t}\n\n\tselect(): this {\n\t\tif (this._isElementShown && this._data.select) {\n\t\t\tthis.doSelect();\n\t\t}\n\t\treturn this;\n\t}\n\n\tprotected toClipperRectAdjusted(\n\t\telementRect: Rectangle | null,\n\t\telementMatrix: Matrix | null,\n\t\tclipperRect: Rectangle | null\n\t): Rectangle | null {\n\t\tif (clipperRect && elementRect && elementMatrix == null) {\n\t\t\tconst ex0 = elementRect.x;\n\t\t\tconst ey0 = elementRect.y;\n\t\t\tconst ex1 = ex0 + elementRect.width;\n\t\t\tconst ey1 = ey0 + elementRect.height;\n\t\t\tconst cx0 = clipperRect.x;\n\t\t\tconst cy0 = clipperRect.y;\n\t\t\tconst cx1 = cx0 + clipperRect.width;\n\t\t\tconst cy1 = cy0 + clipperRect.height;\n\t\t\tconst ncx0 = Math.min(Math.max(cx0, ex0), cx1);\n\t\t\tconst ncx1 = Math.min(Math.max(cx0, ex1), cx1);\n\t\t\tconst ncy0 = Math.min(Math.max(cy0, ey0), cy1);\n\t\t\tconst ncy1 = Math.min(Math.max(cy0, ey1), cy1);\n\t\t\tclipperRect.x = ncx0;\n\t\t\tclipperRect.y = ncy0;\n\t\t\tclipperRect.width = ncx1 - ncx0;\n\t\t\tclipperRect.height = ncy1 - ncy0;\n\t\t}\n\t\treturn clipperRect;\n\t}\n\n\tprotected updateElement(renderer: Renderer): void {\n\t\tif (this._isElementShown) {\n\t\t\tconst target = this._target;\n\t\t\tif (target.worldVisible) {\n\t\t\t\tconst element = this._element;\n\t\t\t\tconst clipper = this._clipper;\n\t\t\t\tconst clipperEx = this._clipperEx;\n\t\t\t\tif (element && clipper) {\n\t\t\t\t\tconst resolution = renderer.resolution;\n\t\t\t\t\tconst elementRect = this.getElementRect(resolution);\n\t\t\t\t\tconst elementMatrix = this.getElementMatrix();\n\t\t\t\t\tconst clipperRect = this.toClipperRectAdjusted(\n\t\t\t\t\t\telementRect,\n\t\t\t\t\t\telementMatrix,\n\t\t\t\t\t\tthis.getClipperRect(resolution)\n\t\t\t\t\t);\n\t\t\t\t\tconst state = target.state;\n\t\t\t\t\tconst padding = this._operation.getPadding();\n\t\t\t\t\tconst options = this._data;\n\t\t\t\t\toptions.clipper.styler(\n\t\t\t\t\t\tclipper,\n\t\t\t\t\t\tstate,\n\t\t\t\t\t\tpadding,\n\t\t\t\t\t\telementRect,\n\t\t\t\t\t\telementMatrix,\n\t\t\t\t\t\tclipperRect,\n\t\t\t\t\t\tclipperEx\n\t\t\t\t\t);\n\t\t\t\t\toptions.element.styler(\n\t\t\t\t\t\telement,\n\t\t\t\t\t\tstate,\n\t\t\t\t\t\tpadding,\n\t\t\t\t\t\telementRect,\n\t\t\t\t\t\telementMatrix,\n\t\t\t\t\t\tclipperRect,\n\t\t\t\t\t\tclipperEx\n\t\t\t\t\t);\n\t\t\t\t\tif (clipperEx) {\n\t\t\t\t\t\tconst clipperExRects = this.getClipperExRects();\n\t\t\t\t\t\tif (clipperExRects) {\n\t\t\t\t\t\t\tif (this.fillClipperExRects(resolution, clipperExRects)) {\n\t\t\t\t\t\t\t\tclipperEx.update(elementRect, elementMatrix, clipperExRects);\n\t\t\t\t\t\t\t\tclipperExRects.toClean();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tswitch (this.when) {\n\t\t\t\t\tcase UtilHtmlElementWhen.ALWAYS:\n\t\t\t\t\t\tconst clipper = this._clipper;\n\t\t\t\t\t\tif (clipper) {\n\t\t\t\t\t\t\tclipper.style.display = \"none\";\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tthis.cancel();\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tstatic getClipperRect(\n\t\tparent: unknown,\n\t\ttarget: unknown,\n\t\tresolution: number,\n\t\tpoint: Point,\n\t\tresult: Rectangle\n\t): Rectangle | null {\n\t\tlet isFirst = true;\n\n\t\tlet x0 = 0;\n\t\tlet y0 = 0;\n\t\tlet x1 = 0;\n\t\tlet y1 = 0;\n\n\t\tlet current = parent;\n\t\twhile (current instanceof DBase) {\n\t\t\tcurrent.getClippingRect(target, result);\n\n\t\t\tpoint.set(result.x, result.y);\n\t\t\tcurrent.toGlobal(point, point, false);\n\t\t\tconst cx0 = ((point.x * resolution) | 0) / resolution;\n\t\t\tconst cy0 = ((point.y * resolution) | 0) / resolution;\n\n\t\t\tpoint.set(result.x + result.width, result.y + result.height);\n\t\t\tcurrent.toGlobal(point, point, true);\n\t\t\tconst cx1 = point.x;\n\t\t\tconst cy1 = point.y;\n\n\t\t\tconst dx0 = Math.min(cx0, cx1);\n\t\t\tconst dy0 = Math.min(cy0, cy1);\n\t\t\tconst dx1 = Math.max(cx0, cx1);\n\t\t\tconst dy1 = Math.max(cy0, cy1);\n\n\t\t\tif (isFirst) {\n\t\t\t\tisFirst = false;\n\t\t\t\tx0 = dx0;\n\t\t\t\ty0 = dy0;\n\t\t\t\tx1 = dx1;\n\t\t\t\ty1 = dy1;\n\t\t\t} else {\n\t\t\t\tx0 = Math.min(Math.max(x0, dx0), dx1);\n\t\t\t\ty0 = Math.min(Math.max(y0, dy0), dy1);\n\t\t\t\tx1 = Math.min(Math.max(x1, dx0), dx1);\n\t\t\t\ty1 = Math.min(Math.max(y1, dy0), dy1);\n\t\t\t}\n\n\t\t\tcurrent = current.parent;\n\t\t}\n\n\t\tif (isFirst) {\n\t\t\treturn null;\n\t\t}\n\n\t\tresult.x = x0;\n\t\tresult.y = y0;\n\t\tresult.width = x1 - x0;\n\t\tresult.height = y1 - y0;\n\t\treturn result;\n\t}\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"util-pointer-event.js","sourceRoot":"","sources":["../../../../src/main/typescript/wcardinal/ui/util/util-pointer-event.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { DisplayObject, interaction, Point } from \"pixi.js\";\nimport InteractionEvent = interaction.InteractionEvent;\nimport { DApplicationTarget } from \"../d-application-like\";\n\nexport type UtilPointerEventOnClick = (e: InteractionEvent, isSimulated: boolean) => void;\n\nexport type UtilPointerEventOnDblClick = (e: MouseEvent | TouchEvent, isSimulated: boolean) => void;\n\nexport interface UtilPointerEventClickTarget extends DApplicationTarget {\n\ton(name: string, handler: UtilPointerEventOnClick): void;\n}\n\nexport class UtilPointerEvent {\n\tstatic CLICK_DISTANCE_THRESHOLD: number = 10;\n\tstatic DBLCLICK_INTERVAL_THRESHOLD: number = 333;\n\tstatic LONG_CLICK_THRESHOLD: number = 750;\n\n\tstatic get touchable(): boolean {\n\t\treturn \"ontouchstart\" in document;\n\t}\n\n\tstatic get tap(): string {\n\t\treturn \"pointertap\";\n\t}\n\n\tstatic get down(): string {\n\t\treturn \"pointerdown\";\n\t}\n\n\tstatic get enter(): string {\n\t\treturn \"pointerenter\";\n\t}\n\n\tstatic get leave(): string {\n\t\treturn \"pointerleave\";\n\t}\n\n\tstatic get move(): string {\n\t\treturn \"pointermove\";\n\t}\n\n\tstatic get out(): string {\n\t\treturn \"pointerout\";\n\t}\n\n\tstatic get over(): string {\n\t\treturn \"pointerover\";\n\t}\n\n\tstatic get up(): string {\n\t\treturn \"pointerup\";\n\t}\n\n\tstatic get upoutside(): string {\n\t\treturn \"pointerupoutside\";\n\t}\n\n\tstatic get cancel(): string {\n\t\treturn \"pointercancel\";\n\t}\n\n\tstatic get righttap(): string {\n\t\treturn \"rightclick\";\n\t}\n\n\tstatic get rightdown(): string {\n\t\treturn \"rightdown\";\n\t}\n\n\tstatic get rightup(): string {\n\t\treturn \"rightup\";\n\t}\n\n\tstatic get rightupoutside(): string {\n\t\treturn \"rightupoutside\";\n\t}\n\n\tstatic toGlobal(\n\t\te: MouseEvent | TouchEvent,\n\t\tinteractionManager: interaction.InteractionManager,\n\t\tresult: Point\n\t): Point {\n\t\tif (\"touches\" in e) {\n\t\t\tconst touches = e.changedTouches;\n\t\t\tconst touch = touches[touches.length - 1];\n\t\t\tif (touch != null) {\n\t\t\t\tinteractionManager.mapPositionToPoint(result, touch.clientX, touch.clientY);\n\t\t\t} else {\n\t\t\t\tinteractionManager.mapPositionToPoint(result, 0, 0);\n\t\t\t}\n\t\t} else {\n\t\t\tinteractionManager.mapPositionToPoint(result, e.clientX, e.clientY);\n\t\t}\n\t\treturn result;\n\t}\n\n\tstatic onDblClick(target: HTMLElement, onDblClick: UtilPointerEventOnDblClick): void {\n\t\ttarget.addEventListener(\"dblclick\", (e) => onDblClick(e, false));\n\n\t\tif (this.touchable) {\n\t\t\tlet isDowned = 0;\n\t\t\tlet downX = 0;\n\t\t\tlet downY = 0;\n\t\t\tlet clickTime = 0;\n\n\t\t\ttarget.addEventListener(\"touchstart\", (e: TouchEvent): void => {\n\t\t\t\tif (isDowned !== 0 && isDowned !== 2) {\n\t\t\t\t\tisDowned = 0;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tconst touches = e.touches;\n\t\t\t\tconst touchesLength = touches.length;\n\t\t\t\tif (touchesLength <= 0) {\n\t\t\t\t\tisDowned = 0;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tconst touch = touches.item(touchesLength - 1);\n\t\t\t\tif (touch == null) {\n\t\t\t\t\tisDowned = 0;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tisDowned += 1;\n\t\t\t\tdownX = touch.clientX;\n\t\t\t\tdownY = touch.clientY;\n\t\t\t});\n\n\t\t\ttarget.addEventListener(\"touchend\", (e: TouchEvent): void => {\n\t\t\t\tif (isDowned !== 1 && isDowned !== 3) {\n\t\t\t\t\tisDowned = 0;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tconst touches = e.changedTouches;\n\t\t\t\tconst touchesLength = touches.length;\n\t\t\t\tif (touchesLength <= 0) {\n\t\t\t\t\tisDowned = 0;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tconst touch = touches[touchesLength - 1];\n\t\t\t\tif (touch == null) {\n\t\t\t\t\tisDowned = 0;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tconst dx = downX - touch.clientX;\n\t\t\t\tconst dy = downY - touch.clientY;\n\t\t\t\tif (this.CLICK_DISTANCE_THRESHOLD <= Math.abs(dx) + Math.abs(dy)) {\n\t\t\t\t\tisDowned = 0;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tif (isDowned === 1) {\n\t\t\t\t\tclickTime = e.timeStamp;\n\t\t\t\t\tisDowned = 2;\n\t\t\t\t} else {\n\t\t\t\t\tconst elapsedTime = e.timeStamp - clickTime;\n\t\t\t\t\tif (elapsedTime < this.DBLCLICK_INTERVAL_THRESHOLD) {\n\t\t\t\t\t\tisDowned = 0;\n\t\t\t\t\t\tonDblClick(e, true);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tclickTime = e.timeStamp;\n\t\t\t\t\t\tisDowned = 2;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\n\t\t\ttarget.addEventListener(\"touchcancel\", (): void => {\n\t\t\t\tisDowned = 0;\n\t\t\t});\n\t\t}\n\t}\n\n\tstatic contains(target: unknown, targetOrChild: DisplayObject | null): boolean {\n\t\tlet current = targetOrChild;\n\t\twhile (current != null && current !== target) {\n\t\t\tcurrent = current.parent;\n\t\t}\n\t\treturn current === target;\n\t}\n}\n"]}
1
+ {"version":3,"file":"util-pointer-event.js","sourceRoot":"","sources":["../../../../src/main/typescript/wcardinal/ui/util/util-pointer-event.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { DisplayObject, InteractionEvent, InteractionManager, Point } from \"pixi.js\";\nimport { DApplicationTarget } from \"../d-application-like\";\n\nexport type UtilPointerEventOnClick = (e: InteractionEvent, isSimulated: boolean) => void;\n\nexport type UtilPointerEventOnDblClick = (e: MouseEvent | TouchEvent, isSimulated: boolean) => void;\n\nexport interface UtilPointerEventClickTarget extends DApplicationTarget {\n\ton(name: string, handler: UtilPointerEventOnClick): void;\n}\n\nexport class UtilPointerEvent {\n\tstatic CLICK_DISTANCE_THRESHOLD: number = 10;\n\tstatic DBLCLICK_INTERVAL_THRESHOLD: number = 333;\n\tstatic LONG_CLICK_THRESHOLD: number = 750;\n\n\tstatic get touchable(): boolean {\n\t\treturn \"ontouchstart\" in document;\n\t}\n\n\tstatic get tap(): string {\n\t\treturn \"pointertap\";\n\t}\n\n\tstatic get down(): string {\n\t\treturn \"pointerdown\";\n\t}\n\n\tstatic get enter(): string {\n\t\treturn \"pointerenter\";\n\t}\n\n\tstatic get leave(): string {\n\t\treturn \"pointerleave\";\n\t}\n\n\tstatic get move(): string {\n\t\treturn \"pointermove\";\n\t}\n\n\tstatic get out(): string {\n\t\treturn \"pointerout\";\n\t}\n\n\tstatic get over(): string {\n\t\treturn \"pointerover\";\n\t}\n\n\tstatic get up(): string {\n\t\treturn \"pointerup\";\n\t}\n\n\tstatic get upoutside(): string {\n\t\treturn \"pointerupoutside\";\n\t}\n\n\tstatic get cancel(): string {\n\t\treturn \"pointercancel\";\n\t}\n\n\tstatic get righttap(): string {\n\t\treturn \"rightclick\";\n\t}\n\n\tstatic get rightdown(): string {\n\t\treturn \"rightdown\";\n\t}\n\n\tstatic get rightup(): string {\n\t\treturn \"rightup\";\n\t}\n\n\tstatic get rightupoutside(): string {\n\t\treturn \"rightupoutside\";\n\t}\n\n\tstatic toGlobal(\n\t\te: MouseEvent | TouchEvent,\n\t\tinteractionManager: InteractionManager,\n\t\tresult: Point\n\t): Point {\n\t\tif (\"touches\" in e) {\n\t\t\tconst touches = e.changedTouches;\n\t\t\tconst touch = touches[touches.length - 1];\n\t\t\tif (touch != null) {\n\t\t\t\tinteractionManager.mapPositionToPoint(result, touch.clientX, touch.clientY);\n\t\t\t} else {\n\t\t\t\tinteractionManager.mapPositionToPoint(result, 0, 0);\n\t\t\t}\n\t\t} else {\n\t\t\tinteractionManager.mapPositionToPoint(result, e.clientX, e.clientY);\n\t\t}\n\t\treturn result;\n\t}\n\n\tstatic onDblClick(target: HTMLElement, onDblClick: UtilPointerEventOnDblClick): void {\n\t\ttarget.addEventListener(\"dblclick\", (e) => onDblClick(e, false));\n\n\t\tif (this.touchable) {\n\t\t\tlet isDowned = 0;\n\t\t\tlet downX = 0;\n\t\t\tlet downY = 0;\n\t\t\tlet clickTime = 0;\n\n\t\t\ttarget.addEventListener(\"touchstart\", (e: TouchEvent): void => {\n\t\t\t\tif (isDowned !== 0 && isDowned !== 2) {\n\t\t\t\t\tisDowned = 0;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tconst touches = e.touches;\n\t\t\t\tconst touchesLength = touches.length;\n\t\t\t\tif (touchesLength <= 0) {\n\t\t\t\t\tisDowned = 0;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tconst touch = touches.item(touchesLength - 1);\n\t\t\t\tif (touch == null) {\n\t\t\t\t\tisDowned = 0;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tisDowned += 1;\n\t\t\t\tdownX = touch.clientX;\n\t\t\t\tdownY = touch.clientY;\n\t\t\t});\n\n\t\t\ttarget.addEventListener(\"touchend\", (e: TouchEvent): void => {\n\t\t\t\tif (isDowned !== 1 && isDowned !== 3) {\n\t\t\t\t\tisDowned = 0;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tconst touches = e.changedTouches;\n\t\t\t\tconst touchesLength = touches.length;\n\t\t\t\tif (touchesLength <= 0) {\n\t\t\t\t\tisDowned = 0;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tconst touch = touches[touchesLength - 1];\n\t\t\t\tif (touch == null) {\n\t\t\t\t\tisDowned = 0;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tconst dx = downX - touch.clientX;\n\t\t\t\tconst dy = downY - touch.clientY;\n\t\t\t\tif (this.CLICK_DISTANCE_THRESHOLD <= Math.abs(dx) + Math.abs(dy)) {\n\t\t\t\t\tisDowned = 0;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tif (isDowned === 1) {\n\t\t\t\t\tclickTime = e.timeStamp;\n\t\t\t\t\tisDowned = 2;\n\t\t\t\t} else {\n\t\t\t\t\tconst elapsedTime = e.timeStamp - clickTime;\n\t\t\t\t\tif (elapsedTime < this.DBLCLICK_INTERVAL_THRESHOLD) {\n\t\t\t\t\t\tisDowned = 0;\n\t\t\t\t\t\tonDblClick(e, true);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tclickTime = e.timeStamp;\n\t\t\t\t\t\tisDowned = 2;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\n\t\t\ttarget.addEventListener(\"touchcancel\", (): void => {\n\t\t\t\tisDowned = 0;\n\t\t\t});\n\t\t}\n\t}\n\n\tstatic contains(target: unknown, targetOrChild: DisplayObject | null): boolean {\n\t\tlet current = targetOrChild;\n\t\twhile (current != null && current !== target) {\n\t\t\tcurrent = current.parent;\n\t\t}\n\t\treturn current === target;\n\t}\n}\n"]}
@@ -1,5 +1,5 @@
1
1
  /*
2
- Winter Cardinal UI v0.396.0
2
+ Winter Cardinal UI v0.397.0
3
3
  Copyright (C) 2019 Toshiba Corporation
4
4
  SPDX-License-Identifier: Apache-2.0
5
5
 
@@ -1,5 +1,5 @@
1
1
  /*
2
- Winter Cardinal UI v0.396.0
2
+ Winter Cardinal UI v0.397.0
3
3
  Copyright (C) 2019 Toshiba Corporation
4
4
  SPDX-License-Identifier: Apache-2.0
5
5
 
@@ -1,5 +1,5 @@
1
1
  /*
2
- Winter Cardinal UI v0.396.0
2
+ Winter Cardinal UI v0.397.0
3
3
  Copyright (C) 2019 Toshiba Corporation
4
4
  SPDX-License-Identifier: Apache-2.0
5
5
 
@@ -1,5 +1,5 @@
1
1
  /*
2
- Winter Cardinal UI v0.396.0
2
+ Winter Cardinal UI v0.397.0
3
3
  Copyright (C) 2019 Toshiba Corporation
4
4
  SPDX-License-Identifier: Apache-2.0
5
5
 
@@ -1,5 +1,5 @@
1
1
  /*
2
- Winter Cardinal UI v0.396.0
2
+ Winter Cardinal UI v0.397.0
3
3
  Copyright (C) 2019 Toshiba Corporation
4
4
  SPDX-License-Identifier: Apache-2.0
5
5
 
@@ -1,5 +1,5 @@
1
1
  /*
2
- Winter Cardinal UI v0.396.0
2
+ Winter Cardinal UI v0.397.0
3
3
  Copyright (C) 2019 Toshiba Corporation
4
4
  SPDX-License-Identifier: Apache-2.0
5
5
 
@@ -1,5 +1,5 @@
1
1
  /*
2
- Winter Cardinal UI v0.396.0
2
+ Winter Cardinal UI v0.397.0
3
3
  Copyright (C) 2019 Toshiba Corporation
4
4
  SPDX-License-Identifier: Apache-2.0
5
5
 
@@ -1,5 +1,5 @@
1
1
  /*
2
- Winter Cardinal UI v0.396.0
2
+ Winter Cardinal UI v0.397.0
3
3
  Copyright (C) 2019 Toshiba Corporation
4
4
  SPDX-License-Identifier: Apache-2.0
5
5
 
@@ -1,5 +1,5 @@
1
1
  /*
2
- Winter Cardinal UI v0.396.0
2
+ Winter Cardinal UI v0.397.0
3
3
  Copyright (C) 2019 Toshiba Corporation
4
4
  SPDX-License-Identifier: Apache-2.0
5
5
 
@@ -1,5 +1,5 @@
1
1
  /*
2
- Winter Cardinal UI v0.396.0
2
+ Winter Cardinal UI v0.397.0
3
3
  Copyright (C) 2019 Toshiba Corporation
4
4
  SPDX-License-Identifier: Apache-2.0
5
5
 
@@ -1,5 +1,5 @@
1
1
  /*
2
- Winter Cardinal UI v0.396.0
2
+ Winter Cardinal UI v0.397.0
3
3
  Copyright (C) 2019 Toshiba Corporation
4
4
  SPDX-License-Identifier: Apache-2.0
5
5
 
@@ -1,5 +1,5 @@
1
1
  /*
2
- Winter Cardinal UI v0.396.0
2
+ Winter Cardinal UI v0.397.0
3
3
  Copyright (C) 2019 Toshiba Corporation
4
4
  SPDX-License-Identifier: Apache-2.0
5
5
 
@@ -1,5 +1,5 @@
1
1
  /*
2
- Winter Cardinal UI v0.396.0
2
+ Winter Cardinal UI v0.397.0
3
3
  Copyright (C) 2019 Toshiba Corporation
4
4
  SPDX-License-Identifier: Apache-2.0
5
5
 
@@ -22390,7 +22390,6 @@ var EShapeActionValueGestureOperationType = {
22390
22390
  * Copyright (C) 2019 Toshiba Corporation
22391
22391
  * SPDX-License-Identifier: Apache-2.0
22392
22392
  */
22393
- var InteractionEvent$3 = pixi_js.interaction.InteractionEvent;
22394
22393
  var EShapeActionRuntimeGestureLayer = /** @class */ (function (_super) {
22395
22394
  __extends(EShapeActionRuntimeGestureLayer, _super);
22396
22395
  function EShapeActionRuntimeGestureLayer(value) {
@@ -22414,7 +22413,7 @@ var EShapeActionRuntimeGestureLayer = /** @class */ (function (_super) {
22414
22413
  };
22415
22414
  EShapeActionRuntimeGestureLayer.prototype.onDown = function (shape, runtime, e) {
22416
22415
  _super.prototype.onDown.call(this, shape, runtime, e);
22417
- if (e instanceof InteractionEvent$3) {
22416
+ if (e instanceof pixi_js.InteractionEvent) {
22418
22417
  var layer = this._layers.get(shape);
22419
22418
  var time = e.data.originalEvent.timeStamp;
22420
22419
  if (layer && this.condition(shape, time, EShapeActionEnvironment)) {
@@ -22491,7 +22490,6 @@ var EShapeActionRuntimeGestureLayer = /** @class */ (function (_super) {
22491
22490
  * Copyright (C) 2019 Toshiba Corporation
22492
22491
  * SPDX-License-Identifier: Apache-2.0
22493
22492
  */
22494
- var InteractionEvent$2 = pixi_js.interaction.InteractionEvent;
22495
22493
  var EShapeActionRuntimeGestureShape = /** @class */ (function (_super) {
22496
22494
  __extends(EShapeActionRuntimeGestureShape, _super);
22497
22495
  function EShapeActionRuntimeGestureShape(value) {
@@ -22503,7 +22501,7 @@ var EShapeActionRuntimeGestureShape = /** @class */ (function (_super) {
22503
22501
  }
22504
22502
  EShapeActionRuntimeGestureShape.prototype.onDown = function (shape, runtime, e) {
22505
22503
  _super.prototype.onDown.call(this, shape, runtime, e);
22506
- if (e instanceof InteractionEvent$2) {
22504
+ if (e instanceof pixi_js.InteractionEvent) {
22507
22505
  if (this.condition(shape, e.data.originalEvent.timeStamp, EShapeActionEnvironment)) {
22508
22506
  this.getGestureUtil().onDown(shape, e);
22509
22507
  }
@@ -30175,9 +30173,11 @@ var DButtonBase = /** @class */ (function (_super) {
30175
30173
  var layer = DApplications.getLayer(_this);
30176
30174
  if (layer) {
30177
30175
  interactionManager = layer.renderer.plugins.interaction;
30178
- interactionManager.on(UtilPointerEvent.up, onUp);
30179
- interactionManager.on(UtilPointerEvent.upoutside, onUp);
30180
- interactionManager.on(UtilPointerEvent.cancel, onUp);
30176
+ if (interactionManager != null) {
30177
+ interactionManager.on(UtilPointerEvent.up, onUp);
30178
+ interactionManager.on(UtilPointerEvent.upoutside, onUp);
30179
+ interactionManager.on(UtilPointerEvent.cancel, onUp);
30180
+ }
30181
30181
  }
30182
30182
  }
30183
30183
  });
@@ -44258,7 +44258,6 @@ var UtilClipboard = /** @class */ (function (_super) {
44258
44258
  * Copyright (C) 2019 Toshiba Corporation
44259
44259
  * SPDX-License-Identifier: Apache-2.0
44260
44260
  */
44261
- var InteractionEvent$1 = pixi_js.interaction.InteractionEvent;
44262
44261
  var DLink = /** @class */ (function () {
44263
44262
  function DLink(options) {
44264
44263
  this._options = options;
@@ -44432,7 +44431,7 @@ var DLink = /** @class */ (function () {
44432
44431
  return false;
44433
44432
  case DLinkTarget.AUTO:
44434
44433
  if (e != null) {
44435
- var oe = e instanceof InteractionEvent$1 ? e.data.originalEvent : e;
44434
+ var oe = e instanceof pixi_js.InteractionEvent ? e.data.originalEvent : e;
44436
44435
  return (oe.ctrlKey ||
44437
44436
  oe.shiftKey ||
44438
44437
  oe.altKey ||
@@ -72919,9 +72918,12 @@ var DPickerColorGradientView = /** @class */ (function (_super) {
72919
72918
  .addAttribute("aPosition", new pixi_js.Buffer(vertices, false, false), 2)
72920
72919
  .addAttribute("aUv", new pixi_js.Buffer(uvs, false, false), 2)
72921
72920
  .addAttribute("aColor", new pixi_js.Buffer(colors, false, false), 4);
72922
- var shader = pixi_js.Shader.from(VERTEX_SHADER, FRAGMENT_SHADER, {
72923
- uSampler: texture,
72924
- uCheckerColors: checkerColors
72921
+ var program = pixi_js.Program.from(VERTEX_SHADER, FRAGMENT_SHADER);
72922
+ var shader = new pixi_js.MeshMaterial(texture, {
72923
+ program: program,
72924
+ uniforms: {
72925
+ uCheckerColors: checkerColors
72926
+ }
72925
72927
  });
72926
72928
  return new DPickerColorGradientView(nPointsPerData, vertices, uvs, colors, indices, parts, geometry, shader);
72927
72929
  };
@@ -83499,8 +83501,9 @@ var DDiagramCanvasBase = /** @class */ (function (_super) {
83499
83501
  };
83500
83502
  DDiagramCanvasBase.prototype.getLocalBounds = function (result) {
83501
83503
  var _a, _b;
83504
+ var _c;
83502
83505
  if (result == null) {
83503
- result = (_a = this._localBoundsRect) !== null && _a !== void 0 ? _a : (this._localBoundsRect = new pixi_js.Rectangle());
83506
+ result = ((_a = (_c = this)._localBoundsRect) !== null && _a !== void 0 ? _a : (_c._localBoundsRect = new pixi_js.Rectangle()));
83504
83507
  }
83505
83508
  result.x = 0;
83506
83509
  result.y = 0;
@@ -94065,7 +94068,6 @@ var DTableHeaderCellCheck = /** @class */ (function () {
94065
94068
  * Copyright (C) 2019 Toshiba Corporation
94066
94069
  * SPDX-License-Identifier: Apache-2.0
94067
94070
  */
94068
- var InteractionEvent = pixi_js.interaction.InteractionEvent;
94069
94071
  var DTableHeaderCell = /** @class */ (function (_super) {
94070
94072
  __extends(DTableHeaderCell, _super);
94071
94073
  function DTableHeaderCell() {
@@ -94199,7 +94201,7 @@ var DTableHeaderCell = /** @class */ (function (_super) {
94199
94201
  return e.data.getLocalPosition(this, checkWork).x;
94200
94202
  };
94201
94203
  DTableHeaderCell.prototype.isCheckClicked = function (e) {
94202
- if (e instanceof InteractionEvent && this._check.isEnabled) {
94204
+ if (e instanceof pixi_js.InteractionEvent && this._check.isEnabled) {
94203
94205
  if (this.isSortable) {
94204
94206
  var image = this._images[1];
94205
94207
  if (image && image.image != null) {