@hatiolab/things-scene 9.0.0-beta.36 → 9.0.0-beta.38

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 (397) hide show
  1. package/package.json +1 -1
  2. package/things-scene-min.js +11 -11
  3. package/things-scene-min.js.map +1 -1
  4. package/things-scene.mjs +11 -11
  5. package/things-scene.mjs.map +1 -1
  6. package/.cursorignore +0 -62
  7. package/.prettierrc +0 -21
  8. package/assets/icon-audio.png +0 -0
  9. package/assets/icon-gif-viewer.png +0 -0
  10. package/assets/images/spinner.png +0 -0
  11. package/babel.config.js +0 -23
  12. package/db.sqlite +0 -0
  13. package/dist/animation/animate.js +0 -63
  14. package/dist/animation/animate.js.map +0 -1
  15. package/dist/animation/animations/animation.js +0 -122
  16. package/dist/animation/animations/animation.js.map +0 -1
  17. package/dist/animation/animations/fade.js +0 -28
  18. package/dist/animation/animations/fade.js.map +0 -1
  19. package/dist/animation/animations/heartbeat.js +0 -28
  20. package/dist/animation/animations/heartbeat.js.map +0 -1
  21. package/dist/animation/animations/moving.js +0 -24
  22. package/dist/animation/animations/moving.js.map +0 -1
  23. package/dist/animation/animations/outline.js +0 -47
  24. package/dist/animation/animations/outline.js.map +0 -1
  25. package/dist/animation/animations/rotation.js +0 -22
  26. package/dist/animation/animations/rotation.js.map +0 -1
  27. package/dist/animation/animations/vibration.js +0 -31
  28. package/dist/animation/animations/vibration.js.map +0 -1
  29. package/dist/animation/compile.js +0 -31
  30. package/dist/animation/compile.js.map +0 -1
  31. package/dist/animation/delta.js +0 -51
  32. package/dist/animation/delta.js.map +0 -1
  33. package/dist/animation/index.js +0 -14
  34. package/dist/animation/index.js.map +0 -1
  35. package/dist/command/command-change.js +0 -33
  36. package/dist/command/command-change.js.map +0 -1
  37. package/dist/command/command-migrate.js +0 -103
  38. package/dist/command/command-migrate.js.map +0 -1
  39. package/dist/command/command.js +0 -18
  40. package/dist/command/command.js.map +0 -1
  41. package/dist/command/snapshot-commander.js +0 -84
  42. package/dist/command/snapshot-commander.js.map +0 -1
  43. package/dist/components/anchor/anchor.js +0 -105
  44. package/dist/components/anchor/anchor.js.map +0 -1
  45. package/dist/components/anchor/ellipse-anchors.js +0 -53
  46. package/dist/components/anchor/ellipse-anchors.js.map +0 -1
  47. package/dist/components/anchor/rect-anchors.js +0 -53
  48. package/dist/components/anchor/rect-anchors.js.map +0 -1
  49. package/dist/components/audio.js +0 -154
  50. package/dist/components/audio.js.map +0 -1
  51. package/dist/components/cloud.js +0 -44
  52. package/dist/components/cloud.js.map +0 -1
  53. package/dist/components/component.js +0 -1086
  54. package/dist/components/component.js.map +0 -1
  55. package/dist/components/container-abstract.js +0 -387
  56. package/dist/components/container-abstract.js.map +0 -1
  57. package/dist/components/container.js +0 -331
  58. package/dist/components/container.js.map +0 -1
  59. package/dist/components/data/data-mapping.js +0 -82
  60. package/dist/components/data/data-mapping.js.map +0 -1
  61. package/dist/components/data/data.js +0 -166
  62. package/dist/components/data/data.js.map +0 -1
  63. package/dist/components/data/evaluator.js +0 -103
  64. package/dist/components/data/evaluator.js.map +0 -1
  65. package/dist/components/donut.js +0 -104
  66. package/dist/components/donut.js.map +0 -1
  67. package/dist/components/drawer/draw-image-pendable.js +0 -20
  68. package/dist/components/drawer/draw-image-pendable.js.map +0 -1
  69. package/dist/components/drawer/effect.js +0 -19
  70. package/dist/components/drawer/effect.js.map +0 -1
  71. package/dist/components/drawer/fill.js +0 -228
  72. package/dist/components/drawer/fill.js.map +0 -1
  73. package/dist/components/drawer/format.js +0 -115
  74. package/dist/components/drawer/format.js.map +0 -1
  75. package/dist/components/drawer/line.js +0 -191
  76. package/dist/components/drawer/line.js.map +0 -1
  77. package/dist/components/drawer/stroke.js +0 -62
  78. package/dist/components/drawer/stroke.js.map +0 -1
  79. package/dist/components/drawer/text-wrapper.js +0 -51
  80. package/dist/components/drawer/text-wrapper.js.map +0 -1
  81. package/dist/components/drawer/text.js +0 -269
  82. package/dist/components/drawer/text.js.map +0 -1
  83. package/dist/components/ellipse.js +0 -110
  84. package/dist/components/ellipse.js.map +0 -1
  85. package/dist/components/file/ondropfile.js +0 -19
  86. package/dist/components/file/ondropfile.js.map +0 -1
  87. package/dist/components/fit/fit.js +0 -137
  88. package/dist/components/fit/fit.js.map +0 -1
  89. package/dist/components/geometry/transcoord.js +0 -339
  90. package/dist/components/geometry/transcoord.js.map +0 -1
  91. package/dist/components/geometry/union.js +0 -35
  92. package/dist/components/geometry/union.js.map +0 -1
  93. package/dist/components/gif-view.js +0 -128
  94. package/dist/components/gif-view.js.map +0 -1
  95. package/dist/components/global-ref.js +0 -154
  96. package/dist/components/global-ref.js.map +0 -1
  97. package/dist/components/group.js +0 -171
  98. package/dist/components/group.js.map +0 -1
  99. package/dist/components/html/elements.js +0 -24
  100. package/dist/components/html/elements.js.map +0 -1
  101. package/dist/components/html/fill.js +0 -126
  102. package/dist/components/html/fill.js.map +0 -1
  103. package/dist/components/html/reposition.js +0 -119
  104. package/dist/components/html/reposition.js.map +0 -1
  105. package/dist/components/html/shadow.js +0 -24
  106. package/dist/components/html/shadow.js.map +0 -1
  107. package/dist/components/html-overlay-container.js +0 -27
  108. package/dist/components/html-overlay-container.js.map +0 -1
  109. package/dist/components/html-overlay-element.js +0 -22
  110. package/dist/components/html-overlay-element.js.map +0 -1
  111. package/dist/components/image-view.js +0 -193
  112. package/dist/components/image-view.js.map +0 -1
  113. package/dist/components/index.js +0 -231
  114. package/dist/components/index.js.map +0 -1
  115. package/dist/components/info-window.js +0 -416
  116. package/dist/components/info-window.js.map +0 -1
  117. package/dist/components/line.js +0 -374
  118. package/dist/components/line.js.map +0 -1
  119. package/dist/components/local-ref.js +0 -114
  120. package/dist/components/local-ref.js.map +0 -1
  121. package/dist/components/mixins/connectable.js +0 -128
  122. package/dist/components/mixins/connectable.js.map +0 -1
  123. package/dist/components/mixins/data-source.js +0 -34
  124. package/dist/components/mixins/data-source.js.map +0 -1
  125. package/dist/components/mixins/html-element.js +0 -107
  126. package/dist/components/mixins/html-element.js.map +0 -1
  127. package/dist/components/mixins/move-handle.js +0 -73
  128. package/dist/components/mixins/move-handle.js.map +0 -1
  129. package/dist/components/mixins/rect-path.js +0 -113
  130. package/dist/components/mixins/rect-path.js.map +0 -1
  131. package/dist/components/mixins/value-holder.js +0 -81
  132. package/dist/components/mixins/value-holder.js.map +0 -1
  133. package/dist/components/mutater/bounds.js +0 -68
  134. package/dist/components/mutater/bounds.js.map +0 -1
  135. package/dist/components/mutater/path.js +0 -73
  136. package/dist/components/mutater/path.js.map +0 -1
  137. package/dist/components/ortholine.js +0 -763
  138. package/dist/components/ortholine.js.map +0 -1
  139. package/dist/components/outline/ellipse-outline.js +0 -23
  140. package/dist/components/outline/ellipse-outline.js.map +0 -1
  141. package/dist/components/outline/path-outline.js +0 -48
  142. package/dist/components/outline/path-outline.js.map +0 -1
  143. package/dist/components/path.js +0 -49
  144. package/dist/components/path.js.map +0 -1
  145. package/dist/components/polygon.js +0 -91
  146. package/dist/components/polygon.js.map +0 -1
  147. package/dist/components/polyline.js +0 -114
  148. package/dist/components/polyline.js.map +0 -1
  149. package/dist/components/popup.js +0 -160
  150. package/dist/components/popup.js.map +0 -1
  151. package/dist/components/rect.js +0 -72
  152. package/dist/components/rect.js.map +0 -1
  153. package/dist/components/retention/retention-manager.js +0 -81
  154. package/dist/components/retention/retention-manager.js.map +0 -1
  155. package/dist/components/root-container.js +0 -519
  156. package/dist/components/root-container.js.map +0 -1
  157. package/dist/components/ruler.js +0 -103
  158. package/dist/components/ruler.js.map +0 -1
  159. package/dist/components/shape.js +0 -97
  160. package/dist/components/shape.js.map +0 -1
  161. package/dist/components/star.js +0 -103
  162. package/dist/components/star.js.map +0 -1
  163. package/dist/components/text/substitutor.js +0 -92
  164. package/dist/components/text/substitutor.js.map +0 -1
  165. package/dist/components/text.js +0 -21
  166. package/dist/components/text.js.map +0 -1
  167. package/dist/components/triangle.js +0 -92
  168. package/dist/components/triangle.js.map +0 -1
  169. package/dist/const.js +0 -71
  170. package/dist/const.js.map +0 -1
  171. package/dist/core/collection.js +0 -28
  172. package/dist/core/collection.js.map +0 -1
  173. package/dist/core/debug.js +0 -12
  174. package/dist/core/debug.js.map +0 -1
  175. package/dist/core/deep-equals.js +0 -112
  176. package/dist/core/deep-equals.js.map +0 -1
  177. package/dist/core/dom-to-image.js +0 -617
  178. package/dist/core/dom-to-image.js.map +0 -1
  179. package/dist/core/event.js +0 -205
  180. package/dist/core/event.js.map +0 -1
  181. package/dist/core/index.js +0 -21
  182. package/dist/core/index.js.map +0 -1
  183. package/dist/core/list.js +0 -87
  184. package/dist/core/list.js.map +0 -1
  185. package/dist/core/logger.js +0 -29
  186. package/dist/core/logger.js.map +0 -1
  187. package/dist/core/memoize.js +0 -40
  188. package/dist/core/memoize.js.map +0 -1
  189. package/dist/core/mixin.js +0 -26
  190. package/dist/core/mixin.js.map +0 -1
  191. package/dist/core/obj-accessor.js +0 -26
  192. package/dist/core/obj-accessor.js.map +0 -1
  193. package/dist/core/reference-map.js +0 -147
  194. package/dist/core/reference-map.js.map +0 -1
  195. package/dist/core/round-rect.js +0 -62
  196. package/dist/core/round-rect.js.map +0 -1
  197. package/dist/core/safe-round.js +0 -10
  198. package/dist/core/safe-round.js.map +0 -1
  199. package/dist/core/script-loader.js +0 -148
  200. package/dist/core/script-loader.js.map +0 -1
  201. package/dist/core/snapshot-taker.js +0 -59
  202. package/dist/core/snapshot-taker.js.map +0 -1
  203. package/dist/core/stack.js +0 -18
  204. package/dist/core/stack.js.map +0 -1
  205. package/dist/core/timecapsule.js +0 -88
  206. package/dist/core/timecapsule.js.map +0 -1
  207. package/dist/core/utils.js +0 -309
  208. package/dist/core/utils.js.map +0 -1
  209. package/dist/decorator/anchors-decorator.js +0 -53
  210. package/dist/decorator/anchors-decorator.js.map +0 -1
  211. package/dist/decorator/bouncing-arrow-decorator.js +0 -52
  212. package/dist/decorator/bouncing-arrow-decorator.js.map +0 -1
  213. package/dist/decorator/data-spread-decorator.js +0 -69
  214. package/dist/decorator/data-spread-decorator.js.map +0 -1
  215. package/dist/decorator/decotag-decorator.js +0 -33
  216. package/dist/decorator/decotag-decorator.js.map +0 -1
  217. package/dist/decorator/index.js +0 -31
  218. package/dist/decorator/index.js.map +0 -1
  219. package/dist/decorator/link-decorator.js +0 -66
  220. package/dist/decorator/link-decorator.js.map +0 -1
  221. package/dist/effect/gradation.js +0 -37
  222. package/dist/effect/gradation.js.map +0 -1
  223. package/dist/effect/index.js +0 -23
  224. package/dist/effect/index.js.map +0 -1
  225. package/dist/effect/shadow.js +0 -33
  226. package/dist/effect/shadow.js.map +0 -1
  227. package/dist/effect/turn.js +0 -25
  228. package/dist/effect/turn.js.map +0 -1
  229. package/dist/event/event-engine.js +0 -76
  230. package/dist/event/event-engine.js.map +0 -1
  231. package/dist/event/event-pump.js +0 -92
  232. package/dist/event/event-pump.js.map +0 -1
  233. package/dist/event/event-tracker.js +0 -97
  234. package/dist/event/event-tracker.js.map +0 -1
  235. package/dist/event/index.js +0 -21
  236. package/dist/event/index.js.map +0 -1
  237. package/dist/event/ua-event-handler.js +0 -453
  238. package/dist/event/ua-event-handler.js.map +0 -1
  239. package/dist/event-map/animator-handler.js +0 -225
  240. package/dist/event-map/animator-handler.js.map +0 -1
  241. package/dist/event-map/animators/animated-icon.js +0 -265
  242. package/dist/event-map/animators/animated-icon.js.map +0 -1
  243. package/dist/event-map/animators/border-highlighting.js +0 -476
  244. package/dist/event-map/animators/border-highlighting.js.map +0 -1
  245. package/dist/event-map/animators/bouncing-arrow.js +0 -226
  246. package/dist/event-map/animators/bouncing-arrow.js.map +0 -1
  247. package/dist/event-map/event-map.js +0 -36
  248. package/dist/event-map/event-map.js.map +0 -1
  249. package/dist/event-map/index.js +0 -20
  250. package/dist/event-map/index.js.map +0 -1
  251. package/dist/event-map/move-handler.js +0 -233
  252. package/dist/event-map/move-handler.js.map +0 -1
  253. package/dist/event-map/paste-handler.js +0 -176
  254. package/dist/event-map/paste-handler.js.map +0 -1
  255. package/dist/event-map/shift-handler.js +0 -55
  256. package/dist/event-map/shift-handler.js.map +0 -1
  257. package/dist/event-map/text-editor-lite.js +0 -276
  258. package/dist/event-map/text-editor-lite.js.map +0 -1
  259. package/dist/event-map/zoom-handler.js +0 -49
  260. package/dist/event-map/zoom-handler.js.map +0 -1
  261. package/dist/index.js +0 -20
  262. package/dist/index.js.map +0 -1
  263. package/dist/layer/action/emphasize.js +0 -42
  264. package/dist/layer/action/emphasize.js.map +0 -1
  265. package/dist/layer/action/popup.js +0 -461
  266. package/dist/layer/action/popup.js.map +0 -1
  267. package/dist/layer/action/pressed.js +0 -31
  268. package/dist/layer/action/pressed.js.map +0 -1
  269. package/dist/layer/add-layer.js +0 -180
  270. package/dist/layer/add-layer.js.map +0 -1
  271. package/dist/layer/decotag-layer.js +0 -121
  272. package/dist/layer/decotag-layer.js.map +0 -1
  273. package/dist/layer/guide-layer.js +0 -292
  274. package/dist/layer/guide-layer.js.map +0 -1
  275. package/dist/layer/index.js +0 -70
  276. package/dist/layer/index.js.map +0 -1
  277. package/dist/layer/layer.js +0 -230
  278. package/dist/layer/layer.js.map +0 -1
  279. package/dist/layer/minimap-layer.js +0 -84
  280. package/dist/layer/minimap-layer.js.map +0 -1
  281. package/dist/layer/model-layer.js +0 -465
  282. package/dist/layer/model-layer.js.map +0 -1
  283. package/dist/layer/modeler/anchor-handler.js +0 -193
  284. package/dist/layer/modeler/anchor-handler.js.map +0 -1
  285. package/dist/layer/modeler/control-handler.js +0 -95
  286. package/dist/layer/modeler/control-handler.js.map +0 -1
  287. package/dist/layer/modeler/focus-outline.js +0 -41
  288. package/dist/layer/modeler/focus-outline.js.map +0 -1
  289. package/dist/layer/modeler/group-outline.js +0 -30
  290. package/dist/layer/modeler/group-outline.js.map +0 -1
  291. package/dist/layer/modeler/index.js +0 -56
  292. package/dist/layer/modeler/index.js.map +0 -1
  293. package/dist/layer/modeler/path-handler.js +0 -300
  294. package/dist/layer/modeler/path-handler.js.map +0 -1
  295. package/dist/layer/modeler/resizer.js +0 -333
  296. package/dist/layer/modeler/resizer.js.map +0 -1
  297. package/dist/layer/modeler/rotator.js +0 -134
  298. package/dist/layer/modeler/rotator.js.map +0 -1
  299. package/dist/layer/modeling-layer.js +0 -491
  300. package/dist/layer/modeling-layer.js.map +0 -1
  301. package/dist/layer/reaction-layer.js +0 -111
  302. package/dist/layer/reaction-layer.js.map +0 -1
  303. package/dist/layer/scroll-layer.js +0 -191
  304. package/dist/layer/scroll-layer.js.map +0 -1
  305. package/dist/layer/selection/selected-finder.js +0 -96
  306. package/dist/layer/selection/selected-finder.js.map +0 -1
  307. package/dist/layer/selection-layer.js +0 -373
  308. package/dist/layer/selection-layer.js.map +0 -1
  309. package/dist/layer/shift-layer.js +0 -83
  310. package/dist/layer/shift-layer.js.map +0 -1
  311. package/dist/layout/absolute.js +0 -30
  312. package/dist/layout/absolute.js.map +0 -1
  313. package/dist/layout/card.js +0 -52
  314. package/dist/layout/card.js.map +0 -1
  315. package/dist/layout/html-absolute.js +0 -32
  316. package/dist/layout/html-absolute.js.map +0 -1
  317. package/dist/layout/index.js +0 -56
  318. package/dist/layout/index.js.map +0 -1
  319. package/dist/layout/layout.js +0 -36
  320. package/dist/layout/layout.js.map +0 -1
  321. package/dist/layout/linear-horizontal.js +0 -56
  322. package/dist/layout/linear-horizontal.js.map +0 -1
  323. package/dist/layout/linear-vertical.js +0 -56
  324. package/dist/layout/linear-vertical.js.map +0 -1
  325. package/dist/layout/table.js +0 -106
  326. package/dist/layout/table.js.map +0 -1
  327. package/dist/license/license.js +0 -170
  328. package/dist/license/license.js.map +0 -1
  329. package/dist/model/compile.js +0 -40
  330. package/dist/model/compile.js.map +0 -1
  331. package/dist/model/duplicate.js +0 -19
  332. package/dist/model/duplicate.js.map +0 -1
  333. package/dist/model/index.js +0 -34
  334. package/dist/model/index.js.map +0 -1
  335. package/dist/model/selector.js +0 -104
  336. package/dist/model/selector.js.map +0 -1
  337. package/dist/style/compile.js +0 -14
  338. package/dist/style/compile.js.map +0 -1
  339. package/dist/style/index.js +0 -14
  340. package/dist/style/index.js.map +0 -1
  341. package/dist/things-scene/api/add-start.js +0 -18
  342. package/dist/things-scene/api/add-start.js.map +0 -1
  343. package/dist/things-scene/api/add.js +0 -71
  344. package/dist/things-scene/api/add.js.map +0 -1
  345. package/dist/things-scene/api/align.js +0 -116
  346. package/dist/things-scene/api/align.js.map +0 -1
  347. package/dist/things-scene/api/center-to.js +0 -50
  348. package/dist/things-scene/api/center-to.js.map +0 -1
  349. package/dist/things-scene/api/change.js +0 -27
  350. package/dist/things-scene/api/change.js.map +0 -1
  351. package/dist/things-scene/api/clipboard.js +0 -45
  352. package/dist/things-scene/api/clipboard.js.map +0 -1
  353. package/dist/things-scene/api/distribute.js +0 -57
  354. package/dist/things-scene/api/distribute.js.map +0 -1
  355. package/dist/things-scene/api/duplicate.js +0 -47
  356. package/dist/things-scene/api/duplicate.js.map +0 -1
  357. package/dist/things-scene/api/fullscreen.js +0 -26
  358. package/dist/things-scene/api/fullscreen.js.map +0 -1
  359. package/dist/things-scene/api/group.js +0 -91
  360. package/dist/things-scene/api/group.js.map +0 -1
  361. package/dist/things-scene/api/ids.js +0 -28
  362. package/dist/things-scene/api/ids.js.map +0 -1
  363. package/dist/things-scene/api/index.js +0 -192
  364. package/dist/things-scene/api/index.js.map +0 -1
  365. package/dist/things-scene/api/listener.js +0 -69
  366. package/dist/things-scene/api/listener.js.map +0 -1
  367. package/dist/things-scene/api/paste-start.js +0 -27
  368. package/dist/things-scene/api/paste-start.js.map +0 -1
  369. package/dist/things-scene/api/place.js +0 -98
  370. package/dist/things-scene/api/place.js.map +0 -1
  371. package/dist/things-scene/api/remove.js +0 -57
  372. package/dist/things-scene/api/remove.js.map +0 -1
  373. package/dist/things-scene/api/symmetry.js +0 -47
  374. package/dist/things-scene/api/symmetry.js.map +0 -1
  375. package/dist/things-scene/api/to-data-url.js +0 -76
  376. package/dist/things-scene/api/to-data-url.js.map +0 -1
  377. package/dist/things-scene/api/zorder.js +0 -68
  378. package/dist/things-scene/api/zorder.js.map +0 -1
  379. package/dist/things-scene/application-context.js +0 -168
  380. package/dist/things-scene/application-context.js.map +0 -1
  381. package/dist/things-scene/config.js +0 -18
  382. package/dist/things-scene/config.js.map +0 -1
  383. package/dist/things-scene/create.js +0 -67
  384. package/dist/things-scene/create.js.map +0 -1
  385. package/dist/things-scene/fps.js +0 -26
  386. package/dist/things-scene/fps.js.map +0 -1
  387. package/dist/things-scene/index.js +0 -152
  388. package/dist/things-scene/index.js.map +0 -1
  389. package/dist/things-scene/polyfill.js +0 -111
  390. package/dist/things-scene/polyfill.js.map +0 -1
  391. package/dist/things-scene/scene.js +0 -442
  392. package/dist/things-scene/scene.js.map +0 -1
  393. package/dist/things-scene/version.js +0 -12
  394. package/dist/things-scene/version.js.map +0 -1
  395. package/rollup.config.js +0 -67
  396. package/schema.graphql +0 -4606
  397. package/tsconfig.json +0 -31
