@wcardinal/wcardinal-ui 0.427.0 → 0.429.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 (73) hide show
  1. package/dist/types/wcardinal/ui/d-chart-plot-area-twofold-sub-base.d.ts +4 -0
  2. package/dist/types/wcardinal/ui/d-chart-plot-area.d.ts +3 -0
  3. package/dist/types/wcardinal/ui/d-chart-selection-container-impl.d.ts +1 -1
  4. package/dist/types/wcardinal/ui/d-chart-selection-container.d.ts +1 -1
  5. package/dist/types/wcardinal/ui/d-chart-selection-gridline-x.d.ts +2 -1
  6. package/dist/types/wcardinal/ui/d-chart-selection-gridline-y.d.ts +2 -1
  7. package/dist/types/wcardinal/ui/d-chart-selection-marker.d.ts +3 -2
  8. package/dist/types/wcardinal/ui/d-chart-selection-shape-base.d.ts +1 -1
  9. package/dist/types/wcardinal/ui/d-chart-selection-shape.d.ts +1 -1
  10. package/dist/types/wcardinal/ui/d-chart-selection-simple.d.ts +10 -2
  11. package/dist/types/wcardinal/ui/d-view-gesture-impl.d.ts +3 -2
  12. package/dist/types/wcardinal/ui/d-view-to-target.d.ts +5 -1
  13. package/dist/types/wcardinal/ui/d-view.d.ts +11 -2
  14. package/dist/types/wcardinal/ui/shape/action/e-shape-action-value-open.d.ts +8 -2
  15. package/dist/types/wcardinal/ui/util/index.d.ts +2 -0
  16. package/dist/types/wcardinal/ui/util/util-gesture-data.d.ts +1 -0
  17. package/dist/types/wcardinal/ui/util/util-gesture-tap.d.ts +26 -0
  18. package/dist/types/wcardinal/ui/util/util-gesture-target.d.ts +5 -0
  19. package/dist/types/wcardinal/ui/util/util-gesture.d.ts +8 -6
  20. package/dist/wcardinal/ui/d-chart-plot-area-twofold-sub-base.js +14 -0
  21. package/dist/wcardinal/ui/d-chart-plot-area-twofold-sub-base.js.map +1 -1
  22. package/dist/wcardinal/ui/d-chart-plot-area.js.map +1 -1
  23. package/dist/wcardinal/ui/d-chart-selection-container-impl.js +3 -3
  24. package/dist/wcardinal/ui/d-chart-selection-container-impl.js.map +1 -1
  25. package/dist/wcardinal/ui/d-chart-selection-container.js.map +1 -1
  26. package/dist/wcardinal/ui/d-chart-selection-gridline-x.js +1 -1
  27. package/dist/wcardinal/ui/d-chart-selection-gridline-x.js.map +1 -1
  28. package/dist/wcardinal/ui/d-chart-selection-gridline-y.js +1 -1
  29. package/dist/wcardinal/ui/d-chart-selection-gridline-y.js.map +1 -1
  30. package/dist/wcardinal/ui/d-chart-selection-marker.js +4 -3
  31. package/dist/wcardinal/ui/d-chart-selection-marker.js.map +1 -1
  32. package/dist/wcardinal/ui/d-chart-selection-shape-base.js +1 -1
  33. package/dist/wcardinal/ui/d-chart-selection-shape-base.js.map +1 -1
  34. package/dist/wcardinal/ui/d-chart-selection-shape.js.map +1 -1
  35. package/dist/wcardinal/ui/d-chart-selection-simple.js +49 -21
  36. package/dist/wcardinal/ui/d-chart-selection-simple.js.map +1 -1
  37. package/dist/wcardinal/ui/d-chart-selection-sub-impl.js +3 -2
  38. package/dist/wcardinal/ui/d-chart-selection-sub-impl.js.map +1 -1
  39. package/dist/wcardinal/ui/d-diagram.js +11 -2
  40. package/dist/wcardinal/ui/d-diagram.js.map +1 -1
  41. package/dist/wcardinal/ui/d-view-gesture-impl.js +18 -3
  42. package/dist/wcardinal/ui/d-view-gesture-impl.js.map +1 -1
  43. package/dist/wcardinal/ui/d-view-to-target.js.map +1 -1
  44. package/dist/wcardinal/ui/d-view.js.map +1 -1
  45. package/dist/wcardinal/ui/shape/action/e-shape-action-value-open.js +23 -24
  46. package/dist/wcardinal/ui/shape/action/e-shape-action-value-open.js.map +1 -1
  47. package/dist/wcardinal/ui/util/index.js +2 -0
  48. package/dist/wcardinal/ui/util/index.js.map +1 -1
  49. package/dist/wcardinal/ui/util/util-gesture-data.js +1 -0
  50. package/dist/wcardinal/ui/util/util-gesture-data.js.map +1 -1
  51. package/dist/wcardinal/ui/util/util-gesture-tap.js +148 -0
  52. package/dist/wcardinal/ui/util/util-gesture-tap.js.map +1 -0
  53. package/dist/wcardinal/ui/util/util-gesture-target.js +2 -0
  54. package/dist/wcardinal/ui/util/util-gesture-target.js.map +1 -0
  55. package/dist/wcardinal/ui/util/util-gesture.js +26 -15
  56. package/dist/wcardinal/ui/util/util-gesture.js.map +1 -1
  57. package/dist/wcardinal-ui-theme-dark-en-us.js +1 -1
  58. package/dist/wcardinal-ui-theme-dark-en-us.min.js +1 -1
  59. package/dist/wcardinal-ui-theme-dark-ja-jp.js +1 -1
  60. package/dist/wcardinal-ui-theme-dark-ja-jp.min.js +1 -1
  61. package/dist/wcardinal-ui-theme-dark.js +1 -1
  62. package/dist/wcardinal-ui-theme-dark.min.js +1 -1
  63. package/dist/wcardinal-ui-theme-white-en-us.js +1 -1
  64. package/dist/wcardinal-ui-theme-white-en-us.min.js +1 -1
  65. package/dist/wcardinal-ui-theme-white-ja-jp.js +1 -1
  66. package/dist/wcardinal-ui-theme-white-ja-jp.min.js +1 -1
  67. package/dist/wcardinal-ui-theme-white.js +1 -1
  68. package/dist/wcardinal-ui-theme-white.min.js +1 -1
  69. package/dist/wcardinal-ui.cjs.js +297 -77
  70. package/dist/wcardinal-ui.js +297 -77
  71. package/dist/wcardinal-ui.min.js +2 -2
  72. package/dist/wcardinal-ui.min.js.map +1 -1
  73. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"e-shape-action-value-open.js","sourceRoot":"","sources":["../../../../../src/main/typescript/wcardinal/ui/shape/action/e-shape-action-value-open.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { DDiagramBaseControllerOpenType } from \"../../d-diagram-base-controller\";\nimport { EShapeResourceManagerDeserialization } from \"../e-shape-resource-manager-deserialization\";\nimport { EShapeResourceManagerSerialization } from \"../e-shape-resource-manager-serialization\";\nimport { EShapeActionRuntimeOpen } from \"./e-shape-action-runtime-open\";\nimport { EShapeActionValue } from \"./e-shape-action-value\";\nimport { EShapeActionValueOnInputAction } from \"./e-shape-action-value-on-input-action\";\nimport { EShapeActionValueOpenType } from \"./e-shape-action-value-open-type\";\nimport { EShapeActionValueSubtyped } from \"./e-shape-action-value-subtyped\";\nimport { EShapeActionValueType } from \"./e-shape-action-value-type\";\nimport { EShapeActionValues } from \"./e-shape-action-values\";\n\nexport type EShapeActionValueOpenSerializedLegacy = [\n\ttypeof EShapeActionValueType.OPEN,\n\tnumber,\n\t(\n\t\t| typeof EShapeActionValueOpenType.DIAGRAM_LEGACY\n\t\t| typeof EShapeActionValueOpenType.PAGE_LEGACY\n\t\t| typeof EShapeActionValueOpenType.PAGE_INPLACE_LEGACY\n\t),\n\tnumber,\n\tEShapeActionValueOnInputAction,\n\tnumber\n];\n\nexport type EShapeActionValueOpenSerializedNew = [\n\ttypeof EShapeActionValueType.OPEN,\n\tnumber,\n\ttypeof EShapeActionValueOpenType.DIAGRAM | typeof EShapeActionValueOpenType.PAGE,\n\tnumber,\n\t0 | 1\n];\n\nexport type EShapeActionValueOpenSerialized =\n\t| EShapeActionValueOpenSerializedNew\n\t| EShapeActionValueOpenSerializedLegacy;\n\nexport class EShapeActionValueOpen extends EShapeActionValueSubtyped<\n\ttypeof EShapeActionValueOpenType.DIAGRAM | typeof EShapeActionValueOpenType.PAGE\n> {\n\treadonly target: string;\n\treadonly inNewWindow: boolean;\n\n\tconstructor(\n\t\tsubtype: typeof EShapeActionValueOpenType.DIAGRAM | typeof EShapeActionValueOpenType.PAGE,\n\t\tcondition: string,\n\t\ttarget: string,\n\t\tinNewWindow: boolean\n\t) {\n\t\tsuper(EShapeActionValueType.OPEN, condition, subtype);\n\t\tthis.target = target;\n\t\tthis.inNewWindow = inNewWindow;\n\t}\n\n\tisEquals(value: EShapeActionValue): boolean {\n\t\treturn (\n\t\t\tsuper.isEquals(value) &&\n\t\t\tvalue instanceof EShapeActionValueOpen &&\n\t\t\tthis.target === value.target &&\n\t\t\tthis.inNewWindow === value.inNewWindow\n\t\t);\n\t}\n\n\ttoRuntime(): EShapeActionRuntimeOpen {\n\t\tswitch (this.subtype) {\n\t\t\tcase EShapeActionValueOpenType.DIAGRAM:\n\t\t\t\treturn new EShapeActionRuntimeOpen(this, DDiagramBaseControllerOpenType.DIAGRAM);\n\t\t\tcase EShapeActionValueOpenType.PAGE:\n\t\t\t\treturn new EShapeActionRuntimeOpen(this, DDiagramBaseControllerOpenType.PAGE);\n\t\t}\n\t}\n\n\tserialize(manager: EShapeResourceManagerSerialization): number {\n\t\tconst conditionId = manager.addResource(this.condition);\n\t\tconst targetId = manager.addResource(this.target);\n\t\tconst inNewWindow = this.inNewWindow ? 1 : 0;\n\t\treturn manager.addResource(\n\t\t\t`[${this.type},${conditionId},${this.subtype},${targetId},${inNewWindow}]`\n\t\t);\n\t}\n\n\tstatic deserialize(\n\t\tserialized: EShapeActionValueOpenSerialized,\n\t\tmanager: EShapeResourceManagerDeserialization\n\t): EShapeActionValueOpen {\n\t\tconst condition = EShapeActionValues.toResource(1, serialized, manager.resources);\n\t\tconst target = EShapeActionValues.toResource(3, serialized, manager.resources);\n\t\treturn new EShapeActionValueOpen(\n\t\t\tthis.toSubType(serialized),\n\t\t\tcondition,\n\t\t\ttarget,\n\t\t\tthis.inNewWindow(serialized)\n\t\t);\n\t}\n\n\tprotected static toSubType(\n\t\tserialized: EShapeActionValueOpenSerialized\n\t): typeof EShapeActionValueOpenType.DIAGRAM | typeof EShapeActionValueOpenType.PAGE {\n\t\tif (serialized.length === 6) {\n\t\t\tswitch (serialized[2]) {\n\t\t\t\tcase EShapeActionValueOpenType.DIAGRAM_LEGACY:\n\t\t\t\t\treturn EShapeActionValueOpenType.DIAGRAM;\n\t\t\t\tcase EShapeActionValueOpenType.PAGE_LEGACY:\n\t\t\t\t\treturn EShapeActionValueOpenType.PAGE;\n\t\t\t\tcase EShapeActionValueOpenType.PAGE_INPLACE_LEGACY:\n\t\t\t\t\treturn EShapeActionValueOpenType.PAGE;\n\t\t\t}\n\t\t} else {\n\t\t\treturn serialized[2];\n\t\t}\n\t}\n\n\tprotected static inNewWindow(serialized: EShapeActionValueOpenSerialized): boolean {\n\t\tif (serialized.length === 6) {\n\t\t\tswitch (serialized[2]) {\n\t\t\t\tcase EShapeActionValueOpenType.DIAGRAM_LEGACY:\n\t\t\t\t\treturn false;\n\t\t\t\tcase EShapeActionValueOpenType.PAGE_LEGACY:\n\t\t\t\t\treturn true;\n\t\t\t\tcase EShapeActionValueOpenType.PAGE_INPLACE_LEGACY:\n\t\t\t\t\treturn false;\n\t\t\t}\n\t\t} else {\n\t\t\treturn !!serialized[4];\n\t\t}\n\t}\n}\n"]}
