@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.
- package/package.json +1 -1
- package/things-scene-min.js +11 -11
- package/things-scene-min.js.map +1 -1
- package/things-scene.mjs +11 -11
- package/things-scene.mjs.map +1 -1
- package/.cursorignore +0 -62
- package/.prettierrc +0 -21
- package/assets/icon-audio.png +0 -0
- package/assets/icon-gif-viewer.png +0 -0
- package/assets/images/spinner.png +0 -0
- package/babel.config.js +0 -23
- package/db.sqlite +0 -0
- package/dist/animation/animate.js +0 -63
- package/dist/animation/animate.js.map +0 -1
- package/dist/animation/animations/animation.js +0 -122
- package/dist/animation/animations/animation.js.map +0 -1
- package/dist/animation/animations/fade.js +0 -28
- package/dist/animation/animations/fade.js.map +0 -1
- package/dist/animation/animations/heartbeat.js +0 -28
- package/dist/animation/animations/heartbeat.js.map +0 -1
- package/dist/animation/animations/moving.js +0 -24
- package/dist/animation/animations/moving.js.map +0 -1
- package/dist/animation/animations/outline.js +0 -47
- package/dist/animation/animations/outline.js.map +0 -1
- package/dist/animation/animations/rotation.js +0 -22
- package/dist/animation/animations/rotation.js.map +0 -1
- package/dist/animation/animations/vibration.js +0 -31
- package/dist/animation/animations/vibration.js.map +0 -1
- package/dist/animation/compile.js +0 -31
- package/dist/animation/compile.js.map +0 -1
- package/dist/animation/delta.js +0 -51
- package/dist/animation/delta.js.map +0 -1
- package/dist/animation/index.js +0 -14
- package/dist/animation/index.js.map +0 -1
- package/dist/command/command-change.js +0 -33
- package/dist/command/command-change.js.map +0 -1
- package/dist/command/command-migrate.js +0 -103
- package/dist/command/command-migrate.js.map +0 -1
- package/dist/command/command.js +0 -18
- package/dist/command/command.js.map +0 -1
- package/dist/command/snapshot-commander.js +0 -84
- package/dist/command/snapshot-commander.js.map +0 -1
- package/dist/components/anchor/anchor.js +0 -105
- package/dist/components/anchor/anchor.js.map +0 -1
- package/dist/components/anchor/ellipse-anchors.js +0 -53
- package/dist/components/anchor/ellipse-anchors.js.map +0 -1
- package/dist/components/anchor/rect-anchors.js +0 -53
- package/dist/components/anchor/rect-anchors.js.map +0 -1
- package/dist/components/audio.js +0 -154
- package/dist/components/audio.js.map +0 -1
- package/dist/components/cloud.js +0 -44
- package/dist/components/cloud.js.map +0 -1
- package/dist/components/component.js +0 -1086
- package/dist/components/component.js.map +0 -1
- package/dist/components/container-abstract.js +0 -387
- package/dist/components/container-abstract.js.map +0 -1
- package/dist/components/container.js +0 -331
- package/dist/components/container.js.map +0 -1
- package/dist/components/data/data-mapping.js +0 -82
- package/dist/components/data/data-mapping.js.map +0 -1
- package/dist/components/data/data.js +0 -166
- package/dist/components/data/data.js.map +0 -1
- package/dist/components/data/evaluator.js +0 -103
- package/dist/components/data/evaluator.js.map +0 -1
- package/dist/components/donut.js +0 -104
- package/dist/components/donut.js.map +0 -1
- package/dist/components/drawer/draw-image-pendable.js +0 -20
- package/dist/components/drawer/draw-image-pendable.js.map +0 -1
- package/dist/components/drawer/effect.js +0 -19
- package/dist/components/drawer/effect.js.map +0 -1
- package/dist/components/drawer/fill.js +0 -228
- package/dist/components/drawer/fill.js.map +0 -1
- package/dist/components/drawer/format.js +0 -115
- package/dist/components/drawer/format.js.map +0 -1
- package/dist/components/drawer/line.js +0 -191
- package/dist/components/drawer/line.js.map +0 -1
- package/dist/components/drawer/stroke.js +0 -62
- package/dist/components/drawer/stroke.js.map +0 -1
- package/dist/components/drawer/text-wrapper.js +0 -51
- package/dist/components/drawer/text-wrapper.js.map +0 -1
- package/dist/components/drawer/text.js +0 -269
- package/dist/components/drawer/text.js.map +0 -1
- package/dist/components/ellipse.js +0 -110
- package/dist/components/ellipse.js.map +0 -1
- package/dist/components/file/ondropfile.js +0 -19
- package/dist/components/file/ondropfile.js.map +0 -1
- package/dist/components/fit/fit.js +0 -137
- package/dist/components/fit/fit.js.map +0 -1
- package/dist/components/geometry/transcoord.js +0 -339
- package/dist/components/geometry/transcoord.js.map +0 -1
- package/dist/components/geometry/union.js +0 -35
- package/dist/components/geometry/union.js.map +0 -1
- package/dist/components/gif-view.js +0 -128
- package/dist/components/gif-view.js.map +0 -1
- package/dist/components/global-ref.js +0 -154
- package/dist/components/global-ref.js.map +0 -1
- package/dist/components/group.js +0 -171
- package/dist/components/group.js.map +0 -1
- package/dist/components/html/elements.js +0 -24
- package/dist/components/html/elements.js.map +0 -1
- package/dist/components/html/fill.js +0 -126
- package/dist/components/html/fill.js.map +0 -1
- package/dist/components/html/reposition.js +0 -119
- package/dist/components/html/reposition.js.map +0 -1
- package/dist/components/html/shadow.js +0 -24
- package/dist/components/html/shadow.js.map +0 -1
- package/dist/components/html-overlay-container.js +0 -27
- package/dist/components/html-overlay-container.js.map +0 -1
- package/dist/components/html-overlay-element.js +0 -22
- package/dist/components/html-overlay-element.js.map +0 -1
- package/dist/components/image-view.js +0 -193
- package/dist/components/image-view.js.map +0 -1
- package/dist/components/index.js +0 -231
- package/dist/components/index.js.map +0 -1
- package/dist/components/info-window.js +0 -416
- package/dist/components/info-window.js.map +0 -1
- package/dist/components/line.js +0 -374
- package/dist/components/line.js.map +0 -1
- package/dist/components/local-ref.js +0 -114
- package/dist/components/local-ref.js.map +0 -1
- package/dist/components/mixins/connectable.js +0 -128
- package/dist/components/mixins/connectable.js.map +0 -1
- package/dist/components/mixins/data-source.js +0 -34
- package/dist/components/mixins/data-source.js.map +0 -1
- package/dist/components/mixins/html-element.js +0 -107
- package/dist/components/mixins/html-element.js.map +0 -1
- package/dist/components/mixins/move-handle.js +0 -73
- package/dist/components/mixins/move-handle.js.map +0 -1
- package/dist/components/mixins/rect-path.js +0 -113
- package/dist/components/mixins/rect-path.js.map +0 -1
- package/dist/components/mixins/value-holder.js +0 -81
- package/dist/components/mixins/value-holder.js.map +0 -1
- package/dist/components/mutater/bounds.js +0 -68
- package/dist/components/mutater/bounds.js.map +0 -1
- package/dist/components/mutater/path.js +0 -73
- package/dist/components/mutater/path.js.map +0 -1
- package/dist/components/ortholine.js +0 -763
- package/dist/components/ortholine.js.map +0 -1
- package/dist/components/outline/ellipse-outline.js +0 -23
- package/dist/components/outline/ellipse-outline.js.map +0 -1
- package/dist/components/outline/path-outline.js +0 -48
- package/dist/components/outline/path-outline.js.map +0 -1
- package/dist/components/path.js +0 -49
- package/dist/components/path.js.map +0 -1
- package/dist/components/polygon.js +0 -91
- package/dist/components/polygon.js.map +0 -1
- package/dist/components/polyline.js +0 -114
- package/dist/components/polyline.js.map +0 -1
- package/dist/components/popup.js +0 -160
- package/dist/components/popup.js.map +0 -1
- package/dist/components/rect.js +0 -72
- package/dist/components/rect.js.map +0 -1
- package/dist/components/retention/retention-manager.js +0 -81
- package/dist/components/retention/retention-manager.js.map +0 -1
- package/dist/components/root-container.js +0 -519
- package/dist/components/root-container.js.map +0 -1
- package/dist/components/ruler.js +0 -103
- package/dist/components/ruler.js.map +0 -1
- package/dist/components/shape.js +0 -97
- package/dist/components/shape.js.map +0 -1
- package/dist/components/star.js +0 -103
- package/dist/components/star.js.map +0 -1
- package/dist/components/text/substitutor.js +0 -92
- package/dist/components/text/substitutor.js.map +0 -1
- package/dist/components/text.js +0 -21
- package/dist/components/text.js.map +0 -1
- package/dist/components/triangle.js +0 -92
- package/dist/components/triangle.js.map +0 -1
- package/dist/const.js +0 -71
- package/dist/const.js.map +0 -1
- package/dist/core/collection.js +0 -28
- package/dist/core/collection.js.map +0 -1
- package/dist/core/debug.js +0 -12
- package/dist/core/debug.js.map +0 -1
- package/dist/core/deep-equals.js +0 -112
- package/dist/core/deep-equals.js.map +0 -1
- package/dist/core/dom-to-image.js +0 -617
- package/dist/core/dom-to-image.js.map +0 -1
- package/dist/core/event.js +0 -205
- package/dist/core/event.js.map +0 -1
- package/dist/core/index.js +0 -21
- package/dist/core/index.js.map +0 -1
- package/dist/core/list.js +0 -87
- package/dist/core/list.js.map +0 -1
- package/dist/core/logger.js +0 -29
- package/dist/core/logger.js.map +0 -1
- package/dist/core/memoize.js +0 -40
- package/dist/core/memoize.js.map +0 -1
- package/dist/core/mixin.js +0 -26
- package/dist/core/mixin.js.map +0 -1
- package/dist/core/obj-accessor.js +0 -26
- package/dist/core/obj-accessor.js.map +0 -1
- package/dist/core/reference-map.js +0 -147
- package/dist/core/reference-map.js.map +0 -1
- package/dist/core/round-rect.js +0 -62
- package/dist/core/round-rect.js.map +0 -1
- package/dist/core/safe-round.js +0 -10
- package/dist/core/safe-round.js.map +0 -1
- package/dist/core/script-loader.js +0 -148
- package/dist/core/script-loader.js.map +0 -1
- package/dist/core/snapshot-taker.js +0 -59
- package/dist/core/snapshot-taker.js.map +0 -1
- package/dist/core/stack.js +0 -18
- package/dist/core/stack.js.map +0 -1
- package/dist/core/timecapsule.js +0 -88
- package/dist/core/timecapsule.js.map +0 -1
- package/dist/core/utils.js +0 -309
- package/dist/core/utils.js.map +0 -1
- package/dist/decorator/anchors-decorator.js +0 -53
- package/dist/decorator/anchors-decorator.js.map +0 -1
- package/dist/decorator/bouncing-arrow-decorator.js +0 -52
- package/dist/decorator/bouncing-arrow-decorator.js.map +0 -1
- package/dist/decorator/data-spread-decorator.js +0 -69
- package/dist/decorator/data-spread-decorator.js.map +0 -1
- package/dist/decorator/decotag-decorator.js +0 -33
- package/dist/decorator/decotag-decorator.js.map +0 -1
- package/dist/decorator/index.js +0 -31
- package/dist/decorator/index.js.map +0 -1
- package/dist/decorator/link-decorator.js +0 -66
- package/dist/decorator/link-decorator.js.map +0 -1
- package/dist/effect/gradation.js +0 -37
- package/dist/effect/gradation.js.map +0 -1
- package/dist/effect/index.js +0 -23
- package/dist/effect/index.js.map +0 -1
- package/dist/effect/shadow.js +0 -33
- package/dist/effect/shadow.js.map +0 -1
- package/dist/effect/turn.js +0 -25
- package/dist/effect/turn.js.map +0 -1
- package/dist/event/event-engine.js +0 -76
- package/dist/event/event-engine.js.map +0 -1
- package/dist/event/event-pump.js +0 -92
- package/dist/event/event-pump.js.map +0 -1
- package/dist/event/event-tracker.js +0 -97
- package/dist/event/event-tracker.js.map +0 -1
- package/dist/event/index.js +0 -21
- package/dist/event/index.js.map +0 -1
- package/dist/event/ua-event-handler.js +0 -453
- package/dist/event/ua-event-handler.js.map +0 -1
- package/dist/event-map/animator-handler.js +0 -225
- package/dist/event-map/animator-handler.js.map +0 -1
- package/dist/event-map/animators/animated-icon.js +0 -265
- package/dist/event-map/animators/animated-icon.js.map +0 -1
- package/dist/event-map/animators/border-highlighting.js +0 -476
- package/dist/event-map/animators/border-highlighting.js.map +0 -1
- package/dist/event-map/animators/bouncing-arrow.js +0 -226
- package/dist/event-map/animators/bouncing-arrow.js.map +0 -1
- package/dist/event-map/event-map.js +0 -36
- package/dist/event-map/event-map.js.map +0 -1
- package/dist/event-map/index.js +0 -20
- package/dist/event-map/index.js.map +0 -1
- package/dist/event-map/move-handler.js +0 -233
- package/dist/event-map/move-handler.js.map +0 -1
- package/dist/event-map/paste-handler.js +0 -176
- package/dist/event-map/paste-handler.js.map +0 -1
- package/dist/event-map/shift-handler.js +0 -55
- package/dist/event-map/shift-handler.js.map +0 -1
- package/dist/event-map/text-editor-lite.js +0 -276
- package/dist/event-map/text-editor-lite.js.map +0 -1
- package/dist/event-map/zoom-handler.js +0 -49
- package/dist/event-map/zoom-handler.js.map +0 -1
- package/dist/index.js +0 -20
- package/dist/index.js.map +0 -1
- package/dist/layer/action/emphasize.js +0 -42
- package/dist/layer/action/emphasize.js.map +0 -1
- package/dist/layer/action/popup.js +0 -461
- package/dist/layer/action/popup.js.map +0 -1
- package/dist/layer/action/pressed.js +0 -31
- package/dist/layer/action/pressed.js.map +0 -1
- package/dist/layer/add-layer.js +0 -180
- package/dist/layer/add-layer.js.map +0 -1
- package/dist/layer/decotag-layer.js +0 -121
- package/dist/layer/decotag-layer.js.map +0 -1
- package/dist/layer/guide-layer.js +0 -292
- package/dist/layer/guide-layer.js.map +0 -1
- package/dist/layer/index.js +0 -70
- package/dist/layer/index.js.map +0 -1
- package/dist/layer/layer.js +0 -230
- package/dist/layer/layer.js.map +0 -1
- package/dist/layer/minimap-layer.js +0 -84
- package/dist/layer/minimap-layer.js.map +0 -1
- package/dist/layer/model-layer.js +0 -465
- package/dist/layer/model-layer.js.map +0 -1
- package/dist/layer/modeler/anchor-handler.js +0 -193
- package/dist/layer/modeler/anchor-handler.js.map +0 -1
- package/dist/layer/modeler/control-handler.js +0 -95
- package/dist/layer/modeler/control-handler.js.map +0 -1
- package/dist/layer/modeler/focus-outline.js +0 -41
- package/dist/layer/modeler/focus-outline.js.map +0 -1
- package/dist/layer/modeler/group-outline.js +0 -30
- package/dist/layer/modeler/group-outline.js.map +0 -1
- package/dist/layer/modeler/index.js +0 -56
- package/dist/layer/modeler/index.js.map +0 -1
- package/dist/layer/modeler/path-handler.js +0 -300
- package/dist/layer/modeler/path-handler.js.map +0 -1
- package/dist/layer/modeler/resizer.js +0 -333
- package/dist/layer/modeler/resizer.js.map +0 -1
- package/dist/layer/modeler/rotator.js +0 -134
- package/dist/layer/modeler/rotator.js.map +0 -1
- package/dist/layer/modeling-layer.js +0 -491
- package/dist/layer/modeling-layer.js.map +0 -1
- package/dist/layer/reaction-layer.js +0 -111
- package/dist/layer/reaction-layer.js.map +0 -1
- package/dist/layer/scroll-layer.js +0 -191
- package/dist/layer/scroll-layer.js.map +0 -1
- package/dist/layer/selection/selected-finder.js +0 -96
- package/dist/layer/selection/selected-finder.js.map +0 -1
- package/dist/layer/selection-layer.js +0 -373
- package/dist/layer/selection-layer.js.map +0 -1
- package/dist/layer/shift-layer.js +0 -83
- package/dist/layer/shift-layer.js.map +0 -1
- package/dist/layout/absolute.js +0 -30
- package/dist/layout/absolute.js.map +0 -1
- package/dist/layout/card.js +0 -52
- package/dist/layout/card.js.map +0 -1
- package/dist/layout/html-absolute.js +0 -32
- package/dist/layout/html-absolute.js.map +0 -1
- package/dist/layout/index.js +0 -56
- package/dist/layout/index.js.map +0 -1
- package/dist/layout/layout.js +0 -36
- package/dist/layout/layout.js.map +0 -1
- package/dist/layout/linear-horizontal.js +0 -56
- package/dist/layout/linear-horizontal.js.map +0 -1
- package/dist/layout/linear-vertical.js +0 -56
- package/dist/layout/linear-vertical.js.map +0 -1
- package/dist/layout/table.js +0 -106
- package/dist/layout/table.js.map +0 -1
- package/dist/license/license.js +0 -170
- package/dist/license/license.js.map +0 -1
- package/dist/model/compile.js +0 -40
- package/dist/model/compile.js.map +0 -1
- package/dist/model/duplicate.js +0 -19
- package/dist/model/duplicate.js.map +0 -1
- package/dist/model/index.js +0 -34
- package/dist/model/index.js.map +0 -1
- package/dist/model/selector.js +0 -104
- package/dist/model/selector.js.map +0 -1
- package/dist/style/compile.js +0 -14
- package/dist/style/compile.js.map +0 -1
- package/dist/style/index.js +0 -14
- package/dist/style/index.js.map +0 -1
- package/dist/things-scene/api/add-start.js +0 -18
- package/dist/things-scene/api/add-start.js.map +0 -1
- package/dist/things-scene/api/add.js +0 -71
- package/dist/things-scene/api/add.js.map +0 -1
- package/dist/things-scene/api/align.js +0 -116
- package/dist/things-scene/api/align.js.map +0 -1
- package/dist/things-scene/api/center-to.js +0 -50
- package/dist/things-scene/api/center-to.js.map +0 -1
- package/dist/things-scene/api/change.js +0 -27
- package/dist/things-scene/api/change.js.map +0 -1
- package/dist/things-scene/api/clipboard.js +0 -45
- package/dist/things-scene/api/clipboard.js.map +0 -1
- package/dist/things-scene/api/distribute.js +0 -57
- package/dist/things-scene/api/distribute.js.map +0 -1
- package/dist/things-scene/api/duplicate.js +0 -47
- package/dist/things-scene/api/duplicate.js.map +0 -1
- package/dist/things-scene/api/fullscreen.js +0 -26
- package/dist/things-scene/api/fullscreen.js.map +0 -1
- package/dist/things-scene/api/group.js +0 -91
- package/dist/things-scene/api/group.js.map +0 -1
- package/dist/things-scene/api/ids.js +0 -28
- package/dist/things-scene/api/ids.js.map +0 -1
- package/dist/things-scene/api/index.js +0 -192
- package/dist/things-scene/api/index.js.map +0 -1
- package/dist/things-scene/api/listener.js +0 -69
- package/dist/things-scene/api/listener.js.map +0 -1
- package/dist/things-scene/api/paste-start.js +0 -27
- package/dist/things-scene/api/paste-start.js.map +0 -1
- package/dist/things-scene/api/place.js +0 -98
- package/dist/things-scene/api/place.js.map +0 -1
- package/dist/things-scene/api/remove.js +0 -57
- package/dist/things-scene/api/remove.js.map +0 -1
- package/dist/things-scene/api/symmetry.js +0 -47
- package/dist/things-scene/api/symmetry.js.map +0 -1
- package/dist/things-scene/api/to-data-url.js +0 -76
- package/dist/things-scene/api/to-data-url.js.map +0 -1
- package/dist/things-scene/api/zorder.js +0 -68
- package/dist/things-scene/api/zorder.js.map +0 -1
- package/dist/things-scene/application-context.js +0 -168
- package/dist/things-scene/application-context.js.map +0 -1
- package/dist/things-scene/config.js +0 -18
- package/dist/things-scene/config.js.map +0 -1
- package/dist/things-scene/create.js +0 -67
- package/dist/things-scene/create.js.map +0 -1
- package/dist/things-scene/fps.js +0 -26
- package/dist/things-scene/fps.js.map +0 -1
- package/dist/things-scene/index.js +0 -152
- package/dist/things-scene/index.js.map +0 -1
- package/dist/things-scene/polyfill.js +0 -111
- package/dist/things-scene/polyfill.js.map +0 -1
- package/dist/things-scene/scene.js +0 -442
- package/dist/things-scene/scene.js.map +0 -1
- package/dist/things-scene/version.js +0 -12
- package/dist/things-scene/version.js.map +0 -1
- package/rollup.config.js +0 -67
- package/schema.graphql +0 -4606
- 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":[]}
|
package/dist/layer/index.js
DELETED
|
@@ -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
|
package/dist/layer/index.js.map
DELETED
|
@@ -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":[]}
|
package/dist/layer/layer.js
DELETED
|
@@ -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
|
package/dist/layer/layer.js.map
DELETED
|
@@ -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":[]}
|