@@ -1 +0,0 @@
1
- {"version":3,"file":"guide-layer.js","names":["_component","_interopRequireDefault","require","_rect","_ruler","Const","_interopRequireWildcard","_layer","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","HRULER_LEFT","HRULER_TOP","HRULER_ORIGIN","VRULER_LEFT","VRULER_TOP","VRULER_ORIGIN","VRULER_ROTATE","Math","PI","RULER_UNIT","RULER_MARGIN","RULER_FONT","RULER_HEIGHT","RULER_COLOR","RULER_STROKE","calcOriginRectCoord","translate","width","height","left","x","top","y","calcHRulerCoord","ruler","origin","calcVRulerCoord","center","right_top","Component","transcoordRR","calcBounds","layout","canvas","DPPX","GuideLayer","Layer","constructor","model","context","appScale","hruler","Ruler","margin","unit","rotation","font","fillStyle","strokeStyle","capturable","vruler","side","origin_rect","Rect","lineWidth","addComponent","invalidate","ready","screen_coord","rootModel","assign","scale","resize","render","ctx","guide","save","beginPath","moveTo","lineTo","setLineDash","transcoordS2C","textBaseline","textAlign","yMargin","xMargin","scaled_x","round","scaled_y","fillText","stroke","restore","_guide","contains","eventMap","mousemove","onmousemove_child","mouseout","onmouseout_child","dragmove","change","onchange_root_model","mousedown","onmousedown_origin","hint","after","before","desc","target","tagName","transcoordC2S","offsetX","offsetY","exports","register"],"sources":["../../src/layer/guide-layer.js"],"sourcesContent":["/*\n * Copyright © HatioLab Inc. All rights reserved.\n */\n\nimport Component from '../components/component.js'\nimport Rect from '../components/rect.js'\nimport Ruler from '../components/ruler.js'\nimport * as Const from '../const.js'\nimport Layer from './layer.js'\n\nconst HRULER_LEFT = 20\nconst HRULER_TOP = 0\nconst HRULER_ORIGIN = 20\n\nconst VRULER_LEFT = 0 /* 회전된 상태에서의 LEFT */\nconst VRULER_TOP = 20 /* 회전된 상태에서의 TOP */\nconst VRULER_ORIGIN = 20\n\nconst VRULER_ROTATE = (90 * Math.PI) / 180\n\nconst RULER_UNIT = 'm'\nconst RULER_MARGIN = 0\nconst RULER_FONT = '9px Verdana'\nconst RULER_HEIGHT = 20\nconst RULER_COLOR = '#f4f4f4'\nconst RULER_STROKE = '#999'\n\nfunction calcOriginRectCoord(translate, width, height) {\n return {\n left: -translate.x,\n top: -translate.y,\n width: HRULER_LEFT,\n height: RULER_HEIGHT\n }\n}\n\nfunction calcHRulerCoord(translate, width, height, ruler) {\n return {\n left: HRULER_LEFT - translate.x,\n top: HRULER_TOP - translate.y,\n origin: HRULER_ORIGIN - translate.x,\n width: width - HRULER_LEFT,\n height: RULER_HEIGHT\n }\n}\n\nfunction calcVRulerCoord(translate, width, height, ruler) {\n // 1. 레이어 관점의 좌표계에서 Ruler의 센터를 잡는다\n var center = {\n x: -translate.x + VRULER_LEFT + RULER_HEIGHT / 2,\n y: -translate.y + VRULER_TOP + (height - VRULER_TOP) / 2\n }\n\n // 2. 계산된 센터값을 이용해서 Ruler의 LEFT TOP에 해당하는 지점의 Ruler 관점의 좌표값을 계산한다.\n var right_top = Component.transcoordRR(-translate.x + VRULER_LEFT, -translate.y + VRULER_TOP, center, VRULER_ROTATE)\n\n // 3. 변경된 속성값을 리턴한다.\n return {\n left: right_top.x - (height - VRULER_TOP),\n top: right_top.y,\n origin: VRULER_ORIGIN - translate.y,\n width: height - VRULER_TOP,\n height: RULER_HEIGHT\n }\n}\n\nfunction calcBounds(layout) {\n var translate = layout.get('translate')\n\n return {\n left: -translate.x,\n top: -translate.y,\n width: layout.canvas.width / Const.DPPX,\n height: layout.canvas.height / Const.DPPX\n }\n}\n\nexport default class GuideLayer extends Layer {\n constructor(model, context) {\n super(model, context)\n\n this.appScale = {\n x: 1,\n y: 1\n }\n\n if (model.ruler !== 'disabled') {\n this.hruler = new Ruler({\n left: HRULER_LEFT,\n top: HRULER_TOP,\n origin: HRULER_ORIGIN,\n margin: RULER_MARGIN,\n height: RULER_HEIGHT,\n unit: RULER_UNIT,\n rotation: 0,\n font: RULER_FONT,\n fillStyle: RULER_COLOR,\n strokeStyle: RULER_STROKE,\n capturable: false\n })\n\n this.vruler = new Ruler({\n left: 0,\n top: 0,\n origin: VRULER_ORIGIN,\n margin: RULER_MARGIN,\n height: RULER_HEIGHT,\n unit: RULER_UNIT,\n rotation: VRULER_ROTATE,\n font: RULER_FONT,\n side: 'top',\n fillStyle: RULER_COLOR,\n strokeStyle: RULER_STROKE,\n capturable: false\n })\n\n this.origin_rect = new Rect({\n left: -HRULER_ORIGIN,\n top: -VRULER_ORIGIN,\n width: HRULER_ORIGIN,\n height: VRULER_ORIGIN,\n fillStyle: RULER_COLOR,\n strokeStyle: RULER_STROKE,\n lineWidth: 1\n })\n\n this.addComponent(this.hruler)\n this.addComponent(this.vruler)\n this.addComponent(this.origin_rect)\n }\n\n this.invalidate()\n }\n\n get capturable() {\n return false\n }\n\n ready() {\n super.ready()\n if (!this.hruler) {\n this.screen_coord = calcBounds(this)\n return\n }\n\n var rootModel = this.rootModel\n\n var translate = Object.assign({}, rootModel.get('translate'))\n\n if (translate.x < HRULER_LEFT) translate.x += HRULER_LEFT\n if (translate.y < VRULER_TOP) translate.y += VRULER_TOP\n\n /* set scale */\n var scale = rootModel.get('scale') || { x: 1, y: 1 }\n\n this.appScale = scale\n\n this.hruler.set('scale', scale.x)\n this.vruler.set('scale', scale.y)\n\n /* set translate */\n rootModel.set('translate', translate)\n this.set('translate', translate)\n\n this.screen_coord = calcBounds(this)\n var { width, height } = this.screen_coord\n\n this.hruler.set(calcHRulerCoord(translate, width, height, this.hruler))\n this.vruler.set(calcVRulerCoord(translate, width, height, this.vruler))\n this.origin_rect.set(calcOriginRectCoord(translate, width, height))\n }\n\n resize() {\n super.resize()\n\n this.screen_coord = calcBounds(this)\n var { width, height } = this.screen_coord\n\n if (this.hruler) {\n /* 레이어의 디멘션이 변경될 때, Ruler의 초기 width 값을 설정한다. */\n this.hruler.set(calcHRulerCoord(this.model.translate, width, height, this.hruler))\n this.vruler.set(calcVRulerCoord(this.model.translate, width, height, this.vruler))\n this.origin_rect.set(calcOriginRectCoord(this.model.translate, width, height))\n }\n }\n\n render(ctx) {\n // 선 그리기.\n if (!this.guide) return\n\n ctx.save()\n\n var { x, y } = this.guide\n var { top, left, width, height } = this.screen_coord\n\n ctx.beginPath()\n\n ctx.moveTo(x, top)\n ctx.lineTo(x, top + height)\n\n ctx.moveTo(left, y)\n ctx.lineTo(left + width, y)\n\n ctx.lineWidth = 1\n ctx.strokeStyle = 'tomato'\n ctx.setLineDash([2, 3])\n\n ctx.font = '10px tahoma'\n\n ctx.fillStyle = '#333'\n\n var screen_coord = this.transcoordS2C(x, y, this.rootModel)\n\n ctx.textBaseline = screen_coord.y > 200 ? 'bottom' : 'top'\n ctx.textAlign = screen_coord.x > 200 ? 'right' : 'left'\n var yMargin = screen_coord.y > 200 ? -5 : 5\n var xMargin = screen_coord.x > 200 ? -5 : 5\n\n var scaled_x = Math.round(x / this.appScale.x)\n var scaled_y = Math.round(y / this.appScale.y)\n\n ctx.fillText(` ${scaled_x}, ${scaled_y} `, x + xMargin, y + yMargin)\n\n ctx.stroke()\n\n ctx.restore()\n }\n\n get guide() {\n return this._guide\n }\n\n set guide(guide) {\n this._guide = guide\n\n this.invalidate()\n }\n\n contains(x, y) {\n return true\n }\n\n get eventMap() {\n return {\n '(root)': {\n '(descendant)': {\n mousemove: this.onmousemove_child,\n mouseout: this.onmouseout_child,\n /* CONFIRMME DragMove 이벤트 중에는 MouseMove 이벤트가 발생하지 않으므로 (현재까지는..), 아래 이벤트 핸들러를 추가해준다. */\n dragmove: this.onmousemove_child\n },\n 'model-layer': {\n change: this.onchange_root_model\n }\n },\n '(self)': {\n '(descendant)': {\n mousedown: this.onmousedown_origin\n }\n }\n }\n }\n\n onmousedown_origin(e, hint) {\n // 모델레이어의 원점을 움직인다.\n this.rootModel.set('translate', {\n x: HRULER_ORIGIN,\n y: VRULER_ORIGIN\n })\n }\n\n onchange_root_model(after, before, desc) {\n if (after.scale) {\n this.appScale = after.scale\n\n if (this.hruler) {\n this.hruler.set('scale', after.scale.x)\n this.vruler.set('scale', after.scale.y)\n }\n }\n\n if (after.translate) {\n this.set({\n translate: {\n x: after.translate.x,\n y: after.translate.y\n }\n })\n }\n\n if (after.scale || after.translate) {\n this.screen_coord = calcBounds(this)\n\n if (this.hruler) {\n var { translate } = this.model\n var { width, height } = this.screen_coord\n\n this.hruler.set(calcHRulerCoord(translate, width, height, this.hruler))\n this.vruler.set(calcVRulerCoord(translate, width, height, this.vruler))\n this.origin_rect.set(calcOriginRectCoord(translate, width, height))\n }\n\n this._guide = null\n }\n\n this.invalidate()\n }\n\n onmouseout_child(e) {\n this._guide = null\n this.invalidate()\n }\n\n onmousemove_child(e, hint) {\n if (e.target && e.target.tagName !== 'CANVAS') this.guide = null\n else this.guide = this.transcoordC2S(e.offsetX, e.offsetY)\n }\n}\n\nComponent.register('guide-layer', GuideLayer)\n"],"mappings":"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","ignoreList":[]}
@@ -1,70 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- Object.defineProperty(exports, "AddLayer", {
7
- enumerable: true,
8
- get: function () {
9
- return _addLayer.default;
10
- }
11
- });
12
- Object.defineProperty(exports, "DecoTagLayer", {
13
- enumerable: true,
14
- get: function () {
15
- return _decotagLayer.default;
16
- }
17
- });
18
- Object.defineProperty(exports, "GuideLayer", {
19
- enumerable: true,
20
- get: function () {
21
- return _guideLayer.default;
22
- }
23
- });
24
- Object.defineProperty(exports, "ModelLayer", {
25
- enumerable: true,
26
- get: function () {
27
- return _modelLayer.default;
28
- }
29
- });
30
- Object.defineProperty(exports, "ModelingLayer", {
31
- enumerable: true,
32
- get: function () {
33
- return _modelingLayer.default;
34
- }
35
- });
36
- Object.defineProperty(exports, "ReactionLayer", {
37
- enumerable: true,
38
- get: function () {
39
- return _reactionLayer.default;
40
- }
41
- });
42
- Object.defineProperty(exports, "ScrollLayer", {
43
- enumerable: true,
44
- get: function () {
45
- return _scrollLayer.default;
46
- }
47
- });
48
- Object.defineProperty(exports, "SelectionLayer", {
49
- enumerable: true,
50
- get: function () {
51
- return _selectionLayer.default;
52
- }
53
- });
54
- Object.defineProperty(exports, "ShiftLayer", {
55
- enumerable: true,
56
- get: function () {
57
- return _shiftLayer.default;
58
- }
59
- });
60
- var _modelLayer = _interopRequireDefault(require("./model-layer.js"));
61
- var _guideLayer = _interopRequireDefault(require("./guide-layer.js"));
62
- var _shiftLayer = _interopRequireDefault(require("./shift-layer.js"));
63
- var _addLayer = _interopRequireDefault(require("./add-layer.js"));
64
- var _selectionLayer = _interopRequireDefault(require("./selection-layer.js"));
65
- var _modelingLayer = _interopRequireDefault(require("./modeling-layer.js"));
66
- var _decotagLayer = _interopRequireDefault(require("./decotag-layer.js"));
67
- var _reactionLayer = _interopRequireDefault(require("./reaction-layer.js"));
68
- var _scrollLayer = _interopRequireDefault(require("./scroll-layer.js"));
69
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
70
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","names":["_modelLayer","_interopRequireDefault","require","_guideLayer","_shiftLayer","_addLayer","_selectionLayer","_modelingLayer","_decotagLayer","_reactionLayer","_scrollLayer","e","__esModule","default"],"sources":["../../src/layer/index.js"],"sourcesContent":["/*\n * Copyright © HatioLab Inc. All rights reserved.\n */\n\nexport { default as ModelLayer } from './model-layer.js'\nexport { default as GuideLayer } from './guide-layer.js'\nexport { default as ShiftLayer } from './shift-layer.js'\nexport { default as AddLayer } from './add-layer.js'\nexport { default as SelectionLayer } from './selection-layer.js'\nexport { default as ModelingLayer } from './modeling-layer.js'\nexport { default as DecoTagLayer } from './decotag-layer.js'\nexport { default as ReactionLayer } from './reaction-layer.js'\nexport { default as ScrollLayer } from './scroll-layer.js'\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,IAAAA,WAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,WAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,WAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,SAAA,GAAAJ,sBAAA,CAAAC,OAAA;AACA,IAAAI,eAAA,GAAAL,sBAAA,CAAAC,OAAA;AACA,IAAAK,cAAA,GAAAN,sBAAA,CAAAC,OAAA;AACA,IAAAM,aAAA,GAAAP,sBAAA,CAAAC,OAAA;AACA,IAAAO,cAAA,GAAAR,sBAAA,CAAAC,OAAA;AACA,IAAAQ,YAAA,GAAAT,sBAAA,CAAAC,OAAA;AAA0D,SAAAD,uBAAAU,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA","ignoreList":[]}
@@ -1,230 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
- var _animate = _interopRequireDefault(require("../animation/animate.js"));
8
- var _component = _interopRequireDefault(require("../components/component.js"));
9
- var _containerAbstract = _interopRequireDefault(require("../components/container-abstract.js"));
10
- var Const = _interopRequireWildcard(require("../const.js"));
11
- function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
12
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
13
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
14
- /*
15
- * Copyright © HatioLab Inc. All rights reserved.
16
- */
17
-
18
- class Layer extends _containerAbstract.default {
19
- constructor(model, context) {
20
- super(model, context);
21
- model.translate = model.translate || {
22
- x: 0,
23
- y: 0
24
- };
25
- this._draw_reserved = false;
26
- this.__draw__ = () => {
27
- this._draw_reserved = false;
28
- this.trigger('redraw');
29
- this.reflow();
30
- this.draw();
31
- };
32
- this.throttle_render = () => {
33
- if (!this._draw_reserved) {
34
- requestAnimationFrame(this.__draw__);
35
- }
36
- this._draw_reserved = true;
37
- };
38
- }
39
- fitSize(element, fit, width, height) {
40
- if (!this.target) return;
41
- if (fit) {
42
- let style = getComputedStyle(this.target);
43
- width = width ? width : style ? parseFloat(style.getPropertyValue('width')) : this.target.clientWidth;
44
- height = height ? height : style ? parseFloat(style.getPropertyValue('height')) : this.target.clientHeight;
45
- } else {
46
- width = this.model.width;
47
- height = this.model.height;
48
- }
49
- if (element.tagName == 'CANVAS') {
50
- element.setAttribute('width', width * Const.DPPX);
51
- element.setAttribute('height', height * Const.DPPX);
52
- }
53
- element.style.width = width + 'px';
54
- element.style.height = height + 'px';
55
- }
56
- resize() {
57
- this.fitSize(this.element, true);
58
- }
59
- isLayer() {
60
- return true;
61
- }
62
- get showOverflow() {
63
- return this.app.isEditMode;
64
- }
65
- get anchors() {}
66
- createElement() {
67
- var element = _component.default.createCanvas(1, 1);
68
- element.setAttribute('scene', this.state.type);
69
- element.style.position = 'absolute';
70
- element.style.pointerEvents = this.pointerEvents;
71
- return element;
72
- }
73
- get pointerEvents() {
74
- return 'auto';
75
- }
76
- get target() {
77
- return this._target;
78
- }
79
- set target(target) {
80
- if (this._target && this.element) this._target.removeChild(this.element);
81
- this._target = target;
82
- if (!target) return;
83
- if (!this.element) this.element = this.createElement();
84
-
85
- /*
86
- * 캔바스의 크기 결정 순서
87
- * 1. model의 설정에 크기 정보가 있다면, 그에 따라 상위 엘리먼트의 크기를 조정한다.
88
- * 2. 부모 엘리먼트의 크기에 따라 캔바스의 폭과 높이를 맞춘다.
89
- * 3. 캔바스의 스타일은 무조건, 부모 엘리먼트의 100%로 한다.
90
- */
91
-
92
- this.resize();
93
- target.appendChild(this.element);
94
- }
95
- get canvas() {
96
- return this.element;
97
- }
98
- dispose() {
99
- // TODO Dispose를 효율적으로 처리할 수 있는 방법을 고안한다.
100
- super.dispose();
101
- // window.removeEventListener('resize', this._onresize);
102
-
103
- this.target = null;
104
- this.element = null;
105
- }
106
- get selected() {
107
- return this.root.selected;
108
- }
109
- set selected(sels) {
110
- this.root.selected = sels;
111
- }
112
- get hasSameParentForAllSelected() {
113
- return this.root.hasSameParentForAllSelected;
114
- }
115
- get focused() {
116
- return this.root.focused;
117
- }
118
- set focused(container) {
119
- this.root.focused = container;
120
- }
121
- getContext() {
122
- if (!this._context2D) this._context2D = this.canvas && this.canvas.getContext('2d');
123
- return this._context2D;
124
- }
125
-
126
- /* 레어어의 draw는 외부에서 context를 제공하지 않으면, 자신의 캔바스의 컨텍스트를 이용해서 그린다. */
127
- draw(context) {
128
- if (!this.canvas) return;
129
- context = context || this.getContext();
130
- if (!context) return;
131
- super.draw(context);
132
- }
133
- prerender(context) {
134
- var {
135
- translate,
136
- scale = {
137
- x: 1,
138
- y: 1
139
- },
140
- rotation
141
- } = this.model;
142
- context.clearRect(0, 0, context.canvas.width, context.canvas.height);
143
- translate && context.translate(translate.x * Const.DPPX, translate.y * Const.DPPX);
144
- context.scale(scale.x * Const.DPPX, scale.y * Const.DPPX);
145
- rotation && context.rotate(rotation);
146
- }
147
- get rotatePoint() {
148
- // 레이어의 중심은 원점이다.
149
- return {
150
- x: 0,
151
- y: 0
152
- };
153
- }
154
-
155
- /* contains는 보통 자식 클래스에서 오버라이드 해야한다. */
156
- contains(x, y) {
157
- return false;
158
- }
159
- invalidate() {
160
- /*
161
- * throttle 로직으로 호출을 최소화
162
- * 빈번히 반복되는 invalidate()에 대해 비효율적으로 render()가 호출되는 것을 방지하기 위함
163
- */
164
- this.throttle_render();
165
- }
166
- move(toward) {
167
- var translate = this.get('translate') || {
168
- x: 0,
169
- y: 0
170
- };
171
- this.set({
172
- translate: {
173
- x: translate.x + toward.x,
174
- y: translate.y + toward.y
175
- }
176
- });
177
- }
178
- centerTo(component, animated) {
179
- // 1. canvas의 center 좌표를 rootModel의 좌표로 변환한다.
180
- const cc = component.rootModel.transcoordC2S(this.canvas.clientWidth / 2, this.canvas.clientHeight / 2);
181
-
182
- // 2. rootModel로부터 component의 center좌표를 구한다.
183
- const {
184
- x,
185
- y
186
- } = component.center;
187
- const {
188
- x: px,
189
- y: py
190
- } = component.transcoordP2S(x, y);
191
- const {
192
- x: cx,
193
- y: cy
194
- } = component.transcoordS2T(px, py);
195
-
196
- // 3. rootModel의 현재 translate와 scale을 구한다.
197
- const {
198
- x: tx,
199
- y: ty
200
- } = component.rootModel.get('translate');
201
- const {
202
- x: sx,
203
- y: sy
204
- } = component.rootModel.get('scale');
205
- if (!animated) {
206
- component.rootModel.set({
207
- translate: {
208
- x: tx + (cc.x - cx) * sx,
209
- y: ty + (cc.y - cy) * sy
210
- }
211
- });
212
- return;
213
- }
214
- (0, _animate.default)({
215
- step: function (delta) {
216
- component.rootModel.set({
217
- translate: {
218
- x: tx + (cc.x - cx) * sx * delta,
219
- y: ty + (cc.y - cy) * sy * delta
220
- }
221
- });
222
- },
223
- duration: 1000,
224
- delta: 'circ',
225
- ease: 'in'
226
- }).start();
227
- }
228
- }
229
- exports.default = Layer;
230
- //# sourceMappingURL=layer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"layer.js","names":["_animate","_interopRequireDefault","require","_component","_containerAbstract","Const","_interopRequireWildcard","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","Layer","ContainerAbstract","constructor","model","context","translate","x","y","_draw_reserved","__draw__","trigger","reflow","draw","throttle_render","requestAnimationFrame","fitSize","element","fit","width","height","target","style","getComputedStyle","parseFloat","getPropertyValue","clientWidth","clientHeight","tagName","setAttribute","DPPX","resize","isLayer","showOverflow","app","isEditMode","anchors","createElement","Component","createCanvas","state","type","position","pointerEvents","_target","removeChild","appendChild","canvas","dispose","selected","root","sels","hasSameParentForAllSelected","focused","container","getContext","_context2D","prerender","scale","rotation","clearRect","rotate","rotatePoint","contains","invalidate","move","toward","centerTo","component","animated","cc","rootModel","transcoordC2S","center","px","py","transcoordP2S","cx","cy","transcoordS2T","tx","ty","sx","sy","animate","step","delta","duration","ease","start","exports"],"sources":["../../src/layer/layer.js"],"sourcesContent":["/*\n * Copyright © HatioLab Inc. All rights reserved.\n */\n\nimport animate from '../animation/animate.js'\nimport Component from '../components/component.js'\nimport ContainerAbstract from '../components/container-abstract.js'\nimport * as Const from '../const.js'\n\nexport default class Layer extends ContainerAbstract {\n constructor(model, context) {\n super(model, context)\n\n model.translate = model.translate || {\n x: 0,\n y: 0\n }\n\n this._draw_reserved = false\n\n this.__draw__ = () => {\n this._draw_reserved = false\n\n this.trigger('redraw')\n this.reflow()\n this.draw()\n }\n\n this.throttle_render = () => {\n if (!this._draw_reserved) {\n requestAnimationFrame(this.__draw__)\n }\n this._draw_reserved = true\n }\n }\n\n fitSize(element, fit, width, height) {\n if (!this.target) return\n\n if (fit) {\n let style = getComputedStyle(this.target)\n\n width = width ? width : style ? parseFloat(style.getPropertyValue('width')) : this.target.clientWidth\n height = height ? height : style ? parseFloat(style.getPropertyValue('height')) : this.target.clientHeight\n } else {\n width = this.model.width\n height = this.model.height\n }\n\n if (element.tagName == 'CANVAS') {\n element.setAttribute('width', width * Const.DPPX)\n element.setAttribute('height', height * Const.DPPX)\n }\n\n element.style.width = width + 'px'\n element.style.height = height + 'px'\n }\n\n resize() {\n this.fitSize(this.element, true)\n }\n\n isLayer() {\n return true\n }\n\n get showOverflow() {\n return this.app.isEditMode\n }\n\n get anchors() {}\n\n createElement() {\n var element = Component.createCanvas(1, 1)\n element.setAttribute('scene', this.state.type)\n element.style.position = 'absolute'\n element.style.pointerEvents = this.pointerEvents\n\n return element\n }\n\n get pointerEvents() {\n return 'auto'\n }\n\n get target() {\n return this._target\n }\n\n set target(target) {\n if (this._target && this.element) this._target.removeChild(this.element)\n\n this._target = target\n\n if (!target) return\n\n if (!this.element) this.element = this.createElement()\n\n /*\n * 캔바스의 크기 결정 순서\n * 1. model의 설정에 크기 정보가 있다면, 그에 따라 상위 엘리먼트의 크기를 조정한다.\n * 2. 부모 엘리먼트의 크기에 따라 캔바스의 폭과 높이를 맞춘다.\n * 3. 캔바스의 스타일은 무조건, 부모 엘리먼트의 100%로 한다.\n */\n\n this.resize()\n\n target.appendChild(this.element)\n }\n\n get canvas() {\n return this.element\n }\n\n dispose() {\n // TODO Dispose를 효율적으로 처리할 수 있는 방법을 고안한다.\n super.dispose()\n // window.removeEventListener('resize', this._onresize);\n\n this.target = null\n this.element = null\n }\n\n get selected() {\n return this.root.selected\n }\n\n set selected(sels) {\n this.root.selected = sels\n }\n\n get hasSameParentForAllSelected() {\n return this.root.hasSameParentForAllSelected\n }\n\n get focused() {\n return this.root.focused\n }\n\n set focused(container) {\n this.root.focused = container\n }\n\n getContext() {\n if (!this._context2D) this._context2D = this.canvas && this.canvas.getContext('2d')\n\n return this._context2D\n }\n\n /* 레어어의 draw는 외부에서 context를 제공하지 않으면, 자신의 캔바스의 컨텍스트를 이용해서 그린다. */\n draw(context) {\n if (!this.canvas) return\n\n context = context || this.getContext()\n if (!context) return\n\n super.draw(context)\n }\n\n prerender(context) {\n var {\n translate,\n scale = {\n x: 1,\n y: 1\n },\n rotation\n } = this.model\n\n context.clearRect(0, 0, context.canvas.width, context.canvas.height)\n\n translate && context.translate(translate.x * Const.DPPX, translate.y * Const.DPPX)\n\n context.scale(scale.x * Const.DPPX, scale.y * Const.DPPX)\n rotation && context.rotate(rotation)\n }\n\n get rotatePoint() {\n // 레이어의 중심은 원점이다.\n return {\n x: 0,\n y: 0\n }\n }\n\n /* contains는 보통 자식 클래스에서 오버라이드 해야한다. */\n contains(x, y) {\n return false\n }\n\n invalidate() {\n /*\n * throttle 로직으로 호출을 최소화\n * 빈번히 반복되는 invalidate()에 대해 비효율적으로 render()가 호출되는 것을 방지하기 위함\n */\n this.throttle_render()\n }\n\n move(toward) {\n var translate = this.get('translate') || { x: 0, y: 0 }\n\n this.set({\n translate: {\n x: translate.x + toward.x,\n y: translate.y + toward.y\n }\n })\n }\n\n centerTo(component, animated) {\n // 1. canvas의 center 좌표를 rootModel의 좌표로 변환한다.\n const cc = component.rootModel.transcoordC2S(this.canvas.clientWidth / 2, this.canvas.clientHeight / 2)\n\n // 2. rootModel로부터 component의 center좌표를 구한다.\n const { x, y } = component.center\n const { x: px, y: py } = component.transcoordP2S(x, y)\n const { x: cx, y: cy } = component.transcoordS2T(px, py)\n\n // 3. rootModel의 현재 translate와 scale을 구한다.\n const { x: tx, y: ty } = component.rootModel.get('translate')\n const { x: sx, y: sy } = component.rootModel.get('scale')\n\n if (!animated) {\n component.rootModel.set({\n translate: {\n x: tx + (cc.x - cx) * sx,\n y: ty + (cc.y - cy) * sy\n }\n })\n return\n }\n\n animate({\n step: function (delta) {\n component.rootModel.set({\n translate: {\n x: tx + (cc.x - cx) * sx * delta,\n y: ty + (cc.y - cy) * sy * delta\n }\n })\n },\n duration: 1000,\n delta: 'circ',\n ease: 'in'\n }).start()\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,84 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
- var _component = _interopRequireDefault(require("../components/component.js"));
8
- var Const = _interopRequireWildcard(require("../const.js"));
9
- var _layer = _interopRequireDefault(require("./layer.js"));
10
- function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
11
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
12
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
13
- /*
14
- * Copyright © HatioLab Inc. All rights reserved.
15
- */
16
-
17
- /* IMPLEMENT-ME 현재는 사용할 수 있는 수준이 아님 */
18
- class MinimapLayer extends _layer.default {
19
- // Lifecycle
20
- ready() {
21
- super.ready();
22
- var translate = this.rootModel.get('translate');
23
- this.set('translate', translate);
24
- }
25
- render(ctx) {
26
- /* render nothing */
27
- }
28
- contains(x, y) {
29
- return !!(this.app.mode == Const.MODE_SHIFT);
30
- }
31
- get pointerEvents() {
32
- return 'none';
33
- }
34
- get eventMap() {
35
- return {
36
- '(root)': {
37
- '(self)': {
38
- keydown: this.onkeydown,
39
- keyup: this.onkeyup
40
- }
41
- }
42
- };
43
- }
44
- onkeydown(e) {
45
- if (e.code === 'Space' && this.before_mode === undefined) {
46
- this.before_mode = this.app.mode;
47
- this.app.mode = Const.MODE_SHIFT;
48
- }
49
- }
50
- onkeyup(e) {
51
- if (e.code === 'Space') {
52
- if (this.before_mode !== undefined) {
53
- this.app.mode = this.before_mode;
54
- }
55
- delete this.before_mode;
56
- }
57
- }
58
-
59
- /* default UI Event Handlers. */
60
-
61
- ondragstart(e) {
62
- this.last_position = this.transcoordC2S(e.offsetX, e.offsetY);
63
- }
64
- ondragmove(e) {
65
- var {
66
- x,
67
- y
68
- } = this.transcoordC2S(e.offsetX, e.offsetY);
69
-
70
- // 모델레이어의 원점을 움직인다.
71
- this.rootModel.move({
72
- x: x - this.last_position.x,
73
- y: y - this.last_position.y
74
- }, false);
75
-
76
- // 모델레이어의 translate 값이 바뀌었으므로, 이 레이어의 translate도 변경되었을 것이다.
77
- // 따라서, transcoord을 다시 해주어야 한다.
78
-
79
- this.last_position = this.transcoordC2S(e.offsetX, e.offsetY);
80
- }
81
- }
82
- exports.default = MinimapLayer;
83
- _component.default.register('minimap-layer', MinimapLayer);
84
- //# sourceMappingURL=minimap-layer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"minimap-layer.js","names":["_component","_interopRequireDefault","require","Const","_interopRequireWildcard","_layer","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","MinimapLayer","Layer","ready","translate","rootModel","render","ctx","contains","x","y","app","mode","MODE_SHIFT","pointerEvents","eventMap","keydown","onkeydown","keyup","onkeyup","code","before_mode","undefined","ondragstart","last_position","transcoordC2S","offsetX","offsetY","ondragmove","move","exports","Component","register"],"sources":["../../src/layer/minimap-layer.js"],"sourcesContent":["/*\n * Copyright © HatioLab Inc. All rights reserved.\n */\n\nimport Component from '../components/component.js'\nimport * as Const from '../const.js'\nimport Layer from './layer.js'\n\n/* IMPLEMENT-ME 현재는 사용할 수 있는 수준이 아님 */\nexport default class MinimapLayer extends Layer {\n // Lifecycle\n ready() {\n super.ready()\n var translate = this.rootModel.get('translate')\n this.set('translate', translate)\n }\n\n render(ctx) {\n /* render nothing */\n }\n\n contains(x, y) {\n return !!(this.app.mode == Const.MODE_SHIFT)\n }\n\n get pointerEvents() {\n return 'none'\n }\n\n get eventMap() {\n return {\n '(root)': {\n '(self)': {\n keydown: this.onkeydown,\n keyup: this.onkeyup\n }\n }\n }\n }\n\n onkeydown(e) {\n if (e.code === 'Space' && this.before_mode === undefined) {\n this.before_mode = this.app.mode\n this.app.mode = Const.MODE_SHIFT\n }\n }\n\n onkeyup(e) {\n if (e.code === 'Space') {\n if (this.before_mode !== undefined) {\n this.app.mode = this.before_mode\n }\n delete this.before_mode\n }\n }\n\n /* default UI Event Handlers. */\n\n ondragstart(e) {\n this.last_position = this.transcoordC2S(e.offsetX, e.offsetY)\n }\n\n ondragmove(e) {\n var { x, y } = this.transcoordC2S(e.offsetX, e.offsetY)\n\n // 모델레이어의 원점을 움직인다.\n this.rootModel.move(\n {\n x: x - this.last_position.x,\n y: y - this.last_position.y\n },\n false\n )\n\n // 모델레이어의 translate 값이 바뀌었으므로, 이 레이어의 translate도 변경되었을 것이다.\n // 따라서, transcoord을 다시 해주어야 한다.\n\n this.last_position = this.transcoordC2S(e.offsetX, e.offsetY)\n }\n}\n\nComponent.register('minimap-layer', MinimapLayer)\n"],"mappings":"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","ignoreList":[]}