@hatiolab/things-scene 9.0.0-beta.36 → 9.0.0-beta.37
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
package/dist/components/ruler.js
DELETED
|
@@ -1,103 +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("./component.js"));
|
|
8
|
-
var _shape = _interopRequireDefault(require("./shape.js"));
|
|
9
|
-
var _rectPath = _interopRequireDefault(require("./mixins/rect-path.js"));
|
|
10
|
-
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
11
|
-
/*
|
|
12
|
-
* Copyright © HatioLab Inc. All rights reserved.
|
|
13
|
-
*/
|
|
14
|
-
|
|
15
|
-
const STEPS = [1, 2, 10, 20, 50, 50, 50, 50, 50, 50];
|
|
16
|
-
class Ruler extends (0, _rectPath.default)(_shape.default) {
|
|
17
|
-
render(ctx) {
|
|
18
|
-
const {
|
|
19
|
-
lineWidth = 1,
|
|
20
|
-
fillStyle = 'lightgray',
|
|
21
|
-
font = '15px Arial',
|
|
22
|
-
left,
|
|
23
|
-
top,
|
|
24
|
-
rotation,
|
|
25
|
-
origin,
|
|
26
|
-
margin,
|
|
27
|
-
width,
|
|
28
|
-
height,
|
|
29
|
-
side = 'bottom',
|
|
30
|
-
strokeStyle = '#000000',
|
|
31
|
-
scale = 1
|
|
32
|
-
} = this.state;
|
|
33
|
-
|
|
34
|
-
/* 좌표 기준을 0, 0로 하기위해서 이동 */
|
|
35
|
-
ctx.translate(left, top);
|
|
36
|
-
|
|
37
|
-
// Clipping (여유있게 박스를 잡아주지 않으면.. 회전시 edge가 지저분해보인다.)
|
|
38
|
-
ctx.beginPath();
|
|
39
|
-
const clip_bound = Math.round(lineWidth / 2);
|
|
40
|
-
ctx.rect(-clip_bound, -clip_bound, width + clip_bound * 2, height + clip_bound * 2);
|
|
41
|
-
ctx.clip();
|
|
42
|
-
|
|
43
|
-
// Boxing
|
|
44
|
-
ctx.beginPath();
|
|
45
|
-
ctx.rect(0, 0, width, height);
|
|
46
|
-
if (fillStyle) {
|
|
47
|
-
ctx.fillStyle = fillStyle;
|
|
48
|
-
ctx.fill();
|
|
49
|
-
}
|
|
50
|
-
ctx.lineWidth = lineWidth;
|
|
51
|
-
ctx.strokeStyle = strokeStyle;
|
|
52
|
-
ctx.stroke();
|
|
53
|
-
|
|
54
|
-
// Draw Scales & Text
|
|
55
|
-
ctx.beginPath();
|
|
56
|
-
ctx.font = font;
|
|
57
|
-
|
|
58
|
-
// 자의 눈금을 위쪽에 그리는 경우에는 top_side가 true이다.
|
|
59
|
-
var top_side = side !== 'bottom';
|
|
60
|
-
var end_pos = top_side ? 0 : height;
|
|
61
|
-
var ypos_mm = height * 4 / 5;
|
|
62
|
-
var ypos_5m = height * 2 / 3;
|
|
63
|
-
var ypos_cm = height * 1 / 2;
|
|
64
|
-
var ypos_txt = height * 3 / 5;
|
|
65
|
-
if (top_side) {
|
|
66
|
-
ypos_mm = height - ypos_mm;
|
|
67
|
-
ypos_5m = height - ypos_5m;
|
|
68
|
-
ypos_cm = height - ypos_cm;
|
|
69
|
-
ypos_txt = height - height * 1.5 / 5;
|
|
70
|
-
}
|
|
71
|
-
var ppm = scale * this.app.PPM / this.root.unitScale;
|
|
72
|
-
var idx = Math.ceil(origin / ppm); // First Index
|
|
73
|
-
|
|
74
|
-
var ratio = this.app.PPM / ppm;
|
|
75
|
-
var step = ratio <= 1.1 ? 1 : STEPS[Math.round(ratio)] || 100;
|
|
76
|
-
if (step != 1) idx += (step - idx % step) % step;
|
|
77
|
-
var pos = Math.ceil(idx * ppm);
|
|
78
|
-
var end = origin + width;
|
|
79
|
-
ctx.fillStyle = strokeStyle;
|
|
80
|
-
while (pos < end) {
|
|
81
|
-
if (idx % 10 == 0) {
|
|
82
|
-
ctx.moveTo(pos - origin, ypos_cm);
|
|
83
|
-
ctx.lineTo(pos - origin, end_pos);
|
|
84
|
-
|
|
85
|
-
// 센티미터 눈금 글자를 쓴다.
|
|
86
|
-
let text = (idx / 10).toString();
|
|
87
|
-
let metrics = ctx.measureText(text);
|
|
88
|
-
ctx.fillText(text, pos - origin - metrics.width - 6, ypos_txt);
|
|
89
|
-
} else if (idx % 5 == 0) {
|
|
90
|
-
ctx.moveTo(pos - origin, ypos_5m);
|
|
91
|
-
ctx.lineTo(pos - origin, end_pos);
|
|
92
|
-
} else {
|
|
93
|
-
ctx.moveTo(pos - origin, ypos_mm);
|
|
94
|
-
ctx.lineTo(pos - origin, end_pos);
|
|
95
|
-
}
|
|
96
|
-
idx += step;
|
|
97
|
-
pos = Math.ceil(idx * ppm);
|
|
98
|
-
}
|
|
99
|
-
}
|
|
100
|
-
}
|
|
101
|
-
exports.default = Ruler;
|
|
102
|
-
_component.default.register('ruler', Ruler);
|
|
103
|
-
//# sourceMappingURL=ruler.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ruler.js","names":["_component","_interopRequireDefault","require","_shape","_rectPath","e","__esModule","default","STEPS","Ruler","RectPath","Shape","render","ctx","lineWidth","fillStyle","font","left","top","rotation","origin","margin","width","height","side","strokeStyle","scale","state","translate","beginPath","clip_bound","Math","round","rect","clip","fill","stroke","top_side","end_pos","ypos_mm","ypos_5m","ypos_cm","ypos_txt","ppm","app","PPM","root","unitScale","idx","ceil","ratio","step","pos","end","moveTo","lineTo","text","toString","metrics","measureText","fillText","exports","Component","register"],"sources":["../../src/components/ruler.js"],"sourcesContent":["/*\n * Copyright © HatioLab Inc. All rights reserved.\n */\n\nimport Component from './component.js'\nimport Shape from './shape.js'\nimport RectPath from './mixins/rect-path.js'\n\nconst STEPS = [1, 2, 10, 20, 50, 50, 50, 50, 50, 50]\n\nexport default class Ruler extends RectPath(Shape) {\n render(ctx) {\n const {\n lineWidth = 1,\n fillStyle = 'lightgray',\n font = '15px Arial',\n left,\n top,\n rotation,\n origin,\n margin,\n width,\n height,\n side = 'bottom',\n strokeStyle = '#000000',\n scale = 1\n } = this.state\n\n /* 좌표 기준을 0, 0로 하기위해서 이동 */\n ctx.translate(left, top)\n\n // Clipping (여유있게 박스를 잡아주지 않으면.. 회전시 edge가 지저분해보인다.)\n ctx.beginPath()\n\n const clip_bound = Math.round(lineWidth / 2)\n ctx.rect(-clip_bound, -clip_bound, width + clip_bound * 2, height + clip_bound * 2)\n ctx.clip()\n\n // Boxing\n ctx.beginPath()\n\n ctx.rect(0, 0, width, height)\n\n if (fillStyle) {\n ctx.fillStyle = fillStyle\n ctx.fill()\n }\n ctx.lineWidth = lineWidth\n ctx.strokeStyle = strokeStyle\n\n ctx.stroke()\n\n // Draw Scales & Text\n ctx.beginPath()\n\n ctx.font = font\n\n // 자의 눈금을 위쪽에 그리는 경우에는 top_side가 true이다.\n var top_side = side !== 'bottom'\n\n var end_pos = top_side ? 0 : height\n\n var ypos_mm = (height * 4) / 5\n var ypos_5m = (height * 2) / 3\n var ypos_cm = (height * 1) / 2\n var ypos_txt = (height * 3) / 5\n\n if (top_side) {\n ypos_mm = height - ypos_mm\n ypos_5m = height - ypos_5m\n ypos_cm = height - ypos_cm\n ypos_txt = height - (height * 1.5) / 5\n }\n\n var ppm = (scale * this.app.PPM) / this.root.unitScale\n\n var idx = Math.ceil(origin / ppm) // First Index\n\n var ratio = this.app.PPM / ppm\n var step = ratio <= 1.1 ? 1 : STEPS[Math.round(ratio)] || 100\n\n if (step != 1) idx += (step - (idx % step)) % step\n\n var pos = Math.ceil(idx * ppm)\n var end = origin + width\n\n ctx.fillStyle = strokeStyle\n\n while (pos < end) {\n if (idx % 10 == 0) {\n ctx.moveTo(pos - origin, ypos_cm)\n ctx.lineTo(pos - origin, end_pos)\n\n // 센티미터 눈금 글자를 쓴다.\n let text = (idx / 10).toString()\n let metrics = ctx.measureText(text)\n\n ctx.fillText(text, pos - origin - metrics.width - 6, ypos_txt)\n } else if (idx % 5 == 0) {\n ctx.moveTo(pos - origin, ypos_5m)\n ctx.lineTo(pos - origin, end_pos)\n } else {\n ctx.moveTo(pos - origin, ypos_mm)\n ctx.lineTo(pos - origin, end_pos)\n }\n\n idx += step\n pos = Math.ceil(idx * ppm)\n }\n }\n}\n\nComponent.register('ruler', Ruler)\n"],"mappings":"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","ignoreList":[]}
|
package/dist/components/shape.js
DELETED
|
@@ -1,97 +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("./component.js"));
|
|
8
|
-
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
9
|
-
/*
|
|
10
|
-
* Copyright © HatioLab Inc. All rights reserved.
|
|
11
|
-
*/
|
|
12
|
-
|
|
13
|
-
/**
|
|
14
|
-
* Shape 컴포넌트는 단순한 형태의 컴포넌트의 공통 기능을 정의한 추상클래스이다.
|
|
15
|
-
* 단순한 형태의 컴포넌트란
|
|
16
|
-
* - 컴포넌트 전체에서 라인 스타일이 하나만 사용된다.
|
|
17
|
-
* - 컴포넌트 전체에서 FILL 스타일이 하나만 사용된다.
|
|
18
|
-
*
|
|
19
|
-
* 이런 단순한 컴포넌트는 render 메쏘드에서 모든 패스를 lineTo로 그리기만 하고
|
|
20
|
-
* postrender에서 Fill, Stroke을 일괄적으로 한다.
|
|
21
|
-
*/
|
|
22
|
-
class Shape extends _component.default {
|
|
23
|
-
set rotationX(angle) {
|
|
24
|
-
this.setState('rotationX', angle);
|
|
25
|
-
}
|
|
26
|
-
get rotationX() {
|
|
27
|
-
return this.getState('rotationX');
|
|
28
|
-
}
|
|
29
|
-
set rotationY(angle) {
|
|
30
|
-
this.setState('rotationY', angle);
|
|
31
|
-
}
|
|
32
|
-
get rotationY() {
|
|
33
|
-
return this.getState('rotationY');
|
|
34
|
-
}
|
|
35
|
-
set rotationZ(angle) {
|
|
36
|
-
this.setState('rotation', angle);
|
|
37
|
-
}
|
|
38
|
-
get rotationZ() {
|
|
39
|
-
return this.getState('rotation');
|
|
40
|
-
}
|
|
41
|
-
set zPos(zPos) {
|
|
42
|
-
this.setState('zPos', zPos);
|
|
43
|
-
}
|
|
44
|
-
get zPos() {
|
|
45
|
-
return this.getState('zPos');
|
|
46
|
-
}
|
|
47
|
-
set depth(depth) {
|
|
48
|
-
this.setState('depth', depth);
|
|
49
|
-
}
|
|
50
|
-
get depth() {
|
|
51
|
-
return this.getState('depth');
|
|
52
|
-
}
|
|
53
|
-
postrender(context) {
|
|
54
|
-
this.drawFill(context);
|
|
55
|
-
this.drawStroke(context);
|
|
56
|
-
super.postrender(context);
|
|
57
|
-
}
|
|
58
|
-
render(ctx) {
|
|
59
|
-
var path = this.drawPath;
|
|
60
|
-
var {
|
|
61
|
-
round = 0
|
|
62
|
-
} = this.state;
|
|
63
|
-
if (path.length <= 1) {
|
|
64
|
-
return;
|
|
65
|
-
}
|
|
66
|
-
ctx.beginPath();
|
|
67
|
-
for (var i = 0; i < path.length; i++) {
|
|
68
|
-
const prev = path[(i - 1 + path.length) % path.length];
|
|
69
|
-
const cursor = path[(i + path.length) % path.length];
|
|
70
|
-
const next = path[(i + 1) % path.length];
|
|
71
|
-
if (prev.x === cursor.x && prev.y === cursor.y) {
|
|
72
|
-
continue;
|
|
73
|
-
}
|
|
74
|
-
var length = Math.sqrt((prev.x - cursor.x) * (prev.x - cursor.x) + (prev.y - cursor.y) * (prev.y - cursor.y));
|
|
75
|
-
var theta = length !== 0 ? Math.atan2(prev.x - cursor.x, prev.y - cursor.y) : 0;
|
|
76
|
-
var x = Math.sin(theta) * Math.min(round, length / 2) + cursor.x;
|
|
77
|
-
var y = Math.cos(theta) * Math.min(round, length / 2) + cursor.y;
|
|
78
|
-
const p1 = round > 0 || length !== 0 ? {
|
|
79
|
-
x,
|
|
80
|
-
y
|
|
81
|
-
} : cursor;
|
|
82
|
-
var length = Math.sqrt((next.x - cursor.x) * (next.x - cursor.x) + (next.y - cursor.y) * (next.y - cursor.y));
|
|
83
|
-
theta = length !== 0 ? Math.atan2(next.x - cursor.x, next.y - cursor.y) : 0;
|
|
84
|
-
x = Math.sin(theta) * Math.min(round, length / 2) + cursor.x;
|
|
85
|
-
y = Math.cos(theta) * Math.min(round, length / 2) + cursor.y;
|
|
86
|
-
const p2 = round > 0 || length !== 0 ? {
|
|
87
|
-
x,
|
|
88
|
-
y
|
|
89
|
-
} : cursor;
|
|
90
|
-
i == 0 ? ctx.moveTo(p1.x, p1.y) : ctx.lineTo(p1.x, p1.y);
|
|
91
|
-
round > 0 && ctx.quadraticCurveTo(cursor.x, cursor.y, p2.x, p2.y);
|
|
92
|
-
}
|
|
93
|
-
ctx.closePath();
|
|
94
|
-
}
|
|
95
|
-
}
|
|
96
|
-
exports.default = Shape;
|
|
97
|
-
//# sourceMappingURL=shape.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"shape.js","names":["_component","_interopRequireDefault","require","e","__esModule","default","Shape","Component","rotationX","angle","setState","getState","rotationY","rotationZ","zPos","depth","postrender","context","drawFill","drawStroke","render","ctx","path","drawPath","round","state","length","beginPath","i","prev","cursor","next","x","y","Math","sqrt","theta","atan2","sin","min","cos","p1","p2","moveTo","lineTo","quadraticCurveTo","closePath","exports"],"sources":["../../src/components/shape.js"],"sourcesContent":["/*\n * Copyright © HatioLab Inc. All rights reserved.\n */\n\nimport Component from './component.js'\n\n/**\n * Shape 컴포넌트는 단순한 형태의 컴포넌트의 공통 기능을 정의한 추상클래스이다.\n * 단순한 형태의 컴포넌트란\n * - 컴포넌트 전체에서 라인 스타일이 하나만 사용된다.\n * - 컴포넌트 전체에서 FILL 스타일이 하나만 사용된다.\n *\n * 이런 단순한 컴포넌트는 render 메쏘드에서 모든 패스를 lineTo로 그리기만 하고\n * postrender에서 Fill, Stroke을 일괄적으로 한다.\n */\nexport default class Shape extends Component {\n set rotationX(angle) {\n this.setState('rotationX', angle)\n }\n\n get rotationX() {\n return this.getState('rotationX')\n }\n\n set rotationY(angle) {\n this.setState('rotationY', angle)\n }\n\n get rotationY() {\n return this.getState('rotationY')\n }\n\n set rotationZ(angle) {\n this.setState('rotation', angle)\n }\n\n get rotationZ() {\n return this.getState('rotation')\n }\n\n set zPos(zPos) {\n this.setState('zPos', zPos)\n }\n\n get zPos() {\n return this.getState('zPos')\n }\n\n set depth(depth) {\n this.setState('depth', depth)\n }\n\n get depth() {\n return this.getState('depth')\n }\n\n postrender(context) {\n this.drawFill(context)\n this.drawStroke(context)\n super.postrender(context)\n }\n\n render(ctx) {\n var path = this.drawPath\n var { round = 0 } = this.state\n\n if (path.length <= 1) {\n return\n }\n\n ctx.beginPath()\n\n for (var i = 0; i < path.length; i++) {\n const prev = path[(i - 1 + path.length) % path.length]\n const cursor = path[(i + path.length) % path.length]\n const next = path[(i + 1) % path.length]\n\n if (prev.x === cursor.x && prev.y === cursor.y) {\n continue\n }\n\n var length = Math.sqrt((prev.x - cursor.x) * (prev.x - cursor.x) + (prev.y - cursor.y) * (prev.y - cursor.y))\n var theta = length !== 0 ? Math.atan2(prev.x - cursor.x, prev.y - cursor.y) : 0\n var x = Math.sin(theta) * Math.min(round, length / 2) + cursor.x\n var y = Math.cos(theta) * Math.min(round, length / 2) + cursor.y\n\n const p1 = round > 0 || length !== 0 ? { x, y } : cursor\n\n var length = Math.sqrt((next.x - cursor.x) * (next.x - cursor.x) + (next.y - cursor.y) * (next.y - cursor.y))\n theta = length !== 0 ? Math.atan2(next.x - cursor.x, next.y - cursor.y) : 0\n x = Math.sin(theta) * Math.min(round, length / 2) + cursor.x\n y = Math.cos(theta) * Math.min(round, length / 2) + cursor.y\n\n const p2 = round > 0 || length !== 0 ? { x, y } : cursor\n\n i == 0 ? ctx.moveTo(p1.x, p1.y) : ctx.lineTo(p1.x, p1.y)\n round > 0 && ctx.quadraticCurveTo(cursor.x, cursor.y, p2.x, p2.y)\n }\n\n ctx.closePath()\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
package/dist/components/star.js
DELETED
|
@@ -1,103 +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("./component.js"));
|
|
8
|
-
var _ellipse = _interopRequireDefault(require("./ellipse.js"));
|
|
9
|
-
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
10
|
-
/*
|
|
11
|
-
* Copyright © HatioLab Inc. All rights reserved.
|
|
12
|
-
*/
|
|
13
|
-
|
|
14
|
-
const NATURE = {
|
|
15
|
-
mutable: false,
|
|
16
|
-
resizable: true,
|
|
17
|
-
rotatable: true,
|
|
18
|
-
properties: [{
|
|
19
|
-
type: 'number',
|
|
20
|
-
label: 'ratio',
|
|
21
|
-
name: 'ratio',
|
|
22
|
-
property: 'ratio'
|
|
23
|
-
}, {
|
|
24
|
-
type: 'number',
|
|
25
|
-
label: 'wing',
|
|
26
|
-
name: 'wing',
|
|
27
|
-
property: 'wing'
|
|
28
|
-
}],
|
|
29
|
-
help: 'scene/component/star'
|
|
30
|
-
};
|
|
31
|
-
var controlHandler = {
|
|
32
|
-
ondragmove: function (point, index, component) {
|
|
33
|
-
var controls = component.controls;
|
|
34
|
-
var {
|
|
35
|
-
cy,
|
|
36
|
-
ry
|
|
37
|
-
} = component.model;
|
|
38
|
-
var transcoorded = component.transcoordP2S(point.x, point.y);
|
|
39
|
-
var ratio = (transcoorded.y - cy) / ry * 100 + 100;
|
|
40
|
-
if (ratio >= 100) ratio = 100;else if (ratio <= 0) ratio = 0;
|
|
41
|
-
component.set({
|
|
42
|
-
ratio
|
|
43
|
-
}); // ratio: ratio => ratio
|
|
44
|
-
}
|
|
45
|
-
};
|
|
46
|
-
class Star extends _ellipse.default {
|
|
47
|
-
is3dish() {
|
|
48
|
-
return false;
|
|
49
|
-
}
|
|
50
|
-
render(ctx) {
|
|
51
|
-
var {
|
|
52
|
-
ratio = 30,
|
|
53
|
-
wing = 5,
|
|
54
|
-
cx,
|
|
55
|
-
cy,
|
|
56
|
-
rx,
|
|
57
|
-
ry,
|
|
58
|
-
startAngle,
|
|
59
|
-
endAngle,
|
|
60
|
-
anticlockwise
|
|
61
|
-
} = this.state;
|
|
62
|
-
|
|
63
|
-
// 박스 그리기
|
|
64
|
-
|
|
65
|
-
if (wing < 3) return;
|
|
66
|
-
const RADIAN = 1.5707963267948966; // 90도 뒤틀기
|
|
67
|
-
var a = Math.PI * 2 / wing;
|
|
68
|
-
var xRatio = rx - ratio / 100 * rx;
|
|
69
|
-
var yRatio = ry - ratio / 100 * ry;
|
|
70
|
-
ctx.save();
|
|
71
|
-
ctx.beginPath();
|
|
72
|
-
ctx.translate(cx, cy);
|
|
73
|
-
ctx.moveTo(rx * Math.cos(-RADIAN), ry * Math.sin(-RADIAN));
|
|
74
|
-
ctx.lineTo((rx - xRatio) * (Math.cos(a - RADIAN) + Math.cos(0 - RADIAN)) / 2, (ry - yRatio) * (Math.sin(a - RADIAN) + Math.sin(0 - RADIAN)) / 2);
|
|
75
|
-
for (var i = 1; i < wing; i++) {
|
|
76
|
-
ctx.lineTo(rx * Math.cos(a * i - RADIAN), ry * Math.sin(a * i - RADIAN));
|
|
77
|
-
ctx.lineTo((rx - xRatio) * (Math.cos(a * (i + 1) - RADIAN) + Math.cos(a * i - RADIAN)) / 2, (ry - yRatio) * (Math.sin(a * (i + 1) - RADIAN) + Math.sin(a * i - RADIAN)) / 2);
|
|
78
|
-
}
|
|
79
|
-
// ratio /= 1.5;
|
|
80
|
-
ctx.closePath();
|
|
81
|
-
ctx.restore();
|
|
82
|
-
}
|
|
83
|
-
get controls() {
|
|
84
|
-
var {
|
|
85
|
-
cx,
|
|
86
|
-
cy,
|
|
87
|
-
ry,
|
|
88
|
-
ratio
|
|
89
|
-
} = this.state;
|
|
90
|
-
return [{
|
|
91
|
-
x: cx,
|
|
92
|
-
y: cy - ry + ry * (ratio / 100),
|
|
93
|
-
handler: controlHandler
|
|
94
|
-
}];
|
|
95
|
-
}
|
|
96
|
-
get nature() {
|
|
97
|
-
return NATURE;
|
|
98
|
-
}
|
|
99
|
-
}
|
|
100
|
-
exports.default = Star;
|
|
101
|
-
_component.default.memoize(Star.prototype, 'controls', false);
|
|
102
|
-
_component.default.register('star', Star);
|
|
103
|
-
//# sourceMappingURL=star.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"star.js","names":["_component","_interopRequireDefault","require","_ellipse","e","__esModule","default","NATURE","mutable","resizable","rotatable","properties","type","label","name","property","help","controlHandler","ondragmove","point","index","component","controls","cy","ry","model","transcoorded","transcoordP2S","x","y","ratio","set","Star","Ellipse","is3dish","render","ctx","wing","cx","rx","startAngle","endAngle","anticlockwise","state","RADIAN","a","Math","PI","xRatio","yRatio","save","beginPath","translate","moveTo","cos","sin","lineTo","i","closePath","restore","handler","nature","exports","Component","memoize","prototype","register"],"sources":["../../src/components/star.js"],"sourcesContent":["/*\n * Copyright © HatioLab Inc. All rights reserved.\n */\n\nimport Component from './component.js'\nimport Ellipse from './ellipse.js'\n\nconst NATURE = {\n mutable: false,\n resizable: true,\n rotatable: true,\n properties: [\n {\n type: 'number',\n label: 'ratio',\n name: 'ratio',\n property: 'ratio'\n },\n {\n type: 'number',\n label: 'wing',\n name: 'wing',\n property: 'wing'\n }\n ],\n help: 'scene/component/star'\n}\n\nvar controlHandler = {\n ondragmove: function (point, index, component) {\n var controls = component.controls\n var { cy, ry } = component.model\n\n var transcoorded = component.transcoordP2S(point.x, point.y)\n\n var ratio = ((transcoorded.y - cy) / ry) * 100 + 100\n\n if (ratio >= 100) ratio = 100\n else if (ratio <= 0) ratio = 0\n\n component.set({ ratio }) // ratio: ratio => ratio\n }\n}\n\nexport default class Star extends Ellipse {\n is3dish() {\n return false\n }\n\n render(ctx) {\n var { ratio = 30, wing = 5, cx, cy, rx, ry, startAngle, endAngle, anticlockwise } = this.state\n\n // 박스 그리기\n\n if (wing < 3) return\n\n const RADIAN = 1.5707963267948966 // 90도 뒤틀기\n var a = (Math.PI * 2) / wing\n var xRatio = rx - (ratio / 100) * rx\n var yRatio = ry - (ratio / 100) * ry\n\n ctx.save()\n ctx.beginPath()\n\n ctx.translate(cx, cy)\n\n ctx.moveTo(rx * Math.cos(-RADIAN), ry * Math.sin(-RADIAN))\n ctx.lineTo(\n ((rx - xRatio) * (Math.cos(a - RADIAN) + Math.cos(0 - RADIAN))) / 2,\n ((ry - yRatio) * (Math.sin(a - RADIAN) + Math.sin(0 - RADIAN))) / 2\n )\n\n for (var i = 1; i < wing; i++) {\n ctx.lineTo(rx * Math.cos(a * i - RADIAN), ry * Math.sin(a * i - RADIAN))\n\n ctx.lineTo(\n ((rx - xRatio) * (Math.cos(a * (i + 1) - RADIAN) + Math.cos(a * i - RADIAN))) / 2,\n ((ry - yRatio) * (Math.sin(a * (i + 1) - RADIAN) + Math.sin(a * i - RADIAN))) / 2\n )\n }\n // ratio /= 1.5;\n ctx.closePath()\n ctx.restore()\n }\n\n get controls() {\n var { cx, cy, ry, ratio } = this.state\n\n return [\n {\n x: cx,\n y: cy - ry + ry * (ratio / 100),\n handler: controlHandler\n }\n ]\n }\n\n get nature() {\n return NATURE\n }\n}\n\nComponent.memoize(Star.prototype, 'controls', false)\n\nComponent.register('star', Star)\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,92 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.access = access;
|
|
7
|
-
exports.buildSubstitutor = buildSubstitutor;
|
|
8
|
-
exports.substitute = substitute;
|
|
9
|
-
var _utils = require("../../core/utils.js");
|
|
10
|
-
/*
|
|
11
|
-
* Copyright © HatioLab Inc. All rights reserved.
|
|
12
|
-
*/
|
|
13
|
-
|
|
14
|
-
const SELF = function (o) {
|
|
15
|
-
return o;
|
|
16
|
-
};
|
|
17
|
-
function parse(text) {
|
|
18
|
-
var defaultIndex = text.indexOf('||');
|
|
19
|
-
var originText = '';
|
|
20
|
-
var defaultValue = '';
|
|
21
|
-
if (defaultIndex != -1) {
|
|
22
|
-
originText = text;
|
|
23
|
-
defaultValue = text.substring(defaultIndex + 2, text.length - 1).trim();
|
|
24
|
-
text = text.replace(text.substring(defaultIndex, text.length - 1), '').trim();
|
|
25
|
-
}
|
|
26
|
-
var parsed = text.substr(2, text.length - 3).trim().replace(/\[(\w+)\]/g, '.$1').replace(/^\./, '').split('.').filter(accessor => !!accessor.trim());
|
|
27
|
-
var accessors = parsed.slice(1);
|
|
28
|
-
return {
|
|
29
|
-
defaultValue: defaultValue,
|
|
30
|
-
match: text,
|
|
31
|
-
originText: originText || text,
|
|
32
|
-
target: parsed[0],
|
|
33
|
-
accessor: accessors.length > 0 ? function (o) {
|
|
34
|
-
return accessors.reduce((o, accessor) => o ? o[accessor] : undefined, o);
|
|
35
|
-
} : SELF
|
|
36
|
-
};
|
|
37
|
-
}
|
|
38
|
-
function access(expression) {
|
|
39
|
-
if (!expression) return;
|
|
40
|
-
var text = String(expression);
|
|
41
|
-
var prop = (text.match(/#{(\S*)}/) || []).map(match => parse(match))[0];
|
|
42
|
-
if (prop) {
|
|
43
|
-
return prop.accessor(this.getState(prop.target));
|
|
44
|
-
}
|
|
45
|
-
var id = (text.match(/\${[^}]*}/) || []).map(match => parse(match))[0];
|
|
46
|
-
if (id) {
|
|
47
|
-
let target = this.root.findById(id.target);
|
|
48
|
-
return id.accessor(this.getState(target));
|
|
49
|
-
}
|
|
50
|
-
return expression;
|
|
51
|
-
}
|
|
52
|
-
function substitute(expression, customObjToVal) {
|
|
53
|
-
if (!expression) return;
|
|
54
|
-
var text = String(expression);
|
|
55
|
-
var _objToVal = customObjToVal || _utils.objToVal;
|
|
56
|
-
var props = (text.match(/#{(\S*)}/gi) || []).map(match => parse(match));
|
|
57
|
-
var ids = (text.match(/\${[^}]*}/gi) || []).map(match => parse(match));
|
|
58
|
-
if (props.length == 0 && ids.length == 0) return text;
|
|
59
|
-
var result = text;
|
|
60
|
-
props.forEach(prop => {
|
|
61
|
-
let value = _objToVal(prop.accessor(this.getState(prop.target)));
|
|
62
|
-
result = result.replace(prop.match, value === undefined ? '' : value);
|
|
63
|
-
});
|
|
64
|
-
ids.forEach(id => {
|
|
65
|
-
let target = this.root.findById(id.target);
|
|
66
|
-
let value = _objToVal(id.accessor(target && target.data));
|
|
67
|
-
result = result.replace(id.match, value === undefined ? '' : value);
|
|
68
|
-
});
|
|
69
|
-
return result;
|
|
70
|
-
}
|
|
71
|
-
function buildSubstitutor(expression, component, customObjToVal) {
|
|
72
|
-
if (!expression) return;
|
|
73
|
-
var _objToVal = customObjToVal || _utils.objToVal;
|
|
74
|
-
var text = String(expression);
|
|
75
|
-
var props = (text.match(/#{[^}]*}/gi) || []).map(match => parse(match));
|
|
76
|
-
var ids = (text.match(/\${[^}]*}/gi) || []).map(match => parse(match));
|
|
77
|
-
if (props.length == 0 && ids.length == 0) return;
|
|
78
|
-
return function () {
|
|
79
|
-
var result = text;
|
|
80
|
-
props.forEach(prop => {
|
|
81
|
-
let value = _objToVal(prop.accessor(component.getState(prop.target)));
|
|
82
|
-
result = result.replace(prop.originText, value === undefined ? prop.defaultValue || '' : value);
|
|
83
|
-
});
|
|
84
|
-
ids.forEach(id => {
|
|
85
|
-
let target = component.root.findById(id.target);
|
|
86
|
-
let value = _objToVal(id.accessor(target && target.data));
|
|
87
|
-
result = result.replace(id.originText, value === undefined ? id.defaultValue || '' : value);
|
|
88
|
-
});
|
|
89
|
-
return result;
|
|
90
|
-
};
|
|
91
|
-
}
|
|
92
|
-
//# sourceMappingURL=substitutor.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"substitutor.js","names":["_utils","require","SELF","o","parse","text","defaultIndex","indexOf","originText","defaultValue","substring","length","trim","replace","parsed","substr","split","filter","accessor","accessors","slice","match","target","reduce","undefined","access","expression","String","prop","map","getState","id","root","findById","substitute","customObjToVal","_objToVal","objToVal","props","ids","result","forEach","value","data","buildSubstitutor","component"],"sources":["../../../src/components/text/substitutor.js"],"sourcesContent":["/*\n * Copyright © HatioLab Inc. All rights reserved.\n */\n\nimport { objToVal } from '../../core/utils.js'\n\nconst SELF = function (o) {\n return o\n}\n\nfunction parse(text) {\n var defaultIndex = text.indexOf('||')\n var originText = ''\n var defaultValue = ''\n if (defaultIndex != -1) {\n originText = text\n defaultValue = text.substring(defaultIndex + 2, text.length - 1).trim()\n text = text.replace(text.substring(defaultIndex, text.length - 1), '').trim()\n }\n var parsed = text\n .substr(2, text.length - 3)\n .trim()\n .replace(/\\[(\\w+)\\]/g, '.$1')\n .replace(/^\\./, '')\n .split('.')\n .filter(accessor => !!accessor.trim())\n var accessors = parsed.slice(1)\n return {\n defaultValue: defaultValue,\n match: text,\n originText: originText || text,\n target: parsed[0],\n accessor:\n accessors.length > 0\n ? function (o) {\n return accessors.reduce((o, accessor) => (o ? o[accessor] : undefined), o)\n }\n : SELF\n }\n}\n\nexport function access(expression) {\n if (!expression) return\n\n var text = String(expression)\n\n var prop = (text.match(/#{(\\S*)}/) || []).map(match => parse(match))[0]\n if (prop) {\n return prop.accessor(this.getState(prop.target))\n }\n\n var id = (text.match(/\\${[^}]*}/) || []).map(match => parse(match))[0]\n if (id) {\n let target = this.root.findById(id.target)\n return id.accessor(this.getState(target))\n }\n\n return expression\n}\n\nexport function substitute(expression, customObjToVal) {\n if (!expression) return\n\n var text = String(expression)\n var _objToVal = customObjToVal || objToVal\n\n var props = (text.match(/#{(\\S*)}/gi) || []).map(match => parse(match))\n var ids = (text.match(/\\${[^}]*}/gi) || []).map(match => parse(match))\n\n if (props.length == 0 && ids.length == 0) return text\n\n var result = text\n props.forEach(prop => {\n let value = _objToVal(prop.accessor(this.getState(prop.target)))\n result = result.replace(prop.match, value === undefined ? '' : value)\n })\n\n ids.forEach(id => {\n let target = this.root.findById(id.target)\n let value = _objToVal(id.accessor(target && target.data))\n result = result.replace(id.match, value === undefined ? '' : value)\n })\n\n return result\n}\n\nexport function buildSubstitutor(expression, component, customObjToVal) {\n if (!expression) return\n\n var _objToVal = customObjToVal || objToVal\n\n var text = String(expression)\n var props = (text.match(/#{[^}]*}/gi) || []).map(match => parse(match))\n var ids = (text.match(/\\${[^}]*}/gi) || []).map(match => parse(match))\n\n if (props.length == 0 && ids.length == 0) return\n\n return function () {\n var result = text\n props.forEach(prop => {\n let value = _objToVal(prop.accessor(component.getState(prop.target)))\n result = result.replace(prop.originText, value === undefined ? prop.defaultValue || '' : value)\n })\n\n ids.forEach(id => {\n let target = component.root.findById(id.target)\n let value = _objToVal(id.accessor(target && target.data))\n result = result.replace(id.originText, value === undefined ? id.defaultValue || '' : value)\n })\n\n return result\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
package/dist/components/text.js
DELETED
|
@@ -1,21 +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("./component.js"));
|
|
8
|
-
var _rectPath = _interopRequireDefault(require("./mixins/rect-path.js"));
|
|
9
|
-
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
10
|
-
/*
|
|
11
|
-
* Copyright © HatioLab Inc. All rights reserved.
|
|
12
|
-
*/
|
|
13
|
-
|
|
14
|
-
class Text extends (0, _rectPath.default)(_component.default) {
|
|
15
|
-
is3dish() {
|
|
16
|
-
return true;
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
exports.default = Text;
|
|
20
|
-
_component.default.register('text', Text);
|
|
21
|
-
//# sourceMappingURL=text.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"text.js","names":["_component","_interopRequireDefault","require","_rectPath","e","__esModule","default","Text","RectPath","Component","is3dish","exports","register"],"sources":["../../src/components/text.js"],"sourcesContent":["/*\n * Copyright © HatioLab Inc. All rights reserved.\n */\n\nimport Component from './component.js'\n\nimport RectPath from './mixins/rect-path.js'\n\nexport default class Text extends RectPath(Component) {\n is3dish() {\n return true\n }\n}\n\nComponent.register('text', Text)\n"],"mappings":";;;;;;AAIA,IAAAA,UAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA,IAAAC,SAAA,GAAAF,sBAAA,CAAAC,OAAA;AAA4C,SAAAD,uBAAAG,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAN5C;AACA;AACA;;AAMe,MAAMG,IAAI,SAAS,IAAAC,iBAAQ,EAACC,kBAAS,CAAC,CAAC;EACpDC,OAAOA,CAAA,EAAG;IACR,OAAO,IAAI;EACb;AACF;AAACC,OAAA,CAAAL,OAAA,GAAAC,IAAA;AAEDE,kBAAS,CAACG,QAAQ,CAAC,MAAM,EAAEL,IAAI,CAAC","ignoreList":[]}
|
|
@@ -1,92 +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("./component.js"));
|
|
8
|
-
var _shape = _interopRequireDefault(require("./shape.js"));
|
|
9
|
-
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
10
|
-
/*
|
|
11
|
-
* Copyright © HatioLab Inc. All rights reserved.
|
|
12
|
-
*/
|
|
13
|
-
|
|
14
|
-
const NATURE = {
|
|
15
|
-
mutable: true,
|
|
16
|
-
resizable: false,
|
|
17
|
-
rotatable: true,
|
|
18
|
-
properties: [{
|
|
19
|
-
type: 'number',
|
|
20
|
-
label: 'round',
|
|
21
|
-
name: 'round',
|
|
22
|
-
property: {
|
|
23
|
-
min: 0,
|
|
24
|
-
max: 100,
|
|
25
|
-
step: 1
|
|
26
|
-
}
|
|
27
|
-
}],
|
|
28
|
-
help: 'scene/component/triangle'
|
|
29
|
-
};
|
|
30
|
-
class Triangle extends _shape.default {
|
|
31
|
-
contains(x, y) {
|
|
32
|
-
var {
|
|
33
|
-
x1,
|
|
34
|
-
y1,
|
|
35
|
-
x2,
|
|
36
|
-
y2,
|
|
37
|
-
x3,
|
|
38
|
-
y3
|
|
39
|
-
} = this.state;
|
|
40
|
-
var path = [x1, y1, x2, y2, x3, y3];
|
|
41
|
-
var result = false;
|
|
42
|
-
for (let i = 0; i < path.length; i += 2) {
|
|
43
|
-
let j = (i + 2) % path.length;
|
|
44
|
-
let x1 = path[i];
|
|
45
|
-
let y1 = path[i + 1];
|
|
46
|
-
let x2 = path[j];
|
|
47
|
-
let y2 = path[j + 1];
|
|
48
|
-
if (y1 > y != y2 > y && x < (x2 - x1) * (y - y1) / (y2 - y1) + x1) result = !result;
|
|
49
|
-
}
|
|
50
|
-
return result;
|
|
51
|
-
}
|
|
52
|
-
get mutable() {
|
|
53
|
-
return true;
|
|
54
|
-
}
|
|
55
|
-
get path() {
|
|
56
|
-
var {
|
|
57
|
-
x1,
|
|
58
|
-
y1,
|
|
59
|
-
x2,
|
|
60
|
-
y2,
|
|
61
|
-
x3,
|
|
62
|
-
y3
|
|
63
|
-
} = this.state;
|
|
64
|
-
return [{
|
|
65
|
-
x: x1,
|
|
66
|
-
y: y1
|
|
67
|
-
}, {
|
|
68
|
-
x: x2,
|
|
69
|
-
y: y2
|
|
70
|
-
}, {
|
|
71
|
-
x: x3,
|
|
72
|
-
y: y3
|
|
73
|
-
}];
|
|
74
|
-
}
|
|
75
|
-
set path(path) {
|
|
76
|
-
this.set({
|
|
77
|
-
x1: path[0].x,
|
|
78
|
-
y1: path[0].y,
|
|
79
|
-
x2: path[1].x,
|
|
80
|
-
y2: path[1].y,
|
|
81
|
-
x3: path[2].x,
|
|
82
|
-
y3: path[2].y
|
|
83
|
-
});
|
|
84
|
-
}
|
|
85
|
-
get nature() {
|
|
86
|
-
return NATURE;
|
|
87
|
-
}
|
|
88
|
-
}
|
|
89
|
-
exports.default = Triangle;
|
|
90
|
-
_component.default.memoize(Triangle.prototype, 'path', false);
|
|
91
|
-
_component.default.register('triangle', Triangle);
|
|
92
|
-
//# sourceMappingURL=triangle.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"triangle.js","names":["_component","_interopRequireDefault","require","_shape","e","__esModule","default","NATURE","mutable","resizable","rotatable","properties","type","label","name","property","min","max","step","help","Triangle","Shape","contains","x","y","x1","y1","x2","y2","x3","y3","state","path","result","i","length","j","set","nature","exports","Component","memoize","prototype","register"],"sources":["../../src/components/triangle.js"],"sourcesContent":["/*\n * Copyright © HatioLab Inc. All rights reserved.\n */\n\nimport Component from './component.js'\nimport Shape from './shape.js'\n\nconst NATURE = {\n mutable: true,\n resizable: false,\n rotatable: true,\n properties: [\n {\n type: 'number',\n label: 'round',\n name: 'round',\n property: {\n min: 0,\n max: 100,\n step: 1\n }\n }\n ],\n help: 'scene/component/triangle'\n}\n\nexport default class Triangle extends Shape {\n contains(x, y) {\n var { x1, y1, x2, y2, x3, y3 } = this.state\n var path = [x1, y1, x2, y2, x3, y3]\n\n var result = false\n\n for (let i = 0; i < path.length; i += 2) {\n let j = (i + 2) % path.length\n let x1 = path[i]\n let y1 = path[i + 1]\n let x2 = path[j]\n let y2 = path[j + 1]\n\n if (y1 > y != y2 > y && x < ((x2 - x1) * (y - y1)) / (y2 - y1) + x1) result = !result\n }\n\n return result\n }\n\n get mutable() {\n return true\n }\n\n get path() {\n var { x1, y1, x2, y2, x3, y3 } = this.state\n\n return [\n {\n x: x1,\n y: y1\n },\n {\n x: x2,\n y: y2\n },\n {\n x: x3,\n y: y3\n }\n ]\n }\n\n set path(path) {\n this.set({\n x1: path[0].x,\n y1: path[0].y,\n x2: path[1].x,\n y2: path[1].y,\n x3: path[2].x,\n y3: path[2].y\n })\n }\n\n get nature() {\n return NATURE\n }\n}\n\nComponent.memoize(Triangle.prototype, 'path', false)\n\nComponent.register('triangle', Triangle)\n"],"mappings":"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","ignoreList":[]}
|