1
+ {"version":3,"file":"e-shape-action-value-open.js","sourceRoot":"","sources":["../../../../../src/main/typescript/wcardinal/ui/shape/action/e-shape-action-value-open.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { DDiagramBaseControllerOpenType } from \"../../d-diagram-base-controller\";\nimport { EShapeResourceManagerDeserialization } from \"../e-shape-resource-manager-deserialization\";\nimport { EShapeResourceManagerSerialization } from \"../e-shape-resource-manager-serialization\";\nimport { EShapeActionRuntimeOpen } from \"./e-shape-action-runtime-open\";\nimport { EShapeActionValue } from \"./e-shape-action-value\";\nimport { EShapeActionValueOnInputAction } from \"./e-shape-action-value-on-input-action\";\nimport { EShapeActionValueOpenType } from \"./e-shape-action-value-open-type\";\nimport { EShapeActionValueSubtyped } from \"./e-shape-action-value-subtyped\";\nimport { EShapeActionValueType } from \"./e-shape-action-value-type\";\nimport { EShapeActionValues } from \"./e-shape-action-values\";\n\nexport type EShapeActionValueOpenSerializedLegacy1 = [\n\ttypeof EShapeActionValueType.OPEN,\n\tnumber,\n\t(\n\t\t| typeof EShapeActionValueOpenType.DIAGRAM_LEGACY\n\t\t| typeof EShapeActionValueOpenType.PAGE_LEGACY\n\t\t| typeof EShapeActionValueOpenType.PAGE_INPLACE_LEGACY\n\t),\n\tnumber\n];\n\nexport type EShapeActionValueOpenSerializedLegacy2 = [\n\ttypeof EShapeActionValueType.OPEN,\n\tnumber,\n\t(\n\t\t| typeof EShapeActionValueOpenType.DIAGRAM_LEGACY\n\t\t| typeof EShapeActionValueOpenType.PAGE_LEGACY\n\t\t| typeof EShapeActionValueOpenType.PAGE_INPLACE_LEGACY\n\t),\n\tnumber,\n\tEShapeActionValueOnInputAction,\n\tnumber\n];\n\nexport type EShapeActionValueOpenSerializedNew = [\n\ttypeof EShapeActionValueType.OPEN,\n\tnumber,\n\ttypeof EShapeActionValueOpenType.DIAGRAM | typeof EShapeActionValueOpenType.PAGE,\n\tnumber,\n\t0 | 1\n];\n\nexport type EShapeActionValueOpenSerialized =\n\t| EShapeActionValueOpenSerializedNew\n\t| EShapeActionValueOpenSerializedLegacy1\n\t| EShapeActionValueOpenSerializedLegacy2;\n\nexport class EShapeActionValueOpen extends EShapeActionValueSubtyped<\n\ttypeof EShapeActionValueOpenType.DIAGRAM | typeof EShapeActionValueOpenType.PAGE\n> {\n\treadonly target: string;\n\treadonly inNewWindow: boolean;\n\n\tconstructor(\n\t\tsubtype: typeof EShapeActionValueOpenType.DIAGRAM | typeof EShapeActionValueOpenType.PAGE,\n\t\tcondition: string,\n\t\ttarget: string,\n\t\tinNewWindow: boolean\n\t) {\n\t\tsuper(EShapeActionValueType.OPEN, condition, subtype);\n\t\tthis.target = target;\n\t\tthis.inNewWindow = inNewWindow;\n\t}\n\n\tisEquals(value: EShapeActionValue): boolean {\n\t\treturn (\n\t\t\tsuper.isEquals(value) &&\n\t\t\tvalue instanceof EShapeActionValueOpen &&\n\t\t\tthis.target === value.target &&\n\t\t\tthis.inNewWindow === value.inNewWindow\n\t\t);\n\t}\n\n\ttoRuntime(): EShapeActionRuntimeOpen {\n\t\tswitch (this.subtype) {\n\t\t\tcase EShapeActionValueOpenType.DIAGRAM:\n\t\t\t\treturn new EShapeActionRuntimeOpen(this, DDiagramBaseControllerOpenType.DIAGRAM);\n\t\t\tcase EShapeActionValueOpenType.PAGE:\n\t\t\t\treturn new EShapeActionRuntimeOpen(this, DDiagramBaseControllerOpenType.PAGE);\n\t\t}\n\t}\n\n\tserialize(manager: EShapeResourceManagerSerialization): number {\n\t\tconst conditionId = manager.addResource(this.condition);\n\t\tconst targetId = manager.addResource(this.target);\n\t\tconst inNewWindow = this.inNewWindow ? 1 : 0;\n\t\treturn manager.addResource(\n\t\t\t`[${this.type},${conditionId},${this.subtype},${targetId},${inNewWindow}]`\n\t\t);\n\t}\n\n\tstatic deserialize(\n\t\tserialized: EShapeActionValueOpenSerialized,\n\t\tmanager: EShapeResourceManagerDeserialization\n\t): EShapeActionValueOpen {\n\t\tconst condition = EShapeActionValues.toResource(1, serialized, manager.resources);\n\t\tconst target = EShapeActionValues.toResource(3, serialized, manager.resources);\n\t\treturn new EShapeActionValueOpen(\n\t\t\tthis.toSubType(serialized),\n\t\t\tcondition,\n\t\t\ttarget,\n\t\t\tthis.inNewWindow(serialized)\n\t\t);\n\t}\n\n\tprotected static toSubType(\n\t\tserialized: EShapeActionValueOpenSerialized\n\t): typeof EShapeActionValueOpenType.DIAGRAM | typeof EShapeActionValueOpenType.PAGE {\n\t\tswitch (serialized[2]) {\n\t\t\tcase EShapeActionValueOpenType.DIAGRAM_LEGACY:\n\t\t\t\treturn EShapeActionValueOpenType.DIAGRAM;\n\t\t\tcase EShapeActionValueOpenType.PAGE_LEGACY:\n\t\t\t\treturn EShapeActionValueOpenType.PAGE;\n\t\t\tcase EShapeActionValueOpenType.PAGE_INPLACE_LEGACY:\n\t\t\t\treturn EShapeActionValueOpenType.PAGE;\n\t\t\tcase EShapeActionValueOpenType.DIAGRAM:\n\t\t\t\treturn EShapeActionValueOpenType.DIAGRAM;\n\t\t\tcase EShapeActionValueOpenType.PAGE:\n\t\t\t\treturn EShapeActionValueOpenType.PAGE;\n\t\t}\n\t\treturn EShapeActionValueOpenType.DIAGRAM;\n\t}\n\n\tprotected static inNewWindow(serialized: EShapeActionValueOpenSerialized): boolean {\n\t\tswitch (serialized[2]) {\n\t\t\tcase EShapeActionValueOpenType.DIAGRAM_LEGACY:\n\t\t\t\treturn false;\n\t\t\tcase EShapeActionValueOpenType.PAGE_LEGACY:\n\t\t\t\treturn true;\n\t\t\tcase EShapeActionValueOpenType.PAGE_INPLACE_LEGACY:\n\t\t\t\treturn false;\n\t\t\tcase EShapeActionValueOpenType.DIAGRAM:\n\t\t\tcase EShapeActionValueOpenType.PAGE:\n\t\t\t\treturn !!serialized[4];\n\t\t}\n\t\treturn false;\n\t}\n}\n"]}
@@ -57,6 +57,8 @@ export * from "./util-gesture-easing";
57
57
  export * from "./util-gesture-mode";
