@hatiolab/things-scene 3.4.39 → 3.4.42

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 (338) hide show
  1. package/db.sqlite +0 -0
  2. package/package.json +1 -1
  3. package/schema.graphql +3966 -0
  4. package/things-scene-ie.js +1 -1
  5. package/things-scene-min.js +1 -1
  6. package/things-scene.mjs +2 -2
  7. package/dist/animation/animate.d.ts +0 -4
  8. package/dist/animation/animations/animation.d.ts +0 -14
  9. package/dist/animation/animations/fade.d.ts +0 -4
  10. package/dist/animation/animations/heartbeat.d.ts +0 -4
  11. package/dist/animation/animations/moving.d.ts +0 -4
  12. package/dist/animation/animations/outline.d.ts +0 -10
  13. package/dist/animation/animations/rotation.d.ts +0 -4
  14. package/dist/animation/animations/vibration.d.ts +0 -4
  15. package/dist/animation/compile.d.ts +0 -1
  16. package/dist/animation/delta.d.ts +0 -19
  17. package/dist/animation/index.d.ts +0 -1
  18. package/dist/command/command-change.d.ts +0 -7
  19. package/dist/command/command-migrate.d.ts +0 -4
  20. package/dist/command/command-migrate.js +0 -85
  21. package/dist/command/command-migrate.js.map +0 -1
  22. package/dist/command/command.d.ts +0 -5
  23. package/dist/command/snapshot-commander.d.ts +0 -15
  24. package/dist/components/anchor/anchor.d.ts +0 -128
  25. package/dist/components/anchor/ellipse-anchors.d.ts +0 -2
  26. package/dist/components/anchor/ellipse-anchors.js +0 -38
  27. package/dist/components/anchor/ellipse-anchors.js.map +0 -1
  28. package/dist/components/anchor/rect-anchors.d.ts +0 -10
  29. package/dist/components/audio.d.ts +0 -25
  30. package/dist/components/audio.js +0 -141
  31. package/dist/components/audio.js.map +0 -1
  32. package/dist/components/cloud.d.ts +0 -13
  33. package/dist/components/cloud.js +0 -31
  34. package/dist/components/cloud.js.map +0 -1
  35. package/dist/components/component.d.ts +0 -227
  36. package/dist/components/component.js +0 -912
  37. package/dist/components/component.js.map +0 -1
  38. package/dist/components/container-abstract.d.ts +0 -51
  39. package/dist/components/container-abstract.js +0 -372
  40. package/dist/components/container-abstract.js.map +0 -1
  41. package/dist/components/container.d.ts +0 -38
  42. package/dist/components/container.js +0 -75
  43. package/dist/components/container.js.map +0 -1
  44. package/dist/components/data/data-mapping.d.ts +0 -16
  45. package/dist/components/data/data.d.ts +0 -8
  46. package/dist/components/data/evaluator.d.ts +0 -1
  47. package/dist/components/donut.d.ts +0 -15
  48. package/dist/components/donut.js +0 -74
  49. package/dist/components/donut.js.map +0 -1
  50. package/dist/components/drawer/draw-image-pendable.d.ts +0 -1
  51. package/dist/components/drawer/effect.d.ts +0 -1
  52. package/dist/components/drawer/fill.d.ts +0 -14
  53. package/dist/components/drawer/format.d.ts +0 -1
  54. package/dist/components/drawer/line.d.ts +0 -3
  55. package/dist/components/drawer/stroke.d.ts +0 -1
  56. package/dist/components/drawer/text-wrapper.d.ts +0 -10
  57. package/dist/components/drawer/text.d.ts +0 -3
  58. package/dist/components/ellipse.d.ts +0 -35
  59. package/dist/components/ellipse.js +0 -99
  60. package/dist/components/ellipse.js.map +0 -1
  61. package/dist/components/file/ondropfile.d.ts +0 -1
  62. package/dist/components/fit/fit.d.ts +0 -15
  63. package/dist/components/geometry/transcoord.d.ts +0 -41
  64. package/dist/components/geometry/union.d.ts +0 -6
  65. package/dist/components/gif-view.d.ts +0 -18
  66. package/dist/components/gif-view.js +0 -116
  67. package/dist/components/gif-view.js.map +0 -1
  68. package/dist/components/global-ref.d.ts +0 -36
  69. package/dist/components/global-ref.js +0 -128
  70. package/dist/components/global-ref.js.map +0 -1
  71. package/dist/components/group.d.ts +0 -15
  72. package/dist/components/group.js +0 -145
  73. package/dist/components/group.js.map +0 -1
  74. package/dist/components/html/elements.d.ts +0 -2
  75. package/dist/components/html/fill.d.ts +0 -1
  76. package/dist/components/html/reposition.d.ts +0 -1
  77. package/dist/components/html/shadow.d.ts +0 -1
  78. package/dist/components/html-overlay-container.d.ts +0 -27
  79. package/dist/components/html-overlay-container.js +0 -14
  80. package/dist/components/html-overlay-container.js.map +0 -1
  81. package/dist/components/html-overlay-element.d.ts +0 -25
  82. package/dist/components/html-overlay-element.js +0 -9
  83. package/dist/components/html-overlay-element.js.map +0 -1
  84. package/dist/components/image-view.d.ts +0 -19
  85. package/dist/components/image-view.js +0 -180
  86. package/dist/components/image-view.js.map +0 -1
  87. package/dist/components/index.d.ts +0 -32
  88. package/dist/components/index.js +0 -39
  89. package/dist/components/index.js.map +0 -1
  90. package/dist/components/info-window.d.ts +0 -41
  91. package/dist/components/info-window.js +0 -425
  92. package/dist/components/info-window.js.map +0 -1
  93. package/dist/components/line.d.ts +0 -91
  94. package/dist/components/line.js +0 -303
  95. package/dist/components/line.js.map +0 -1
  96. package/dist/components/local-ref.d.ts +0 -47
  97. package/dist/components/local-ref.js +0 -103
  98. package/dist/components/local-ref.js.map +0 -1
  99. package/dist/components/mixins/connectable.d.ts +0 -45
  100. package/dist/components/mixins/data-source.d.ts +0 -9
  101. package/dist/components/mixins/html-element.d.ts +0 -24
  102. package/dist/components/mixins/move-handle.d.ts +0 -11
  103. package/dist/components/mixins/rect-path.d.ts +0 -13
  104. package/dist/components/mixins/value-holder.d.ts +0 -18
  105. package/dist/components/mutater/bounds.d.ts +0 -10
  106. package/dist/components/mutater/path.d.ts +0 -5
  107. package/dist/components/ortholine.d.ts +0 -21
  108. package/dist/components/ortholine.js +0 -814
  109. package/dist/components/ortholine.js.map +0 -1
  110. package/dist/components/outline/ellipse-outline.d.ts +0 -4
  111. package/dist/components/outline/ellipse-outline.js +0 -11
  112. package/dist/components/outline/ellipse-outline.js.map +0 -1
  113. package/dist/components/outline/path-outline.d.ts +0 -1
  114. package/dist/components/path.d.ts +0 -5
  115. package/dist/components/path.js +0 -40
  116. package/dist/components/path.js.map +0 -1
  117. package/dist/components/polygon.d.ts +0 -40
  118. package/dist/components/polygon.js +0 -157
  119. package/dist/components/polygon.js.map +0 -1
  120. package/dist/components/polyline.d.ts +0 -18
  121. package/dist/components/polyline.js +0 -102
  122. package/dist/components/polyline.js.map +0 -1
  123. package/dist/components/popup.d.ts +0 -48
  124. package/dist/components/popup.js +0 -138
  125. package/dist/components/popup.js.map +0 -1
  126. package/dist/components/rect.d.ts +0 -26
  127. package/dist/components/rect.js +0 -91
  128. package/dist/components/rect.js.map +0 -1
  129. package/dist/components/retention/retention-manager.d.ts +0 -8
  130. package/dist/components/root-container.d.ts +0 -90
  131. package/dist/components/root-container.js +0 -478
  132. package/dist/components/root-container.js.map +0 -1
  133. package/dist/components/ruler.d.ts +0 -16
  134. package/dist/components/ruler.js +0 -77
  135. package/dist/components/ruler.js.map +0 -1
  136. package/dist/components/shape.d.ts +0 -25
  137. package/dist/components/shape.js +0 -80
  138. package/dist/components/shape.js.map +0 -1
  139. package/dist/components/star.d.ts +0 -13
  140. package/dist/components/star.js +0 -80
  141. package/dist/components/star.js.map +0 -1
  142. package/dist/components/text/substitutor.d.ts +0 -3
  143. package/dist/components/text.d.ts +0 -8
  144. package/dist/components/text.js +0 -15
  145. package/dist/components/text.js.map +0 -1
  146. package/dist/components/three-container.d.ts +0 -60
  147. package/dist/components/three-container.js +0 -515
  148. package/dist/components/three-container.js.map +0 -1
  149. package/dist/components/triangle.d.ts +0 -15
  150. package/dist/components/triangle.js +0 -76
  151. package/dist/components/triangle.js.map +0 -1
  152. package/dist/const.d.ts +0 -39
  153. package/dist/core/collection.d.ts +0 -8
  154. package/dist/core/debug.d.ts +0 -1
  155. package/dist/core/deep-equals.d.ts +0 -1
  156. package/dist/core/dom-to-image.d.ts +0 -127
  157. package/dist/core/event.d.ts +0 -92
  158. package/dist/core/index.d.ts +0 -2
  159. package/dist/core/list.d.ts +0 -32
  160. package/dist/core/logger.d.ts +0 -3
  161. package/dist/core/memoize.d.ts +0 -6
  162. package/dist/core/mixin.d.ts +0 -1
  163. package/dist/core/obj-accessor.d.ts +0 -1
  164. package/dist/core/reference-map.d.ts +0 -14
  165. package/dist/core/round-rect.d.ts +0 -19
  166. package/dist/core/script-loader.d.ts +0 -3
  167. package/dist/core/snapshot-taker.d.ts +0 -12
  168. package/dist/core/stack.d.ts +0 -2
  169. package/dist/core/timecapsule.d.ts +0 -18
  170. package/dist/core/utils.d.ts +0 -9
  171. package/dist/decorator/anchors-decorator.d.ts +0 -31
  172. package/dist/decorator/data-spread-decorator.d.ts +0 -1
  173. package/dist/decorator/decotag-decorator.d.ts +0 -1
  174. package/dist/decorator/index.d.ts +0 -2
  175. package/dist/decorator/link-decorator.d.ts +0 -1
  176. package/dist/effect/gradation.d.ts +0 -1
  177. package/dist/effect/index.d.ts +0 -1
  178. package/dist/effect/shadow.d.ts +0 -2
  179. package/dist/effect/turn.d.ts +0 -1
  180. package/dist/event/event-engine.d.ts +0 -12
  181. package/dist/event/event-pump.d.ts +0 -11
  182. package/dist/event/event-tracker.d.ts +0 -21
  183. package/dist/event/index.d.ts +0 -2
  184. package/dist/event/ua-event-handler.d.ts +0 -32
  185. package/dist/event-map/event-map.d.ts +0 -9
  186. package/dist/event-map/index.d.ts +0 -1
  187. package/dist/event-map/move-handler.d.ts +0 -1
  188. package/dist/event-map/text-editor-lite.d.ts +0 -1
  189. package/dist/index.d.ts +0 -1
  190. package/dist/index.js +0 -3
  191. package/dist/index.js.map +0 -1
  192. package/dist/layer/action/emphasize.d.ts +0 -2
  193. package/dist/layer/action/popup.d.ts +0 -5
  194. package/dist/layer/action/pressed.d.ts +0 -2
  195. package/dist/layer/add-layer.d.ts +0 -42
  196. package/dist/layer/add-layer.js +0 -142
  197. package/dist/layer/add-layer.js.map +0 -1
  198. package/dist/layer/decotag-layer.d.ts +0 -27
  199. package/dist/layer/decotag-layer.js +0 -105
  200. package/dist/layer/decotag-layer.js.map +0 -1
  201. package/dist/layer/guide-layer.d.ts +0 -44
  202. package/dist/layer/guide-layer.js +0 -261
  203. package/dist/layer/guide-layer.js.map +0 -1
  204. package/dist/layer/index.d.ts +0 -7
  205. package/dist/layer/index.js +0 -11
  206. package/dist/layer/index.js.map +0 -1
  207. package/dist/layer/layer.d.ts +0 -32
  208. package/dist/layer/layer.js +0 -155
  209. package/dist/layer/layer.js.map +0 -1
  210. package/dist/layer/model-layer.d.ts +0 -46
  211. package/dist/layer/model-layer.js +0 -402
  212. package/dist/layer/model-layer.js.map +0 -1
  213. package/dist/layer/modeler/anchor-handler.d.ts +0 -36
  214. package/dist/layer/modeler/control-handler.d.ts +0 -18
  215. package/dist/layer/modeler/focus-outline.d.ts +0 -5
  216. package/dist/layer/modeler/group-outline.d.ts +0 -5
  217. package/dist/layer/modeler/index.d.ts +0 -7
  218. package/dist/layer/modeler/path-handler.d.ts +0 -22
  219. package/dist/layer/modeler/resizer.d.ts +0 -13
  220. package/dist/layer/modeler/rotator.d.ts +0 -15
  221. package/dist/layer/modeler/rotator.js +0 -120
  222. package/dist/layer/modeler/rotator.js.map +0 -1
  223. package/dist/layer/modeling-layer.d.ts +0 -66
  224. package/dist/layer/modeling-layer.js +0 -451
  225. package/dist/layer/modeling-layer.js.map +0 -1
  226. package/dist/layer/selection/selected-finder.d.ts +0 -1
  227. package/dist/layer/selection-layer.d.ts +0 -42
  228. package/dist/layer/selection-layer.js +0 -307
  229. package/dist/layer/selection-layer.js.map +0 -1
  230. package/dist/layer/shift-layer.d.ts +0 -18
  231. package/dist/layer/shift-layer.js +0 -61
  232. package/dist/layer/shift-layer.js.map +0 -1
  233. package/dist/layout/absolute.d.ts +0 -8
  234. package/dist/layout/card.d.ts +0 -7
  235. package/dist/layout/html-absolute.d.ts +0 -8
  236. package/dist/layout/index.d.ts +0 -8
  237. package/dist/layout/index.js +0 -12
  238. package/dist/layout/index.js.map +0 -1
  239. package/dist/layout/layout.d.ts +0 -11
  240. package/dist/layout/linear-horizontal.d.ts +0 -7
  241. package/dist/layout/linear-vertical.d.ts +0 -7
  242. package/dist/layout/table.d.ts +0 -9
  243. package/dist/layout/three.d.ts +0 -8
  244. package/dist/layout/three.js +0 -20
  245. package/dist/layout/three.js.map +0 -1
  246. package/dist/license/license.d.ts +0 -18
  247. package/dist/model/compile.d.ts +0 -1
  248. package/dist/model/compile.js +0 -28
  249. package/dist/model/compile.js.map +0 -1
  250. package/dist/model/duplicate.d.ts +0 -1
  251. package/dist/model/index.d.ts +0 -3
  252. package/dist/model/selector.d.ts +0 -2
  253. package/dist/style/compile.d.ts +0 -1
  254. package/dist/style/index.d.ts +0 -1
  255. package/dist/things-scene/api/add-start.d.ts +0 -1
  256. package/dist/things-scene/api/add.d.ts +0 -5
  257. package/dist/things-scene/api/align.d.ts +0 -1
  258. package/dist/things-scene/api/change.d.ts +0 -2
  259. package/dist/things-scene/api/clipboard.d.ts +0 -3
  260. package/dist/things-scene/api/distribute.d.ts +0 -1
  261. package/dist/things-scene/api/duplicate.d.ts +0 -4
  262. package/dist/things-scene/api/fullscreen.d.ts +0 -1
  263. package/dist/things-scene/api/group.d.ts +0 -8
  264. package/dist/things-scene/api/group.js +0 -78
  265. package/dist/things-scene/api/group.js.map +0 -1
  266. package/dist/things-scene/api/ids.d.ts +0 -4
  267. package/dist/things-scene/api/index.d.ts +0 -15
  268. package/dist/things-scene/api/listener.d.ts +0 -3
  269. package/dist/things-scene/api/remove.d.ts +0 -4
  270. package/dist/things-scene/api/symmetry.d.ts +0 -2
  271. package/dist/things-scene/api/symmetry.js +0 -39
  272. package/dist/things-scene/api/symmetry.js.map +0 -1
  273. package/dist/things-scene/api/to-data-url.d.ts +0 -1
  274. package/dist/things-scene/api/to-data-url.js +0 -69
  275. package/dist/things-scene/api/to-data-url.js.map +0 -1
  276. package/dist/things-scene/api/zorder.d.ts +0 -2
  277. package/dist/things-scene/application-context.d.ts +0 -40
  278. package/dist/things-scene/config.d.ts +0 -4
  279. package/dist/things-scene/create.d.ts +0 -20
  280. package/dist/things-scene/fps.d.ts +0 -1
  281. package/dist/things-scene/index.d.ts +0 -17
  282. package/dist/things-scene/index.js +0 -23
  283. package/dist/things-scene/index.js.map +0 -1
  284. package/dist/things-scene/polyfill.d.ts +0 -2
  285. package/dist/things-scene/scene.d.ts +0 -155
  286. package/dist/things-scene/version.d.ts +0 -2
  287. package/dist/threed/common.d.ts +0 -22
  288. package/dist/threed/control/three-controls.d.ts +0 -11
  289. package/dist/threed/control/three-controls.js +0 -620
  290. package/dist/threed/control/three-controls.js.map +0 -1
  291. package/dist/threed/html/elements.d.ts +0 -2
  292. package/dist/threed/real-object-camera-meshed.d.ts +0 -12
  293. package/dist/threed/real-object-camera-meshed.js +0 -49
  294. package/dist/threed/real-object-camera-meshed.js.map +0 -1
  295. package/dist/threed/real-object-camera.d.ts +0 -9
  296. package/dist/threed/real-object-camera.js +0 -31
  297. package/dist/threed/real-object-camera.js.map +0 -1
  298. package/dist/threed/real-object-dom-element.d.ts +0 -20
  299. package/dist/threed/real-object-dom-element.js +0 -78
  300. package/dist/threed/real-object-dom-element.js.map +0 -1
  301. package/dist/threed/real-object-dummy.d.ts +0 -6
  302. package/dist/threed/real-object-dummy.js +0 -11
  303. package/dist/threed/real-object-dummy.js.map +0 -1
  304. package/dist/threed/real-object-extrude.d.ts +0 -19
  305. package/dist/threed/real-object-extrude.js +0 -171
  306. package/dist/threed/real-object-extrude.js.map +0 -1
  307. package/dist/threed/real-object-gltf.d.ts +0 -15
  308. package/dist/threed/real-object-gltf.js +0 -97
  309. package/dist/threed/real-object-gltf.js.map +0 -1
  310. package/dist/threed/real-object-group.d.ts +0 -5
  311. package/dist/threed/real-object-group.js +0 -11
  312. package/dist/threed/real-object-group.js.map +0 -1
  313. package/dist/threed/real-object-mesh.d.ts +0 -11
  314. package/dist/threed/real-object-mesh.js +0 -55
  315. package/dist/threed/real-object-mesh.js.map +0 -1
  316. package/dist/threed/real-object-plane.d.ts +0 -6
  317. package/dist/threed/real-object-plane.js +0 -23
  318. package/dist/threed/real-object-plane.js.map +0 -1
  319. package/dist/threed/real-object-scene.d.ts +0 -21
  320. package/dist/threed/real-object-scene.js +0 -89
  321. package/dist/threed/real-object-scene.js.map +0 -1
  322. package/dist/threed/real-object-sprite.d.ts +0 -12
  323. package/dist/threed/real-object-sprite.js +0 -35
  324. package/dist/threed/real-object-sprite.js.map +0 -1
  325. package/dist/threed/real-object-text.d.ts +0 -16
  326. package/dist/threed/real-object-text.js +0 -70
  327. package/dist/threed/real-object-text.js.map +0 -1
  328. package/dist/threed/real-object.d.ts +0 -48
  329. package/dist/threed/real-object.js +0 -199
  330. package/dist/threed/real-object.js.map +0 -1
  331. package/dist/threed/texture/text-texture.d.ts +0 -8
  332. package/dist/threed/three-dimensional-container.d.ts +0 -7
  333. package/dist/threed/three-dimensional-container.js +0 -2
  334. package/dist/threed/three-dimensional-container.js.map +0 -1
  335. package/dist/threed/utils/bound-uv-generator.d.ts +0 -16
  336. package/dist/types.d.ts +0 -53
  337. package/dist/types.js +0 -368
  338. package/dist/types.js.map +0 -1
