aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xjs/components/SliderBase.js1
-rwxr-xr-xjs/components/tools-properties/brush-properties.reel/brush-properties.html25
-rwxr-xr-xjs/components/tools-properties/brush-properties.reel/brush-properties.js30
-rwxr-xr-xjs/controllers/elements/element-controller.js15
-rwxr-xr-xjs/controllers/elements/shapes-controller.js67
-rw-r--r--js/controllers/presets-controller.js8
-rwxr-xr-xjs/controllers/selection-controller.js147
-rwxr-xr-xjs/data/menu-data.js40
-rwxr-xr-xjs/data/pi/pi-data.js141
-rwxr-xr-xjs/document/html-document.js6
-rwxr-xr-xjs/helper-classes/3D/draw-utils.js79
-rwxr-xr-xjs/helper-classes/3D/snap-manager.js18
-rwxr-xr-xjs/helper-classes/3D/vec-utils.js2
-rwxr-xr-xjs/helper-classes/3D/view-utils.js13
-rwxr-xr-xjs/io/ui/file-picker/file-input-field.reel/file-input-field.js9
-rwxr-xr-xjs/io/ui/new-file-dialog/new-file-location.reel/new-file-location.js11
-rw-r--r--js/io/ui/new-file-dialog/new-file-options-navigator.reel/new-file-options-navigator.js4
-rw-r--r--js/io/ui/save-as-dialog.reel/save-as-dialog.js13
-rwxr-xr-xjs/lib/drawing/world.js19
-rwxr-xr-xjs/lib/geom/brush-stroke.js638
-rwxr-xr-xjs/lib/geom/geom-obj.js1
-rwxr-xr-xjs/lib/geom/sub-path.js18
-rwxr-xr-xjs/lib/nj-base.js13
-rwxr-xr-xjs/mediators/drag-drop-mediator.js8
-rwxr-xr-xjs/mediators/element-mediator.js218
-rwxr-xr-xjs/mediators/keyboard-mediator.js37
-rwxr-xr-xjs/mediators/mouse-mediator.js4
-rwxr-xr-xjs/ninja.reel/ninja.js4
-rwxr-xr-xjs/panels/CSSPanel/CSSPanelBase.reel/CSSPanelBase.js10
-rwxr-xr-xjs/panels/Components/ComponentsPanelBase.reel/ComponentsPanelBase.js2
-rw-r--r--js/panels/Timeline/TimelinePanel.reel/TimelinePanel.js37
-rw-r--r--js/panels/Timeline/Tween.reel/Tween.js2
-rw-r--r--js/panels/presets/animations-presets.reel/animations-presets.js4
-rw-r--r--js/panels/presets/style-presets.reel/style-presets.js4
-rw-r--r--js/panels/presets/transitions-presets.reel/transitions-presets.js4
-rwxr-xr-xjs/panels/properties.reel/properties.js16
-rwxr-xr-xjs/panels/properties.reel/sections/three-d-view.reel/three-d-view.js2
-rwxr-xr-xjs/stage/layout.js18
-rwxr-xr-xjs/stage/stage.reel/stage.js5
-rw-r--r--js/tools/BrushTool.js176
-rwxr-xr-xjs/tools/LineTool.js111
-rwxr-xr-xjs/tools/PenTool.js45
-rwxr-xr-xjs/tools/Rotate3DToolBase.js4
-rwxr-xr-xjs/tools/SelectionTool.js34
-rwxr-xr-xjs/tools/ShapeTool.js37
-rwxr-xr-xjs/tools/TagTool.js6
-rwxr-xr-xjs/tools/TextTool.js4
-rwxr-xr-xjs/tools/Translate3DToolBase.js2
-rwxr-xr-xjs/tools/modifier-tool-base.js2
49 files changed, 1284 insertions, 830 deletions
diff --git a/js/components/SliderBase.js b/js/components/SliderBase.js
index 9f007456..8df868a2 100755
--- a/js/components/SliderBase.js
+++ b/js/components/SliderBase.js
@@ -268,7 +268,6 @@ var SliderBase = exports.SliderBase = Montage.create(Component, {
268 268
269 _dispatchActionEvent: { 269 _dispatchActionEvent: {
270 value: function() { 270 value: function() {
271// console.log("dispatching event", this._element.id, this._eventType, this._wasSetByCode);
272 var actionEvent = document.createEvent("CustomEvent"); 271 var actionEvent = document.createEvent("CustomEvent");
273 actionEvent.initEvent(this._eventType, true, true); 272 actionEvent.initEvent(this._eventType, true, true);
274 actionEvent.type = this._eventType; 273 actionEvent.type = this._eventType;
diff --git a/js/components/tools-properties/brush-properties.reel/brush-properties.html b/js/components/tools-properties/brush-properties.reel/brush-properties.html
index 608111bd..98442164 100755
--- a/js/components/tools-properties/brush-properties.reel/brush-properties.html
+++ b/js/components/tools-properties/brush-properties.reel/brush-properties.html
@@ -33,7 +33,8 @@
33 "maxValue": 100, 33 "maxValue": 100,
34 "value": 100, 34 "value": 100,
35 "decimalPlace": 10, 35 "decimalPlace": 10,
36 "acceptableUnits" : ["px", "pt"] 36 "acceptableUnits" : ["%"],
37 "units" : "%"
37 } 38 }
38 }, 39 },
39 40
@@ -46,7 +47,20 @@
46 "maxValue": 90, 47 "maxValue": 90,
47 "value": 0, 48 "value": 0,
48 "decimalPlace": 10, 49 "decimalPlace": 10,
49 "acceptableUnits" : ["px", "pt"] 50 "acceptableUnits" : ["deg."],
51 "units" : "deg."
52 }
53 },
54
55 "smoothingAmountHT": {
56 "module": "js/components/hottext.reel",
57 "name": "HotText",
58 "properties": {
59 "element": {"#": "smoothingAmount"},
60 "minValue": 0,
61 "maxValue": 100,
62 "value": 0,
63 "decimalPlace": 10
50 } 64 }
51 }, 65 },
52 66
@@ -58,8 +72,10 @@
58 "_strokeSize": {"@": "strokeSizeHT"}, 72 "_strokeSize": {"@": "strokeSizeHT"},
59 "_strokeHardness": {"@": "strokeHardnessHT"}, 73 "_strokeHardness": {"@": "strokeHardnessHT"},
60 "_doSmoothing": {"#": "doSmoothing"}, 74 "_doSmoothing": {"#": "doSmoothing"},
75 "_smoothingAmount": {"@": "smoothingAmountHT"},
61 "_useCalligraphic":{"#": "useCalligraphic"}, 76 "_useCalligraphic":{"#": "useCalligraphic"},
62 "_strokeAngle": {"@": "strokeAngleHT"} 77 "_strokeAngle": {"@": "strokeAngleHT"},
78 "_angleLabel": {"#": "angleLabel"}
63 } 79 }
64 } 80 }
65 } 81 }
@@ -75,8 +91,9 @@
75 <label class="label"> Hardness:</label> 91 <label class="label"> Hardness:</label>
76 <div id="strokeHardness" class="label"></div> 92 <div id="strokeHardness" class="label"></div>
77 <label class="label"><input id="doSmoothing" type="checkbox" name="doSmoothingControl" class="checkBoxAlign"/>Smoothing</label> 93 <label class="label"><input id="doSmoothing" type="checkbox" name="doSmoothingControl" class="checkBoxAlign"/>Smoothing</label>
94 <div id="smoothingAmount" class="label"></div>
78 <label class="label"><input id="useCalligraphic" type="checkbox" name="useCalligraphicControl" class="checkBoxAlign"/>Calligraphic</label> 95 <label class="label"><input id="useCalligraphic" type="checkbox" name="useCalligraphicControl" class="checkBoxAlign"/>Calligraphic</label>
79 <label class="label"> Angle:</label> 96 <label class="label" id="angleLabel"> Angle:</label>
80 <div id="strokeAngle" class="label"></div> 97 <div id="strokeAngle" class="label"></div>
81 98
82 </div> 99 </div>
diff --git a/js/components/tools-properties/brush-properties.reel/brush-properties.js b/js/components/tools-properties/brush-properties.reel/brush-properties.js
index e6faa0f0..fdcd50f8 100755
--- a/js/components/tools-properties/brush-properties.reel/brush-properties.js
+++ b/js/components/tools-properties/brush-properties.reel/brush-properties.js
@@ -9,6 +9,33 @@ var Component = require("montage/ui/component").Component;
9var ToolProperties = require("js/components/tools-properties/tool-properties").ToolProperties; 9var ToolProperties = require("js/components/tools-properties/tool-properties").ToolProperties;
10 10
11exports.BrushProperties = Montage.create(ToolProperties, { 11exports.BrushProperties = Montage.create(ToolProperties, {
12 _subPrepare: {
13 value: function() {
14 this.handleChange(null);
15 this._useCalligraphic.addEventListener("change", this, false);
16 this._doSmoothing.addEventListener("change", this, false);
17 }
18 },
19 handleChange: {
20 value: function(event) {
21 if(this._useCalligraphic.checked) {
22 this._strokeAngle.element.style["display"] = "";
23 this._strokeAngle.visible = true;
24 this._angleLabel.style["display"] = "";
25 } else {
26 this._strokeAngle.element.style["display"] = "none";
27 this._strokeAngle.visible = false;
28 this._angleLabel.style["display"] = "none";
29 }
30 if(this._doSmoothing.checked) {
31 this._smoothingAmount.element.style["display"] = "";
32 this._smoothingAmount.visible = true;
33 } else {
34 this._smoothingAmount.element.style["display"] = "none";
35 this._smoothingAmount.visible = false;
36 }
37 }
38 },
12 strokeSize: { 39 strokeSize: {
13 get: function() { return this._strokeSize; } 40 get: function() { return this._strokeSize; }
14 }, 41 },
@@ -18,6 +45,9 @@ exports.BrushProperties = Montage.create(ToolProperties, {
18 doSmoothing:{ 45 doSmoothing:{