58
58
  export * from "./util-gesture-modifier";
59
59
  export * from "./util-gesture-modifiers";
60
+ export * from "./util-gesture-tap";
61
+ export * from "./util-gesture-target";
60
62
  export * from "./util-gesture";
61
63
  export * from "./util-extract";
62
64
  export * from "./util-extractor-pixels";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/main/typescript/wcardinal/ui/util/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,4BAA4B,CAAC;AAC3C,cAAc,iCAAiC,CAAC;AAChD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,sBAAsB,CAAC;AACrC,cAAc,iBAAiB,CAAC;AAChC,cAAc,wCAAwC,CAAC;AACvD,cAAc,qCAAqC,CAAC;AACpD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,iCAAiC,CAAC;AAChD,cAAc,2BAA2B,CAAC;AAC1C,cAAc,sBAAsB,CAAC;AACrC,cAAc,wBAAwB,CAAC;AACvC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,0BAA0B,CAAC;AACzC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,QAAQ,CAAC;AACvB,cAAc,6BAA6B,CAAC;AAC5C,cAAc,yBAAyB,CAAC;AACxC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,0BAA0B,CAAC;AACzC,cAAc,eAAe,CAAC;AAC9B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,yBAAyB,CAAC;AACxC,cAAc,0BAA0B,CAAC;AACzC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,yBAAyB,CAAC;AACxC,cAAc,kBAAkB,CAAC;AACjC,cAAc,wBAAwB,CAAC;AACvC,cAAc,oBAAoB,CAAC;AACnC,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,qCAAqC,CAAC;AACpD,cAAc,2CAA2C,CAAC;AAC1D,cAAc,sCAAsC,CAAC;AACrD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,0BAA0B,CAAC;AACzC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,wBAAwB,CAAC;AACvC,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC;AAC7B,cAAc,uBAAuB,CAAC;AACtC,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,sBAAsB,CAAC;AACrC,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nexport * from \"./format-node\";\nexport * from \"./character\";\nexport * from \"./deep-partial\";\nexport * from \"./dynamic-atlas-item-empty\";\nexport * from \"./dynamic-atlas-item-font-atlas\";\nexport * from \"./dynamic-atlas-item-image\";\nexport * from \"./dynamic-atlas-item-text\";\nexport * from \"./dynamic-atlas-item-white\";\nexport * from \"./dynamic-atlas-item\";\nexport * from \"./dynamic-atlas\";\nexport * from \"./dynamic-font-atlas-chaaracter-origin\";\nexport * from \"./dynamic-font-atlas-character-type\";\nexport * from \"./dynamic-font-atlas-character\";\nexport * from \"./dynamic-font-atlas-characters\";\nexport * from \"./dynamic-font-atlas-font\";\nexport * from \"./dynamic-font-atlas\";\nexport * from \"./dynamic-font-atlases\";\nexport * from \"./dynamic-sdf-font-atlas-font\";\nexport * from \"./dynamic-sdf-font-atlas\";\nexport * from \"./dynamic-sdf-font-atlases\";\nexport * from \"./dynamic-sdf-font-generator\";\nexport * from \"./is-array\";\nexport * from \"./is-function\";\nexport * from \"./is-nan\";\nexport * from \"./is-number\";\nexport * from \"./is-object\";\nexport * from \"./is-string\";\nexport * from \"./lazy\";\nexport * from \"./number-formatter-function\";\nexport * from \"./number-formatter-impl\";\nexport * from \"./number-formatter\";\nexport * from \"./number-formatters\";\nexport * from \"./to-ceiling-index\";\nexport * from \"./to-cloned\";\nexport * from \"./to-enum\";\nexport * from \"./to-id\";\nexport * from \"./to-index-of\";\nexport * from \"./to-label\";\nexport * from \"./to-merged\";\nexport * from \"./to-padded\";\nexport * from \"./to-string\";\nexport * from \"./to-svg-texture\";\nexport * from \"./to-svg-url\";\nexport * from \"./util-alpha\";\nexport * from \"./util-svg-atlas-builder\";\nexport * from \"./util-attach\";\nexport * from \"./util-character-iterator\";\nexport * from \"./util-click-outside\";\nexport * from \"./util-clipboard\";\nexport * from \"./util-gesture-data\";\nexport * from \"./util-gesture-easing-history\";\nexport * from \"./util-gesture-easing\";\nexport * from \"./util-gesture-mode\";\nexport * from \"./util-gesture-modifier\";\nexport * from \"./util-gesture-modifiers\";\nexport * from \"./util-gesture\";\nexport * from \"./util-extract\";\nexport * from \"./util-extractor-pixels\";\nexport * from \"./util-extractor\";\nexport * from \"./util-file-downloader\";\nexport * from \"./util-file-opener\";\nexport * from \"./util-font\";\nexport * from \"./util-hsv\";\nexport * from \"./util-html-element-clipper-ex-impl\";\nexport * from \"./util-html-element-clipper-ex-rects-impl\";\nexport * from \"./util-html-element-clipper-ex-rects\";\nexport * from \"./util-html-element-clipper-ex\";\nexport * from \"./util-html-element-when\";\nexport * from \"./util-html-element\";\nexport * from \"./util-input-input\";\nexport * from \"./util-input-number\";\nexport * from \"./util-input-text-area\";\nexport * from \"./util-input-text\";\nexport * from \"./util-input\";\nexport * from \"./util-keyboard-event\";\nexport * from \"./util-name\";\nexport * from \"./util-overlay\";\nexport * from \"./util-pointer-event\";\nexport * from \"./util-rgb\";\nexport * from \"./util-rgba\";\nexport * from \"./util-state-blinker\";\nexport * from \"./util-transition\";\nexport * from \"./util-wheel-event\";\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/main/typescript/wcardinal/ui/util/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,4BAA4B,CAAC;AAC3C,cAAc,iCAAiC,CAAC;AAChD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,sBAAsB,CAAC;AACrC,cAAc,iBAAiB,CAAC;AAChC,cAAc,wCAAwC,CAAC;AACvD,cAAc,qCAAqC,CAAC;AACpD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,iCAAiC,CAAC;AAChD,cAAc,2BAA2B,CAAC;AAC1C,cAAc,sBAAsB,CAAC;AACrC,cAAc,wBAAwB,CAAC;AACvC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,0BAA0B,CAAC;AACzC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,QAAQ,CAAC;AACvB,cAAc,6BAA6B,CAAC;AAC5C,cAAc,yBAAyB,CAAC;AACxC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,0BAA0B,CAAC;AACzC,cAAc,eAAe,CAAC;AAC9B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,yBAAyB,CAAC;AACxC,cAAc,0BAA0B,CAAC;AACzC,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,yBAAyB,CAAC;AACxC,cAAc,kBAAkB,CAAC;AACjC,cAAc,wBAAwB,CAAC;AACvC,cAAc,oBAAoB,CAAC;AACnC,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,qCAAqC,CAAC;AACpD,cAAc,2CAA2C,CAAC;AAC1D,cAAc,sCAAsC,CAAC;AACrD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,0BAA0B,CAAC;AACzC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,wBAAwB,CAAC;AACvC,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC;AAC7B,cAAc,uBAAuB,CAAC;AACtC,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,sBAAsB,CAAC;AACrC,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nexport * from \"./format-node\";\nexport * from \"./character\";\nexport * from \"./deep-partial\";\nexport * from \"./dynamic-atlas-item-empty\";\nexport * from \"./dynamic-atlas-item-font-atlas\";\nexport * from \"./dynamic-atlas-item-image\";\nexport * from \"./dynamic-atlas-item-text\";\nexport * from \"./dynamic-atlas-item-white\";\nexport * from \"./dynamic-atlas-item\";\nexport * from \"./dynamic-atlas\";\nexport * from \"./dynamic-font-atlas-chaaracter-origin\";\nexport * from \"./dynamic-font-atlas-character-type\";\nexport * from \"./dynamic-font-atlas-character\";\nexport * from \"./dynamic-font-atlas-characters\";\nexport * from \"./dynamic-font-atlas-font\";\nexport * from \"./dynamic-font-atlas\";\nexport * from \"./dynamic-font-atlases\";\nexport * from \"./dynamic-sdf-font-atlas-font\";\nexport * from \"./dynamic-sdf-font-atlas\";\nexport * from \"./dynamic-sdf-font-atlases\";\nexport * from \"./dynamic-sdf-font-generator\";\nexport * from \"./is-array\";\nexport * from \"./is-function\";\nexport * from \"./is-nan\";\nexport * from \"./is-number\";\nexport * from \"./is-object\";\nexport * from \"./is-string\";\nexport * from \"./lazy\";\nexport * from \"./number-formatter-function\";\nexport * from \"./number-formatter-impl\";\nexport * from \"./number-formatter\";\nexport * from \"./number-formatters\";\nexport * from \"./to-ceiling-index\";\nexport * from \"./to-cloned\";\nexport * from \"./to-enum\";\nexport * from \"./to-id\";\nexport * from \"./to-index-of\";\nexport * from \"./to-label\";\nexport * from \"./to-merged\";\nexport * from \"./to-padded\";\nexport * from \"./to-string\";\nexport * from \"./to-svg-texture\";\nexport * from \"./to-svg-url\";\nexport * from \"./util-alpha\";\nexport * from \"./util-svg-atlas-builder\";\nexport * from \"./util-attach\";\nexport * from \"./util-character-iterator\";\nexport * from \"./util-click-outside\";\nexport * from \"./util-clipboard\";\nexport * from \"./util-gesture-data\";\nexport * from \"./util-gesture-easing-history\";\nexport * from \"./util-gesture-easing\";\nexport * from \"./util-gesture-mode\";\nexport * from \"./util-gesture-modifier\";\nexport * from \"./util-gesture-modifiers\";\nexport * from \"./util-gesture-tap\";\nexport * from \"./util-gesture-target\";\nexport * from \"./util-gesture\";\nexport * from \"./util-extract\";\nexport * from \"./util-extractor-pixels\";\nexport * from \"./util-extractor\";\nexport * from \"./util-file-downloader\";\nexport * from \"./util-file-opener\";\nexport * from \"./util-font\";\nexport * from \"./util-hsv\";\nexport * from \"./util-html-element-clipper-ex-impl\";\nexport * from \"./util-html-element-clipper-ex-rects-impl\";\nexport * from \"./util-html-element-clipper-ex-rects\";\nexport * from \"./util-html-element-clipper-ex\";\nexport * from \"./util-html-element-when\";\nexport * from \"./util-html-element\";\nexport * from \"./util-input-input\";\nexport * from \"./util-input-number\";\nexport * from \"./util-input-text-area\";\nexport * from \"./util-input-text\";\nexport * from \"./util-input\";\nexport * from \"./util-keyboard-event\";\nexport * from \"./util-name\";\nexport * from \"./util-overlay\";\nexport * from \"./util-pointer-event\";\nexport * from \"./util-rgb\";\nexport * from \"./util-rgba\";\nexport * from \"./util-state-blinker\";\nexport * from \"./util-transition\";\nexport * from \"./util-wheel-event\";\n"]}