@@ -1,42 +0,0 @@
1
- export default class AddLayer extends Layer {
2
- ready(): void;
3
- get eventMap(): {
4
- '(root)': {
5
- '(self)': {
6
- addstart: (models: any, hint: any) => void;
7
- addstop: () => void;
8
- keydown: (e: any) => void;
9
- dragstart: (e: any) => void;
10
- dragmove: (e: any) => void;
11
- dragend: (e: any, hint: any) => void;
12
- mousedown: (e: any, hint: any) => void;
13
- mouseup: (e: any, hint: any) => void;
14
- };
15
- };
16
- 'model-layer': {
17
- '(self)': {
18
- change: (after: any, before: any, hint: any) => void;
19
- };
20
- };
21
- };
22
- onchange_root_model(after: any, before: any, hint: any): void;
23
- onaddstart(models: any, hint: any): void;
24
- before_mode: any;
25
- models: any;
26
- onaddstop(): void;
27
- onkeydown(e: any): void;
28
- ondragstart(e: any): void;
29
- addbox: {
30
- sx: any;
31
- sy: any;
32
- } | undefined;
33
- ondragmove(e: any): void;
34
- ondragend(e: any, hint: any): void;
35
- onmousedown(e: any, hint: any): void;
36
- downpoint: {
37
- x: any;
38
- y: any;
39
- } | undefined;
40
- onmouseup(e: any, hint: any): void;
41
- }
42
- import Layer from "./layer";
@@ -1,142 +0,0 @@
1
- /*
2
- * Copyright © HatioLab Inc. All rights reserved.
3
- */
4
- import Component from '../components/component';
5
- import * as Const from '../const';
6
- import { add } from '../things-scene/api';
7
- import Layer from './layer';
8
- export default class AddLayer extends Layer {
9
- // Lifecycle
10
- ready() {
11
- super.ready();
12
- var rootModel = this.rootModel;
13
- var translate = rootModel.get('translate');
14
- var scale = rootModel.get('scale');
15
- this.set('translate', translate);
16
- this.set('scale', scale);
17
- }
18
- render(ctx) {
19
- var addbox = this.addbox;
20
- if (addbox) {
21
- let { sx, sy, ex, ey } = addbox;
22
- let scale = this.get('scale') || { x: 1, y: 1 };
23
- ctx.beginPath();
24
- ctx.rect(sx, sy, ex - sx, ey - sy);
25
- ctx.setLineDash([2 / scale.x, 4 / scale.y]);
26
- ctx.lineWidth = 1 / scale.x;
27
- ctx.strokeStyle = 'black';
28
- ctx.stroke();
29
- }
30
- }
31
- contains(x, y) {
32
- return !!(this.app.mode == Const.MODE_ADD);
33
- }
34
- get eventMap() {
35
- return {
36
- '(root)': {
37
- '(self)': {
38
- addstart: this.onaddstart,
39
- addstop: this.onaddstop,
40
- keydown: this.onkeydown,
41
- dragstart: this.ondragstart,
42
- dragmove: this.ondragmove,
43
- dragend: this.ondragend,
44
- mousedown: this.onmousedown,
45
- mouseup: this.onmouseup
46
- }
47
- },
48
- 'model-layer': {
49
- '(self)': {
50
- change: this.onchange_root_model
51
- }
52
- }
53
- };
54
- }
55
- onchange_root_model(after, before, hint) {
56
- if (after.translate) {
57
- // Model Base 레이어와 동일한 translate를 유지하도록 한다.
58
- this.set('translate', after.translate);
59
- }
60
- if (after.scale) {
61
- // Model Base 레이어와 동일한 scale 유지하도록 한다.
62
- this.set('scale', after.scale);
63
- }
64
- }
65
- onaddstart(models, hint) {
66
- if (this.before_mode === undefined) {
67
- this.before_mode = this.app.mode;
68
- this.models = models;
69
- this.app.mode = Const.MODE_ADD;
70
- }
71
- }
72
- onaddstop() {
73
- if (this.before_mode !== undefined) {
74
- this.app.mode = this.before_mode;
75
- }
76
- delete this.before_mode;
77
- delete this.addbox;
78
- this.invalidate();
79
- }
80
- onkeydown(e) {
81
- if (this.app.mode === Const.MODE_ADD && e.code === 'Esc') {
82
- this.root.trigger('addstop');
83
- }
84
- }
85
- /* default UI Event Handlers. */
86
- ondragstart(e) {
87
- var { x, y } = this.transcoordC2S(e.offsetX, e.offsetY);
88
- this.addbox = {
89
- sx: x,
90
- sy: y
91
- };
92
- }
93
- ondragmove(e) {
94
- if (this.app.mode !== Const.MODE_ADD) {
95
- return;
96
- }
97
- var { x, y } = this.transcoordC2S(e.offsetX, e.offsetY);
98
- if (this.addbox) {
99
- this.addbox.ex = x;
100
- this.addbox.ey = y;
101
- this.invalidate();
102
- }
103
- }
104
- ondragend(e, hint) {
105
- if (this.app.mode !== Const.MODE_ADD) {
106
- return;
107
- }
108
- const { sx, sy, ex, ey } = this.addbox;
109
- add.call(this.root, this.models, {
110
- left: Math.min(sx, ex),
111
- top: Math.min(sy, ey),
112
- width: Math.abs(ex - sx),
113
- height: Math.abs(ey - sy)
114
- });
115
- this.root.trigger('addstop');
116
- }
117
- onmousedown(e, hint) {
118
- if (this.app.mode !== Const.MODE_ADD) {
119
- return;
120
- }
121
- this.downpoint = {
122
- x: e.offsetX,
123
- y: e.offsetY
124
- };
125
- }
126
- onmouseup(e, hint) {
127
- /*
128
- * 마우스가 눌린 위치와 동일한 위치에서 버튼릴리즈 된 경우만 처리한다.
129
- */
130
- if (this.downpoint.x !== e.offsetX || this.downpoint.y !== e.offsetY) {
131
- return;
132
- }
133
- var { x, y } = this.transcoordC2S(e.offsetX, e.offsetY);
134
- add.call(this.root, this.models, {
135
- cx: x,
136
- cy: y
137
- });
138
- this.root.trigger('addstop');
139
- }
140
- }
141
- Component.register('add-layer', AddLayer);
142
- //# sourceMappingURL=add-layer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"add-layer.js","sourceRoot":"","sources":["../../src/layer/add-layer.js"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright © HatioLab Inc. All rights reserved.\n */\n\nimport Component from '../components/component'\nimport * as Const from '../const'\nimport { add } from '../things-scene/api'\nimport Layer from './layer'\n\nexport default class AddLayer extends Layer {\n // Lifecycle\n ready() {\n super.ready()\n var rootModel = this.rootModel\n\n var translate = rootModel.get('translate')\n var scale = rootModel.get('scale')\n\n this.set('translate', translate)\n this.set('scale', scale)\n }\n\n render(ctx) {\n var addbox = this.addbox\n\n if (addbox) {\n let { sx, sy, ex, ey } = addbox\n let scale = this.get('scale') || { x: 1, y: 1 }\n\n ctx.beginPath()\n\n ctx.rect(sx, sy, ex - sx, ey - sy)\n\n ctx.setLineDash([2 / scale.x, 4 / scale.y])\n ctx.lineWidth = 1 / scale.x\n ctx.strokeStyle = 'black'\n\n ctx.stroke()\n }\n }\n\n contains(x, y) {\n return !!(this.app.mode == Const.MODE_ADD)\n }\n\n get eventMap() {\n return {\n '(root)': {\n '(self)': {\n addstart: this.onaddstart,\n addstop: this.onaddstop,\n keydown: this.onkeydown,\n dragstart: this.ondragstart,\n dragmove: this.ondragmove,\n dragend: this.ondragend,\n mousedown: this.onmousedown,\n mouseup: this.onmouseup\n }\n },\n 'model-layer': {\n '(self)': {\n change: this.onchange_root_model\n }\n }\n }\n }\n\n onchange_root_model(after, before, hint) {\n if (after.translate) {\n // Model Base 레이어와 동일한 translate를 유지하도록 한다.\n this.set('translate', after.translate)\n }\n\n if (after.scale) {\n // Model Base 레이어와 동일한 scale 유지하도록 한다.\n this.set('scale', after.scale)\n }\n }\n\n onaddstart(models, hint) {\n if (this.before_mode === undefined) {\n this.before_mode = this.app.mode\n this.models = models\n this.app.mode = Const.MODE_ADD\n }\n }\n\n onaddstop() {\n if (this.before_mode !== undefined) {\n this.app.mode = this.before_mode\n }\n delete this.before_mode\n delete this.addbox\n\n this.invalidate()\n }\n\n onkeydown(e) {\n if (this.app.mode === Const.MODE_ADD && e.code === 'Esc') {\n this.root.trigger('addstop')\n }\n }\n\n /* default UI Event Handlers. */\n\n ondragstart(e) {\n var { x, y } = this.transcoordC2S(e.offsetX, e.offsetY)\n\n this.addbox = {\n sx: x,\n sy: y\n }\n }\n\n ondragmove(e) {\n if (this.app.mode !== Const.MODE_ADD) {\n return\n }\n\n var { x, y } = this.transcoordC2S(e.offsetX, e.offsetY)\n\n if (this.addbox) {\n this.addbox.ex = x\n this.addbox.ey = y\n\n this.invalidate()\n }\n }\n\n ondragend(e, hint) {\n if (this.app.mode !== Const.MODE_ADD) {\n return\n }\n\n const { sx, sy, ex, ey } = this.addbox\n\n add.call(this.root, this.models, {\n left: Math.min(sx, ex),\n top: Math.min(sy, ey),\n width: Math.abs(ex - sx),\n height: Math.abs(ey - sy)\n })\n\n this.root.trigger('addstop')\n }\n\n onmousedown(e, hint) {\n if (this.app.mode !== Const.MODE_ADD) {\n return\n }\n\n this.downpoint = {\n x: e.offsetX,\n y: e.offsetY\n }\n }\n\n onmouseup(e, hint) {\n /*\n * 마우스가 눌린 위치와 동일한 위치에서 버튼릴리즈 된 경우만 처리한다.\n */\n if (this.downpoint.x !== e.offsetX || this.downpoint.y !== e.offsetY) {\n return\n }\n\n var { x, y } = this.transcoordC2S(e.offsetX, e.offsetY)\n\n add.call(this.root, this.models, {\n cx: x,\n cy: y\n })\n\n this.root.trigger('addstop')\n }\n}\n\nComponent.register('add-layer', AddLayer)\n"]}
@@ -1,27 +0,0 @@
1
- export default class DecoTagLayer extends Layer {
2
- _anim_alpha: number;
3
- animOnTargetChange(targets: any): void;
4
- _lastTargets: any;
5
- set targets(arg: any);
6
- get targets(): any;
7
- _targets: any;
8
- onmouseenter(e: any, hint: any): void;
9
- onmouseleave(e: any, hint: any): void;
10
- get eventMap(): {
11
- 'model-layer': {
12
- '(descendant)': {
13
- tag: (hint: any) => void;
14
- tagreset: (hint: any) => void;
15
- mouseenter: (e: any, hint: any) => void;
16
- mouseleave: (e: any, hint: any) => void;
17
- };
18
- };
19
- };
20
- ondecotagreset(hint: any): void;
21
- ondecotag(hint: any): void;
22
- offdecotag(e: any, hint: any): void;
23
- _ondecotag(target: any): void;
24
- _offdecotag(target: any): void;
25
- _decotagreset(): void;
26
- }
27
- import Layer from "./layer";
@@ -1,105 +0,0 @@
1
- /*
2
- * Copyright © HatioLab Inc. All rights reserved.
3
- */
4
- import Component from '../components/component';
5
- import Layer from './layer';
6
- import { decorate } from '../decorator/index';
7
- /*
8
- * DecoTagLayer 선택된 컴포넌트에 대한 정보를 보여준다.
9
- *
10
- * Tooltip 을 통해서 id, class 설정 정보를 보여준다.
11
- * 변수에 의한 데이타 흐름은 선을 통해서 보여준다.
12
- */
13
- export default class DecoTagLayer extends Layer {
14
- constructor(model, context) {
15
- super(model, context);
16
- this._anim_alpha = 1;
17
- }
18
- animOnTargetChange(targets) {
19
- if (targets === this._lastTargets)
20
- return;
21
- this._lastTargets = targets;
22
- this._anim_alpha = 1;
23
- this.animate({
24
- step: delta => {
25
- this._anim_alpha = 1 - delta * delta;
26
- this.invalidate();
27
- },
28
- duration: 5000,
29
- delta: 'linear',
30
- options: {
31
- x: 1
32
- },
33
- ease: 'out'
34
- }).start();
35
- }
36
- render(context) {
37
- var targets = this.targets && this.targets.filter(target => target.rootModel);
38
- if (!targets || targets.length == 0) {
39
- this._animate && this._animate.stop();
40
- delete this._animate;
41
- return;
42
- }
43
- context.globalAlpha *= this._anim_alpha;
44
- var needAnimation = false;
45
- targets.forEach(target => {
46
- if (decorate(target, context)) {
47
- needAnimation = true;
48
- }
49
- });
50
- needAnimation && this.animOnTargetChange(this.targets);
51
- }
52
- get targets() {
53
- return this._targets;
54
- }
55
- set targets(targets) {
56
- this._targets = targets && targets.filter(target => !target.isLayer());
57
- this.invalidate();
58
- }
59
- onmouseenter(e, hint) {
60
- this._decotagreset();
61
- this._ondecotag(hint.origin);
62
- }
63
- onmouseleave(e, hint) {
64
- this._decotagreset();
65
- }
66
- get eventMap() {
67
- return {
68
- 'model-layer': {
69
- '(descendant)': {
70
- tag: this.ondecotag,
71
- tagreset: this.ondecotagreset,
72
- mouseenter: this.onmouseenter,
73
- mouseleave: this.onmouseleave
74
- }
75
- }
76
- };
77
- }
78
- ondecotagreset(hint) {
79
- this._decotagreset();
80
- }
81
- ondecotag(hint) {
82
- this._ondecotag(hint.origin);
83
- }
84
- offdecotag(e, hint) {
85
- this._offdecotag(hint.origin);
86
- }
87
- _ondecotag(target) {
88
- if (this.targets && this.targets.lastIndexOf(target) !== -1)
89
- return;
90
- this.targets = (this.targets || []).concat(target);
91
- }
92
- _offdecotag(target) {
93
- if (!this.targets)
94
- return;
95
- var copied = this.targets.slice();
96
- copied.splice(this.targets.lastIndexOf(target), 1);
97
- this.targets = copied;
98
- }
99
- _decotagreset() {
100
- this.targets = [];
101
- }
102
- }
103
- Component.register('decotag-layer', DecoTagLayer);
104
- Component.register('tag-layer', DecoTagLayer); // TOBE deprecated
105
- //# sourceMappingURL=decotag-layer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"decotag-layer.js","sourceRoot":"","sources":["../../src/layer/decotag-layer.js"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright © HatioLab Inc. All rights reserved.\n */\n\nimport Component from '../components/component'\nimport Layer from './layer'\nimport { decorate } from '../decorator/index'\n\n/*\n * DecoTagLayer 선택된 컴포넌트에 대한 정보를 보여준다.\n *\n * Tooltip 을 통해서 id, class 설정 정보를 보여준다.\n * 변수에 의한 데이타 흐름은 선을 통해서 보여준다.\n */\n\nexport default class DecoTagLayer extends Layer {\n constructor(model, context) {\n super(model, context)\n this._anim_alpha = 1\n }\n\n animOnTargetChange(targets) {\n if (targets === this._lastTargets) return\n\n this._lastTargets = targets\n\n this._anim_alpha = 1\n\n this.animate({\n step: delta => {\n this._anim_alpha = 1 - delta * delta\n this.invalidate()\n },\n duration: 5000,\n delta: 'linear',\n options: {\n x: 1\n },\n ease: 'out'\n }).start()\n }\n\n render(context) {\n var targets = this.targets && this.targets.filter(target => target.rootModel)\n if (!targets || targets.length == 0) {\n this._animate && this._animate.stop()\n delete this._animate\n return\n }\n\n context.globalAlpha *= this._anim_alpha\n\n var needAnimation = false\n\n targets.forEach(target => {\n if (decorate(target, context)) {\n needAnimation = true\n }\n })\n\n needAnimation && this.animOnTargetChange(this.targets)\n }\n\n get targets() {\n return this._targets\n }\n\n set targets(targets) {\n this._targets = targets && targets.filter(target => !target.isLayer())\n this.invalidate()\n }\n\n onmouseenter(e, hint) {\n this._decotagreset()\n this._ondecotag(hint.origin)\n }\n\n onmouseleave(e, hint) {\n this._decotagreset()\n }\n\n get eventMap() {\n return {\n 'model-layer': {\n '(descendant)': {\n tag: this.ondecotag,\n tagreset: this.ondecotagreset,\n mouseenter: this.onmouseenter,\n mouseleave: this.onmouseleave\n }\n }\n }\n }\n\n ondecotagreset(hint) {\n this._decotagreset()\n }\n\n ondecotag(hint) {\n this._ondecotag(hint.origin)\n }\n\n offdecotag(e, hint) {\n this._offdecotag(hint.origin)\n }\n\n _ondecotag(target) {\n if (this.targets && this.targets.lastIndexOf(target) !== -1) return\n\n this.targets = (this.targets || []).concat(target)\n }\n\n _offdecotag(target) {\n if (!this.targets) return\n\n var copied = this.targets.slice()\n copied.splice(this.targets.lastIndexOf(target), 1)\n this.targets = copied\n }\n\n _decotagreset() {\n this.targets = []\n }\n}\n\nComponent.register('decotag-layer', DecoTagLayer)\nComponent.register('tag-layer', DecoTagLayer) // TOBE deprecated\n"]}
@@ -1,44 +0,0 @@
1
- export default class GuideLayer extends Layer {
2
- appScale: {
3
- x: number;
4
- y: number;
5
- };
6
- hruler: Ruler | undefined;
7
- vruler: Ruler | undefined;
8
- origin_rect: Rect | undefined;
9
- get capturable(): boolean;
10
- ready(): void;
11
- screen_coord: {
12
- left: number;
13
- top: number;
14
- width: number;
15
- height: number;
16
- } | undefined;
17
- set guide(arg: any);
18
- get guide(): any;
19
- _guide: any;
20
- get eventMap(): {
21
- '(root)': {
22
- '(descendant)': {
23
- mousemove: (e: any, hint: any) => void;
24
- mouseout: (e: any) => void;
25
- dragmove: (e: any, hint: any) => void;
26
- };
27
- 'model-layer': {
28
- change: (after: any, before: any, desc: any) => void;
29
- };
30
- };
31
- '(self)': {
32
- '(descendant)': {
33
- mousedown: (e: any, hint: any) => void;
34
- };
35
- };
36
- };
37
- onmousedown_origin(e: any, hint: any): void;
38
- onchange_root_model(after: any, before: any, desc: any): void;
39
- onmouseout_child(e: any): void;
40
- onmousemove_child(e: any, hint: any): void;
41
- }
42
- import Layer from "./layer";
43
- import Ruler from "../components/ruler";
44
- import Rect from "../components/rect";
@@ -1,261 +0,0 @@
1
- /*
2
- * Copyright © HatioLab Inc. All rights reserved.
3
- */
4
- import Component from '../components/component';
5
- import Rect from '../components/rect';
6
- import Ruler from '../components/ruler';
7
- import * as Const from '../const';
8
- import Layer from './layer';
9
- const HRULER_LEFT = 20;
10
- const HRULER_TOP = 0;
11
- const HRULER_ORIGIN = 20;
12
- const VRULER_LEFT = 0; /* 회전된 상태에서의 LEFT */
13
- const VRULER_TOP = 20; /* 회전된 상태에서의 TOP */
14
- const VRULER_ORIGIN = 20;
15
- const VRULER_ROTATE = (90 * Math.PI) / 180;
16
- const RULER_UNIT = 'm';
17
- const RULER_MARGIN = 0;
18
- const RULER_FONT = '9px Verdana';
19
- const RULER_HEIGHT = 20;
20
- const RULER_COLOR = '#f4f4f4';
21
- const RULER_STROKE = '#999';
22
- function calcOriginRectCoord(translate, width, height) {
23
- return {
24
- left: -translate.x,
25
- top: -translate.y,
26
- width: HRULER_LEFT,
27
- height: RULER_HEIGHT
28
- };
29
- }
30
- function calcHRulerCoord(translate, width, height, ruler) {
31
- return {
32
- left: HRULER_LEFT - translate.x,
33
- top: HRULER_TOP - translate.y,
34
- origin: HRULER_ORIGIN - translate.x,
35
- width: width - HRULER_LEFT,
36
- height: RULER_HEIGHT
37
- };
38
- }
39
- function calcVRulerCoord(translate, width, height, ruler) {
40
- // 1. 레이어 관점의 좌표계에서 Ruler의 센터를 잡는다
41
- var center = {
42
- x: -translate.x + VRULER_LEFT + RULER_HEIGHT / 2,
43
- y: -translate.y + VRULER_TOP + (height - VRULER_TOP) / 2
44
- };
45
- // 2. 계산된 센터값을 이용해서 Ruler의 LEFT TOP에 해당하는 지점의 Ruler 관점의 좌표값을 계산한다.
46
- var right_top = Component.transcoordRR(-translate.x + VRULER_LEFT, -translate.y + VRULER_TOP, center, VRULER_ROTATE);
47
- // 3. 변경된 속성값을 리턴한다.
48
- return {
49
- left: right_top.x - (height - VRULER_TOP),
50
- top: right_top.y,
51
- origin: VRULER_ORIGIN - translate.y,
52
- width: height - VRULER_TOP,
53
- height: RULER_HEIGHT
54
- };
55
- }
56
- function calcBounds(layout) {
57
- var translate = layout.get('translate');
58
- return {
59
- left: -translate.x,
60
- top: -translate.y,
61
- width: layout.canvas.width / Const.DPPX,
62
- height: layout.canvas.height / Const.DPPX
63
- };
64
- }
65
- export default class GuideLayer extends Layer {
66
- constructor(model, context) {
67
- super(model, context);
68
- this.appScale = {
69
- x: 1,
70
- y: 1
71
- };
72
- if (model.ruler !== 'disabled') {
73
- this.hruler = new Ruler({
74
- left: HRULER_LEFT,
75
- top: HRULER_TOP,
76
- origin: HRULER_ORIGIN,
77
- margin: RULER_MARGIN,
78
- height: RULER_HEIGHT,
79
- unit: RULER_UNIT,
80
- rotation: 0,
81
- font: RULER_FONT,
82
- fillStyle: RULER_COLOR,
83
- strokeStyle: RULER_STROKE,
84
- capturable: false
85
- });
86
- this.vruler = new Ruler({
87
- left: 0,
88
- top: 0,
89
- origin: VRULER_ORIGIN,
90
- margin: RULER_MARGIN,
91
- height: RULER_HEIGHT,
92
- unit: RULER_UNIT,
93
- rotation: VRULER_ROTATE,
94
- font: RULER_FONT,
95
- side: 'top',
96
- fillStyle: RULER_COLOR,
97
- strokeStyle: RULER_STROKE,
98
- capturable: false
99
- });
100
- this.origin_rect = new Rect({
101
- left: -HRULER_ORIGIN,
102
- top: -VRULER_ORIGIN,
103
- width: HRULER_ORIGIN,
104
- height: VRULER_ORIGIN,
105
- fillStyle: RULER_COLOR,
106
- strokeStyle: RULER_STROKE,
107
- lineWidth: 1
108
- });
109
- this.addComponent(this.hruler);
110
- this.addComponent(this.vruler);
111
- this.addComponent(this.origin_rect);
112
- }
113
- this.invalidate();
114
- }
115
- get capturable() {
116
- return false;
117
- }
118
- ready() {
119
- super.ready();
120
- if (!this.hruler) {
121
- this.screen_coord = calcBounds(this);
122
- return;
123
- }
124
- var rootModel = this.rootModel;
125
- var translate = Object.assign({}, rootModel.get('translate'));
126
- if (translate.x < HRULER_LEFT)
127
- translate.x += HRULER_LEFT;
128
- if (translate.y < VRULER_TOP)
129
- translate.y += VRULER_TOP;
130
- /* set scale */
131
- var scale = rootModel.get('scale') || { x: 1, y: 1 };
132
- this.appScale = scale;
133
- this.hruler.set('scale', scale.x);
134
- this.vruler.set('scale', scale.y);
135
- /* set translate */
136
- rootModel.set('translate', translate);
137
- this.set('translate', translate);
138
- this.screen_coord = calcBounds(this);
139
- var { width, height } = this.screen_coord;
140
- this.hruler.set(calcHRulerCoord(translate, width, height, this.hruler));
141
- this.vruler.set(calcVRulerCoord(translate, width, height, this.vruler));
142
- this.origin_rect.set(calcOriginRectCoord(translate, width, height));
143
- }
144
- resize() {
145
- super.resize();
146
- this.screen_coord = calcBounds(this);
147
- var { width, height } = this.screen_coord;
148
- if (this.hruler) {
149
- /* 레이어의 디멘션이 변경될 때, Ruler의 초기 width 값을 설정한다. */
150
- this.hruler.set(calcHRulerCoord(this.model.translate, width, height, this.hruler));
151
- this.vruler.set(calcVRulerCoord(this.model.translate, width, height, this.vruler));
152
- this.origin_rect.set(calcOriginRectCoord(this.model.translate, width, height));
153
- }
154
- }
155
- render(ctx) {
156
- // 선 그리기.
157
- if (!this.guide)
158
- return;
159
- ctx.save();
160
- var { x, y } = this.guide;
161
- var { top, left, width, height } = this.screen_coord;
162
- ctx.beginPath();
163
- ctx.moveTo(x, top);
164
- ctx.lineTo(x, top + height);
165
- ctx.moveTo(left, y);
166
- ctx.lineTo(left + width, y);
167
- ctx.lineWidth = 1;
168
- ctx.strokeStyle = 'tomato';
169
- ctx.setLineDash([2, 3]);
170
- ctx.font = '10px tahoma';
171
- ctx.fillStyle = '#333';
172
- var screen_coord = this.transcoordS2C(x, y, this.rootModel);
173
- ctx.textBaseline = screen_coord.y > 200 ? 'bottom' : 'top';
174
- ctx.textAlign = screen_coord.x > 200 ? 'right' : 'left';
175
- var yMargin = screen_coord.y > 200 ? -5 : 5;
176
- var xMargin = screen_coord.x > 200 ? -5 : 5;
177
- var scaled_x = Math.round(x / this.appScale.x);
178
- var scaled_y = Math.round(y / this.appScale.y);
179
- ctx.fillText(` ${scaled_x}, ${scaled_y} `, x + xMargin, y + yMargin);
180
- ctx.stroke();
181
- ctx.restore();
182
- }
183
- get guide() {
184
- return this._guide;
185
- }
186
- set guide(guide) {
187
- this._guide = guide;
188
- this.invalidate();
189
- }
190
- contains(x, y) {
191
- return true;
192
- }
193
- get eventMap() {
194
- return {
195
- '(root)': {
196
- '(descendant)': {
197
- mousemove: this.onmousemove_child,
198
- mouseout: this.onmouseout_child,
199
- /* CONFIRMME DragMove 이벤트 중에는 MouseMove 이벤트가 발생하지 않으므로 (현재까지는..), 아래 이벤트 핸들러를 추가해준다. */
200
- dragmove: this.onmousemove_child
201
- },
202
- 'model-layer': {
203
- change: this.onchange_root_model
204
- }
205
- },
206
- '(self)': {
207
- '(descendant)': {
208
- mousedown: this.onmousedown_origin
209
- }
210
- }
211
- };
212
- }
213
- onmousedown_origin(e, hint) {
214
- // 모델레이어의 원점을 움직인다.
215
- this.rootModel.set('translate', {
216
- x: HRULER_ORIGIN,
217
- y: VRULER_ORIGIN
218
- });
219
- }
220
- onchange_root_model(after, before, desc) {
221
- if (after.scale) {
222
- this.appScale = after.scale;
223
- if (this.hruler) {
224
- this.hruler.set('scale', after.scale.x);
225
- this.vruler.set('scale', after.scale.y);
226
- }
227
- }
228
- if (after.translate) {
229
- this.set({
230
- translate: {
231
- x: after.translate.x,
232
- y: after.translate.y
233
- }
234
- });
235
- }
236
- if (after.scale || after.translate) {
237
- this.screen_coord = calcBounds(this);
238
- if (this.hruler) {
239
- var { translate } = this.model;
240
- var { width, height } = this.screen_coord;
241
- this.hruler.set(calcHRulerCoord(translate, width, height, this.hruler));
242
- this.vruler.set(calcVRulerCoord(translate, width, height, this.vruler));
243
- this.origin_rect.set(calcOriginRectCoord(translate, width, height));
244
- }
245
- this._guide = null;
246
- }
247
- this.invalidate();
248
- }
249
- onmouseout_child(e) {
250
- this._guide = null;
251
- this.invalidate();
252
- }
253
- onmousemove_child(e, hint) {
254
- if (e.target && e.target.tagName !== 'CANVAS')
255
- this.guide = null;
256
- else
257
- this.guide = this.transcoordC2S(e.offsetX, e.offsetY);
258
- }
259
- }
260
- Component.register('guide-layer', GuideLayer);
261
- //# sourceMappingURL=guide-layer.js.map