@@ -10,6 +10,7 @@ var UtilGestureData = /** @class */ (function () {
10
10
  this.center = new Point();
11
11
  this.scale = 0;
12
12
  this.time = 0;
13
+ this.distance = 0;
13
14
  }
14
15
  UtilGestureData.prototype.start = function (e) {
15
16
  var oe = e.data.originalEvent;
@@ -1 +1 @@
1
- {"version":3,"file":"util-gesture-data.js","sourceRoot":"","sources":["../../../../src/main/typescript/wcardinal/ui/util/util-gesture-data.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, Point } from \"pixi.js\";\nimport { UtilGestureEasing } from \"./util-gesture-easing\";\nimport { UtilPointerEvent } from \"./util-pointer-event\";\n\nexport class UtilGestureData<TARGET> {\n\ttarget?: TARGET;\n\tpointers: Map<number, PointerEvent>;\n\tinteractionManager?: InteractionManager;\n\tcenter: Point;\n\tscale: number;\n\ttime: number;\n\tonMove?: (e: InteractionEvent) => void;\n\tonEnd?: (e: InteractionEvent) => void;\n\teasing?: UtilGestureEasing;\n\n\tconstructor() {\n\t\tthis.pointers = new Map<number, PointerEvent>();\n\t\tthis.center = new Point();\n\t\tthis.scale = 0;\n\t\tthis.time = 0;\n\t}\n\n\tstart(e: InteractionEvent): void {\n\t\tconst oe = e.data.originalEvent;\n\t\tif (\"pointerId\" in oe) {\n\t\t\tthis.pointers.set(oe.pointerId, oe);\n\t\t}\n\t\tthis.doUpdate(e);\n\t}\n\n\tisUpdatable(e: InteractionEvent): boolean {\n\t\tconst oe = e.data.originalEvent;\n\t\tif (\"pointerId\" in oe) {\n\t\t\treturn this.pointers.has(oe.pointerId);\n\t\t}\n\t\treturn true;\n\t}\n\n\tupdate(e: InteractionEvent): void {\n\t\tconst oe = e.data.originalEvent;\n\t\tif (\"pointerId\" in oe) {\n\t\t\tthis.pointers.set(oe.pointerId, oe);\n\t\t}\n\t\tthis.doUpdate(e);\n\t}\n\n\tend(e: InteractionEvent): boolean {\n\t\tlet result = true;\n\t\tconst oe = e.data.originalEvent;\n\t\tif (\"touches\" in oe) {\n\t\t\tresult = oe.touches.length <= 0;\n\t\t} else if (\"pointerId\" in oe) {\n\t\t\tconst pointers = this.pointers;\n\t\t\tpointers.delete(oe.pointerId);\n\t\t\tresult = pointers.size <= 0;\n\t\t}\n\t\tthis.doUpdate(e);\n\t\treturn result;\n\t}\n\n\tbind(e: InteractionEvent): void {\n\t\tconst interactionManager = this.interactionManager;\n\t\tif (interactionManager) {\n\t\t\tconst onMove = this.onMove;\n\t\t\tif (onMove) {\n\t\t\t\tinteractionManager.on(UtilPointerEvent.move, onMove);\n\t\t\t}\n\t\t\tconst onEnd = this.onEnd;\n\t\t\tif (onEnd) {\n\t\t\t\tinteractionManager.on(UtilPointerEvent.up, onEnd);\n\t\t\t\tinteractionManager.on(UtilPointerEvent.upoutside, onEnd);\n\t\t\t\tinteractionManager.on(UtilPointerEvent.cancel, onEnd);\n\t\t\t}\n\t\t}\n\t}\n\n\tunbind(): void {\n\t\tconst interactionManager = this.interactionManager;\n\t\tif (interactionManager) {\n\t\t\tconst onMove = this.onMove;\n\t\t\tif (onMove) {\n\t\t\t\tinteractionManager.off(UtilPointerEvent.move, onMove);\n\t\t\t}\n\t\t\tconst onEnd = this.onEnd;\n\t\t\tif (onEnd) {\n\t\t\t\tinteractionManager.off(UtilPointerEvent.up, onEnd);\n\t\t\t\tinteractionManager.off(UtilPointerEvent.upoutside, onEnd);\n\t\t\t\tinteractionManager.off(UtilPointerEvent.cancel, onEnd);\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected doUpdate(e: InteractionEvent): void {\n\t\tconst interactionManager = this.interactionManager;\n\t\tconst center = this.center;\n\t\tconst oe = e.data.originalEvent;\n\t\tthis.scale = 0;\n\t\tthis.time = oe.timeStamp;\n\t\tif (\"touches\" in oe) {\n\t\t\tconst touches = oe.touches;\n\t\t\tconst touchesLength = touches.length;\n\t\t\tif (0 < touchesLength) {\n\t\t\t\t// Update the center\n\t\t\t\tlet centerX = 0;\n\t\t\t\tlet centerY = 0;\n\t\t\t\tfor (let i = 0, imax = touches.length; i < imax; ++i) {\n\t\t\t\t\tconst touch = touches[i];\n\t\t\t\t\tcenterX += touch.clientX;\n\t\t\t\t\tcenterY += touch.clientY;\n\t\t\t\t}\n\t\t\t\tcenterX /= touchesLength;\n\t\t\t\tcenterY /= touchesLength;\n\t\t\t\tif (interactionManager) {\n\t\t\t\t\tinteractionManager.mapPositionToPoint(center, centerX, centerY);\n\t\t\t\t} else {\n\t\t\t\t\tcenter.set(centerX, centerY);\n\t\t\t\t}\n\n\t\t\t\tif (1 < touchesLength) {\n\t\t\t\t\t// Calculate the maximum distance from the center\n\t\t\t\t\tlet squareDistance = 0;\n\t\t\t\t\tfor (let i = 1, imax = touches.length; i < imax; ++i) {\n\t\t\t\t\t\tconst touch = touches[i];\n\t\t\t\t\t\tconst dx = touch.clientX - centerX;\n\t\t\t\t\t\tconst dy = touch.clientY - centerY;\n\t\t\t\t\t\tsquareDistance = Math.max(squareDistance, dx * dx + dy * dy);\n\t\t\t\t\t}\n\t\t\t\t\tthis.scale = Math.sqrt(squareDistance);\n\t\t\t\t}\n\t\t\t}\n\t\t} else if (\"pointerId\" in oe) {\n\t\t\tconst pointers = this.pointers;\n\t\t\tconst pointersSize = pointers.size;\n\t\t\tif (0 < pointersSize) {\n\t\t\t\t// Update the center\n\t\t\t\tlet centerX = 0;\n\t\t\t\tlet centerY = 0;\n\t\t\t\tpointers.forEach((pointer): void => {\n\t\t\t\t\tcenterX += pointer.clientX;\n\t\t\t\t\tcenterY += pointer.clientY;\n\t\t\t\t});\n\t\t\t\tcenterX /= pointersSize;\n\t\t\t\tcenterY /= pointersSize;\n\t\t\t\tif (interactionManager) {\n\t\t\t\t\tinteractionManager.mapPositionToPoint(center, centerX, centerY);\n\t\t\t\t} else {\n\t\t\t\t\tcenter.set(centerX, centerY);\n\t\t\t\t}\n\n\t\t\t\tif (1 < pointersSize) {\n\t\t\t\t\t// Calculate the maximum distance from the center\n\t\t\t\t\tlet squareDistance = 0;\n\t\t\t\t\tpointers.forEach((pointer): void => {\n\t\t\t\t\t\tconst dx = pointer.clientX - centerX;\n\t\t\t\t\t\tconst dy = pointer.clientY - centerY;\n\t\t\t\t\t\tsquareDistance = Math.max(squareDistance, dx * dx + dy * dy);\n\t\t\t\t\t});\n\t\t\t\t\tthis.scale = Math.sqrt(squareDistance);\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tcenter.copyFrom(e.data.global);\n\t\t}\n\t}\n}\n"]}
1
+ {"version":3,"file":"util-gesture-data.js","sourceRoot":"","sources":["../../../../src/main/typescript/wcardinal/ui/util/util-gesture-data.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, Point } from \"pixi.js\";\nimport { UtilGestureEasing } from \"./util-gesture-easing\";\nimport { UtilPointerEvent } from \"./util-pointer-event\";\n\nexport class UtilGestureData<TARGET> {\n\ttarget?: TARGET;\n\tpointers: Map<number, PointerEvent>;\n\tinteractionManager?: InteractionManager;\n\tcenter: Point;\n\tscale: number;\n\ttime: number;\n\tdistance: number;\n\tonMove?: (e: InteractionEvent) => void;\n\tonEnd?: (e: InteractionEvent) => void;\n\teasing?: UtilGestureEasing;\n\n\tconstructor() {\n\t\tthis.pointers = new Map<number, PointerEvent>();\n\t\tthis.center = new Point();\n\t\tthis.scale = 0;\n\t\tthis.time = 0;\n\t\tthis.distance = 0;\n\t}\n\n\tstart(e: InteractionEvent): void {\n\t\tconst oe = e.data.originalEvent;\n\t\tif (\"pointerId\" in oe) {\n\t\t\tthis.pointers.set(oe.pointerId, oe);\n\t\t}\n\t\tthis.doUpdate(e);\n\t}\n\n\tisUpdatable(e: InteractionEvent): boolean {\n\t\tconst oe = e.data.originalEvent;\n\t\tif (\"pointerId\" in oe) {\n\t\t\treturn this.pointers.has(oe.pointerId);\n\t\t}\n\t\treturn true;\n\t}\n\n\tupdate(e: InteractionEvent): void {\n\t\tconst oe = e.data.originalEvent;\n\t\tif (\"pointerId\" in oe) {\n\t\t\tthis.pointers.set(oe.pointerId, oe);\n\t\t}\n\t\tthis.doUpdate(e);\n\t}\n\n\tend(e: InteractionEvent): boolean {\n\t\tlet result = true;\n\t\tconst oe = e.data.originalEvent;\n\t\tif (\"touches\" in oe) {\n\t\t\tresult = oe.touches.length <= 0;\n\t\t} else if (\"pointerId\" in oe) {\n\t\t\tconst pointers = this.pointers;\n\t\t\tpointers.delete(oe.pointerId);\n\t\t\tresult = pointers.size <= 0;\n\t\t}\n\t\tthis.doUpdate(e);\n\t\treturn result;\n\t}\n\n\tbind(e: InteractionEvent): void {\n\t\tconst interactionManager = this.interactionManager;\n\t\tif (interactionManager) {\n\t\t\tconst onMove = this.onMove;\n\t\t\tif (onMove) {\n\t\t\t\tinteractionManager.on(UtilPointerEvent.move, onMove);\n\t\t\t}\n\t\t\tconst onEnd = this.onEnd;\n\t\t\tif (onEnd) {\n\t\t\t\tinteractionManager.on(UtilPointerEvent.up, onEnd);\n\t\t\t\tinteractionManager.on(UtilPointerEvent.upoutside, onEnd);\n\t\t\t\tinteractionManager.on(UtilPointerEvent.cancel, onEnd);\n\t\t\t}\n\t\t}\n\t}\n\n\tunbind(): void {\n\t\tconst interactionManager = this.interactionManager;\n\t\tif (interactionManager) {\n\t\t\tconst onMove = this.onMove;\n\t\t\tif (onMove) {\n\t\t\t\tinteractionManager.off(UtilPointerEvent.move, onMove);\n\t\t\t}\n\t\t\tconst onEnd = this.onEnd;\n\t\t\tif (onEnd) {\n\t\t\t\tinteractionManager.off(UtilPointerEvent.up, onEnd);\n\t\t\t\tinteractionManager.off(UtilPointerEvent.upoutside, onEnd);\n\t\t\t\tinteractionManager.off(UtilPointerEvent.cancel, onEnd);\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected doUpdate(e: InteractionEvent): void {\n\t\tconst interactionManager = this.interactionManager;\n\t\tconst center = this.center;\n\t\tconst oe = e.data.originalEvent;\n\t\tthis.scale = 0;\n\t\tthis.time = oe.timeStamp;\n\t\tif (\"touches\" in oe) {\n\t\t\tconst touches = oe.touches;\n\t\t\tconst touchesLength = touches.length;\n\t\t\tif (0 < touchesLength) {\n\t\t\t\t// Update the center\n\t\t\t\tlet centerX = 0;\n\t\t\t\tlet centerY = 0;\n\t\t\t\tfor (let i = 0, imax = touches.length; i < imax; ++i) {\n\t\t\t\t\tconst touch = touches[i];\n\t\t\t\t\tcenterX += touch.clientX;\n\t\t\t\t\tcenterY += touch.clientY;\n\t\t\t\t}\n\t\t\t\tcenterX /= touchesLength;\n\t\t\t\tcenterY /= touchesLength;\n\t\t\t\tif (interactionManager) {\n\t\t\t\t\tinteractionManager.mapPositionToPoint(center, centerX, centerY);\n\t\t\t\t} else {\n\t\t\t\t\tcenter.set(centerX, centerY);\n\t\t\t\t}\n\n\t\t\t\tif (1 < touchesLength) {\n\t\t\t\t\t// Calculate the maximum distance from the center\n\t\t\t\t\tlet squareDistance = 0;\n\t\t\t\t\tfor (let i = 1, imax = touches.length; i < imax; ++i) {\n\t\t\t\t\t\tconst touch = touches[i];\n\t\t\t\t\t\tconst dx = touch.clientX - centerX;\n\t\t\t\t\t\tconst dy = touch.clientY - centerY;\n\t\t\t\t\t\tsquareDistance = Math.max(squareDistance, dx * dx + dy * dy);\n\t\t\t\t\t}\n\t\t\t\t\tthis.scale = Math.sqrt(squareDistance);\n\t\t\t\t}\n\t\t\t}\n\t\t} else if (\"pointerId\" in oe) {\n\t\t\tconst pointers = this.pointers;\n\t\t\tconst pointersSize = pointers.size;\n\t\t\tif (0 < pointersSize) {\n\t\t\t\t// Update the center\n\t\t\t\tlet centerX = 0;\n\t\t\t\tlet centerY = 0;\n\t\t\t\tpointers.forEach((pointer): void => {\n\t\t\t\t\tcenterX += pointer.clientX;\n\t\t\t\t\tcenterY += pointer.clientY;\n\t\t\t\t});\n\t\t\t\tcenterX /= pointersSize;\n\t\t\t\tcenterY /= pointersSize;\n\t\t\t\tif (interactionManager) {\n\t\t\t\t\tinteractionManager.mapPositionToPoint(center, centerX, centerY);\n\t\t\t\t} else {\n\t\t\t\t\tcenter.set(centerX, centerY);\n\t\t\t\t}\n\n\t\t\t\tif (1 < pointersSize) {\n\t\t\t\t\t// Calculate the maximum distance from the center\n\t\t\t\t\tlet squareDistance = 0;\n\t\t\t\t\tpointers.forEach((pointer): void => {\n\t\t\t\t\t\tconst dx = pointer.clientX - centerX;\n\t\t\t\t\t\tconst dy = pointer.clientY - centerY;\n\t\t\t\t\t\tsquareDistance = Math.max(squareDistance, dx * dx + dy * dy);\n\t\t\t\t\t});\n\t\t\t\t\tthis.scale = Math.sqrt(squareDistance);\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tcenter.copyFrom(e.data.global);\n\t\t}\n\t}\n}\n"]}
@@ -0,0 +1,148 @@
1
+ /*
2
+ * Copyright (C) 2019 Toshiba Corporation
3
+ * SPDX-License-Identifier: Apache-2.0
4
+ */
5
+ import { DApplications } from "../d-applications";
6
+ import { UtilGestureData } from "./util-gesture-data";
7
+ import { UtilPointerEvent } from "./util-pointer-event";
8
+ var UtilGestureTap = /** @class */ (function () {
9
+ function UtilGestureTap(on, options) {
10
+ var _a;
11
+ this._onTap = on === null || on === void 0 ? void 0 : on.tap;
12
+ this._threshold = (_a = options === null || options === void 0 ? void 0 : options.threshold) !== null && _a !== void 0 ? _a : 10;
13
+ this._unused = [];
14
+ this._used = new Map();
15
+ }
16
+ UtilGestureTap.prototype.newData = function (target) {
17
+ var used = this._used;
18
+ var result = used.get(target);
19
+ if (result != null) {
20
+ return result;
21
+ }
22
+ var poped = this._unused.pop();
23
+ if (poped != null) {
24
+ used.set(target, poped);
25
+ return poped;
26
+ }
27
+ var created = new UtilGestureData();
28
+ created.easing = undefined;
29
+ created.onMove = this.newOnMove(created);
30
+ created.onEnd = this.newOnEnd(created);
31
+ used.set(target, created);
32
+ return created;
33
+ };
34
+ UtilGestureTap.prototype.deleteData = function (data) {
35
+ var target = data.target;
36
+ if (target) {
37
+ if (this._used.delete(target)) {
38
+ data.target = undefined;
39
+ data.pointers.clear();
40
+ this._unused.push(data);
41
+ }
42
+ }
43
+ };
44
+ UtilGestureTap.prototype.newOnMove = function (data) {
45
+ var _this = this;
46
+ return function (e) {
47
+ _this.onMove(e, data);
48
+ };
49
+ };
50
+ UtilGestureTap.prototype.newOnEnd = function (data) {
51
+ var _this = this;
52
+ return function (e) {
53
+ _this.onEnd(e, data);
54
+ };
55
+ };
56
+ UtilGestureTap.prototype.onDown = function (target, e) {
57
+ var _a;
58
+ if (this._onTap == null) {
59
+ return;
60
+ }
61
+ var layer = DApplications.getLayer(target);
62
+ if (layer == null) {
63
+ return;
64
+ }
65
+ e.stopPropagation();
66
+ if (target.state.isGesturing) {
67
+ (_a = this._used.get(target)) === null || _a === void 0 ? void 0 : _a.start(e);
68
+ }
69
+ else {
70
+ var data = this.newData(target);
71
+ data.target = target;
72
+ data.distance = 0;
73
+ target.state.isGesturing = true;
74
+ // Interaction manager
75
+ var interactionManager = layer.renderer.plugins.interaction;
76
+ data.interactionManager = interactionManager;
77
+ // Update the center
78
+ data.start(e);
79
+ // Event handler
80
+ data.bind(e);
81
+ }
82
+ };
83
+ UtilGestureTap.prototype.onMove = function (e, data) {
84
+ var target = data.target;
85
+ if (target == null || !target.state.isGesturing) {
86
+ return;
87
+ }
88
+ if (!data.isUpdatable(e)) {
89
+ return;
90
+ }
91
+ // Update the center
92
+ var center = data.center;
93
+ var oldCenterX = center.x;
94
+ var oldCenterY = center.y;
95
+ data.update(e);
96
+ var newCenterX = center.x;
97
+ var newCenterY = center.y;
98
+ // Calculate the position
99
+ var dx = newCenterX - oldCenterX;
100
+ var dy = newCenterY - oldCenterY;
101
+ // Distance
102
+ data.distance += Math.abs(dx) + Math.abs(dy);
103
+ };
104
+ UtilGestureTap.prototype.onEnd = function (e, data) {
105
+ var target = data.target;
106
+ if (target == null || !target.state.isGesturing) {
107
+ return;
108
+ }
109
+ if (!data.end(e)) {
110
+ return;
111
+ }
112
+ // State
113
+ target.state.isGesturing = false;
114
+ // Remove event handlers
115
+ var interactionManager = data.interactionManager;
116
+ data.interactionManager = undefined;
117
+ if (interactionManager) {
118
+ var onMoveBound = data.onMove;
119
+ if (onMoveBound) {
120
+ interactionManager.off(UtilPointerEvent.move, onMoveBound);
121
+ }
122
+ var onEndBound = data.onEnd;
123
+ if (onEndBound) {
124
+ interactionManager.off(UtilPointerEvent.up, onEndBound);
125
+ interactionManager.off(UtilPointerEvent.cancel, onEndBound);
126
+ }
127
+ }
128
+ // Tap
129
+ this.end(target, data, e);
130
+ // Delete this data
131
+ this.deleteData(data);
132
+ };
133
+ UtilGestureTap.prototype.end = function (target, data, e) {
134
+ var onTap = this._onTap;
135
+ if (onTap && data.distance < this._threshold) {
136
+ onTap(target, e);
137
+ }
138
+ };
139
+ UtilGestureTap.prototype.stop = function (target) {
140
+ var data = this._used.get(target);
141
+ if (data != null) {
142
+ this.deleteData(data);
143
+ }
144
+ };
145
+ return UtilGestureTap;
146
+ }());
147
+ export { UtilGestureTap };
148
+ //# sourceMappingURL=util-gesture-tap.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"util-gesture-tap.js","sourceRoot":"","sources":["../../../../src/main/typescript/wcardinal/ui/util/util-gesture-tap.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 } from \"pixi.js\";\nimport { DApplications } from \"../d-applications\";\nimport { UtilGestureData } from \"./util-gesture-data\";\nimport { UtilPointerEvent } from \"./util-pointer-event\";\nimport { UtilGestureTarget } from \"./util-gesture-target\";\n\nexport type UtilGestureOnTap<TARGET> = (target: TARGET, e: InteractionEvent) => void;\n\nexport interface UtilGestureTapOnOptions<TARGET> {\n\ttap?: UtilGestureOnTap<TARGET>;\n}\n\nexport interface UtilGestureTapOptions<TARGET> {\n\tthreshold?: number;\n}\n\nexport class UtilGestureTap<TARGET extends UtilGestureTarget> {\n\tprotected _onTap?: UtilGestureOnTap<TARGET>;\n\tprotected _threshold: number;\n\tprotected _unused: Array<UtilGestureData<TARGET>>;\n\tprotected _used: Map<TARGET, UtilGestureData<TARGET>>;\n\n\tconstructor(on?: UtilGestureTapOnOptions<TARGET>, options?: UtilGestureTapOptions<TARGET>) {\n\t\tthis._onTap = on?.tap;\n\t\tthis._threshold = options?.threshold ?? 10;\n\t\tthis._unused = [];\n\t\tthis._used = new Map<TARGET, UtilGestureData<TARGET>>();\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 = undefined;\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 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\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\tonDown(target: TARGET, e: InteractionEvent): void {\n\t\tif (this._onTap == null) {\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\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\tconst data = this.newData(target);\n\t\t\tdata.target = target;\n\t\t\tdata.distance = 0;\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// Event handler\n\t\t\tdata.bind(e);\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)) {\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\tdata.update(e);\n\t\tconst newCenterX = center.x;\n\t\tconst newCenterY = center.y;\n\n\t\t// Calculate the position\n\t\tconst dx = newCenterX - oldCenterX;\n\t\tconst dy = newCenterY - oldCenterY;\n\n\t\t// Distance\n\t\tdata.distance += Math.abs(dx) + Math.abs(dy);\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// Tap\n\t\tthis.end(target, data, e);\n\n\t\t// Delete this data\n\t\tthis.deleteData(data);\n\t}\n\n\tend(target: TARGET, data: UtilGestureData<TARGET>, e: InteractionEvent): void {\n\t\tconst onTap = this._onTap;\n\t\tif (onTap && data.distance < this._threshold) {\n\t\t\tonTap(target, e);\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\tthis.deleteData(data);\n\t\t}\n\t}\n}\n"]}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=util-gesture-target.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"util-gesture-target.js","sourceRoot":"","sources":["../../../../src/main/typescript/wcardinal/ui/util/util-gesture-target.ts"],"names":[],"mappings":"","sourcesContent":["import { DApplicationTarget } from \"../d-application-like\";\nimport { DBaseStateSet } from \"../d-base-state-set\";\n\nexport interface UtilGestureTarget extends DApplicationTarget {\n\tstate: DBaseStateSet;\n}\n"]}
@@ -8,6 +8,7 @@ import { UtilGestureModifiers } from "./util-gesture-modifiers";
8
8
  import { UtilGestureData } from "./util-gesture-data";
9
9
  import { UtilGestureEasing } from "./util-gesture-easing";
10
10
  import { UtilPointerEvent } from "./util-pointer-event";
11
+ import { UtilGestureTap } from "./util-gesture-tap";
11
12
  var UtilGesture = /** @class */ (function () {
12
13
  function UtilGesture(options) {
13
14
  var _a, _b, _c;
@@ -32,6 +33,7 @@ var UtilGesture = /** @class */ (function () {
32
33
  this._touch = !!options.touch;
33
34
  this._unused = [];
34
35
  this._used = new Map();
36
+ this._tap = new UtilGestureTap(options.on, options.tap);
35
37
  var bind = options.bind;
36
38
  if (bind != null) {
37
39
  this.bind(bind);
@@ -104,10 +106,10 @@ var UtilGesture = /** @class */ (function () {
104
106
  UtilGesture.prototype.onDown = function (target, e) {
105
107
  var _a;
106
108
  if (this._touch && !this.isTouch(e)) {
107
- return;
109
+ return this._tap.onDown(target, e);
108
110
  }
109
111
  if (!this._checkerStart(e, this._modifier, target)) {
110
- return;
112
+ return this._tap.onDown(target, e);
111
113
  }
112
114
  var layer = DApplications.getLayer(target);
113
115
  if (layer == null) {
@@ -125,6 +127,7 @@ var UtilGesture = /** @class */ (function () {
125
127
  }
126
128
  var data = this.newData(target);
127
129
  data.target = target;
130
+ data.distance = 0;
128
131
  target.state.isGesturing = true;
129
132
  // Interaction manager
130
133
  var interactionManager = layer.renderer.plugins.interaction;
@@ -177,6 +180,8 @@ var UtilGesture = /** @class */ (function () {
177
180
  var dt = newTime - oldTime;
178
181
  var epsilon = 0.00001;
179
182
  var ds = epsilon < oldScale && epsilon < newScale ? newScale / oldScale : 1;
183
+ // Distance
184
+ data.distance += Math.abs(dx) + Math.abs(dy);
180
185
  // Easing
181
186
  var easing = data.easing;
182
187
  if (easing) {
@@ -220,6 +225,8 @@ var UtilGesture = /** @class */ (function () {
220
225
  if (onEnd != null) {
221
226
  onEnd(target);
222
227
  }
228
+ // Tap
229
+ this._tap.end(target, data, e);
223
230
  // Start the Easing
224
231
  var onEasingStart = this._onEasingStart;
225
232
  if (onEasingStart) {
@@ -253,27 +260,31 @@ var UtilGesture = /** @class */ (function () {
253
260
  var x = center.x + dx;
254
261
  var y = center.y + dy;
255
262
  center.set(x, y);
256
- onMove(data.target, dx, dy, x, y, ds);
263
+ onMove(target, dx, dy, x, y, ds);
257
264
  };
258
265
  UtilGesture.prototype.onEasingEnd = function (data) {
259
266
  var target = data.target;
260
267
  this.deleteData(data);
261
- var onEasingEnd = this._onEasingEnd;
262
- if (onEasingEnd && target != null) {
263
- onEasingEnd(target);
268
+ if (target != null) {
269
+ var onEasingEnd = this._onEasingEnd;
270
+ if (onEasingEnd) {
271
+ onEasingEnd(target);
272
+ }
264
273
  }
265
274
  };
266
275
  UtilGesture.prototype.stop = function (target) {
267
- var _a;
276
+ this._tap.stop(target);
268
277
  var data = this._used.get(target);
269
- if (data == null) {
270
- return;
271
- }
272
- (_a = data.easing) === null || _a === void 0 ? void 0 : _a.stop();
273
- this.deleteData(data);
274
- var onStop = this._onStop;
275
- if (onStop) {
276
- onStop(target);
278
+ if (data != null) {
279
+ var easing = data.easing;
280
+ if (easing != null) {
281
+ easing.stop();
282
+ }
283
+ this.deleteData(data);
284
+ var onStop = this._onStop;
285
+ if (onStop) {
286
+ onStop(target);
287
+ }
277
288
  }
278
289
  };
279
290
  return UtilGesture;
@@ -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 { 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\tconst oldTime = data.time;\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(data.time - oldTime);\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":"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","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { InteractionEvent, utils } from \"pixi.js\";\nimport { DApplications } from \"../d-applications\";\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 { UtilGestureTap, UtilGestureTapOnOptions, UtilGestureTapOptions } from \"./util-gesture-tap\";\nimport { UtilGestureTarget } from \"./util-gesture-target\";\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> extends UtilGestureTapOnOptions<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/**\n\t * Tap options\n\t */\n\ttap?: UtilGestureTapOptions<TARGET>;\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\tprotected _tap: UtilGestureTap<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\tthis._tap = new UtilGestureTap(options.on, options.tap);\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 this._tap.onDown(target, e);\n\t\t}\n\t\tif (!this._checkerStart(e, this._modifier, target)) {\n\t\t\treturn this._tap.onDown(target, e);\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\tdata.distance = 0;\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// Distance\n\t\tdata.distance += Math.abs(dx) + Math.abs(dy);\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\tconst oldTime = data.time;\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// Tap\n\t\tthis._tap.end(target, data, e);\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(data.time - oldTime);\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(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\tif (target != null) {\n\t\t\tconst onEasingEnd = this._onEasingEnd;\n\t\t\tif (onEasingEnd) {\n\t\t\t\tonEasingEnd(target);\n\t\t\t}\n\t\t}\n\t}\n\n\tstop(target: TARGET): void {\n\t\tthis._tap.stop(target);\n\n\t\tconst data = this._used.get(target);\n\t\tif (data != null) {\n\t\t\tconst easing = data.easing;\n\t\t\tif (easing != null) {\n\t\t\t\teasing.stop();\n\t\t\t}\n\t\t\tthis.deleteData(data);\n\t\t\tconst onStop = this._onStop;\n\t\t\tif (onStop) {\n\t\t\t\tonStop(target);\n\t\t\t}\n\t\t}\n\t}\n}\n"]}
@@ -1,5 +1,5 @@
1
1
  /*
2
- Winter Cardinal UI v0.427.0
2
+ Winter Cardinal UI v0.429.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.427.0
2
+ Winter Cardinal UI v0.429.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.427.0
2
+ Winter Cardinal UI v0.429.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.427.0
2
+ Winter Cardinal UI v0.429.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.427.0
2
+ Winter Cardinal UI v0.429.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.427.0
2
+ Winter Cardinal UI v0.429.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.427.0
2
+ Winter Cardinal UI v0.429.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.427.0
2
+ Winter Cardinal UI v0.429.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.427.0
2
+ Winter Cardinal UI v0.429.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.427.0
2
+ Winter Cardinal UI v0.429.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.427.0
2
+ Winter Cardinal UI v0.429.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.427.0
2
+ Winter Cardinal UI v0.429.0
3
3
  Copyright (C) 2019 Toshiba Corporation
4
4
  SPDX-License-Identifier: Apache-2.0
5
5