diff options
-rw-r--r-- | assets/canvas-runtime.js | 40 | ||||
-rwxr-xr-x | js/components/layout/document-bar.reel/document-bar.js | 1 | ||||
-rwxr-xr-x | js/components/tools-properties/ink-bottle-properties.reel/ink-bottle-properties.css | 24 | ||||
-rwxr-xr-x | js/components/tools-properties/ink-bottle-properties.reel/ink-bottle-properties.html | 137 | ||||
-rwxr-xr-x | js/components/tools-properties/ink-bottle-properties.reel/ink-bottle-properties.js | 49 | ||||
-rwxr-xr-x | js/controllers/elements/element-controller.js | 16 | ||||
-rwxr-xr-x | js/controllers/elements/shapes-controller.js | 20 | ||||
-rwxr-xr-x | js/controllers/elements/stage-controller.js | 2 | ||||
-rw-r--r-- | js/io/system/ninjalibrary.json | 2 | ||||
-rwxr-xr-x | js/lib/geom/circle.js | 4 | ||||
-rwxr-xr-x | js/lib/geom/rectangle.js | 20 | ||||
-rwxr-xr-x | js/mediators/drag-drop-mediator.js | 14 | ||||
-rwxr-xr-x | js/panels/Materials/materials-popup.reel/materials-popup.js | 21 | ||||
-rwxr-xr-x | js/stage/tool-handle.js | 15 | ||||
-rwxr-xr-x | js/tools/InkBottleTool.js | 22 | ||||
-rwxr-xr-x | js/tools/ToolBase.js | 12 |
16 files changed, 294 insertions, 105 deletions
diff --git a/assets/canvas-runtime.js b/assets/canvas-runtime.js index ee9f24a4..ce2a15de 100644 --- a/assets/canvas-runtime.js +++ b/assets/canvas-runtime.js | |||
@@ -685,14 +685,22 @@ NinjaCvsRt.RuntimeRectangle = function () | |||
685 | // various declarations | 685 | // various declarations |
686 | var pt, rad, ctr, startPt, bPts; | 686 | var pt, rad, ctr, startPt, bPts; |
687 | var width = Math.round(this._width), | 687 | var width = Math.round(this._width), |
688 | height = Math.round(this._height); | 688 | height = Math.round(this._height), |
689 | 689 | hw = 0.5*width, | |
690 | pt = [inset, inset]; // top left corner | 690 | hh = 0.5*height; |
691 | 691 | ||
692 | var tlRad = this._tlRadius; //top-left radius | 692 | pt = [inset, inset]; // top left corner |
693 | var trRad = this._trRadius; | 693 | |
694 | var blRad = this._blRadius; | 694 | var tlRad = this._tlRadius; //top-left radius |
695 | var brRad = this._brRadius; | 695 | var trRad = this._trRadius; |
696 | var blRad = this._blRadius; | ||
697 | var brRad = this._brRadius; | ||
698 | // limit the radii to half the rectangle dimension | ||
699 | var minDimen = hw < hh ? hw : hh; | ||
700 | if (tlRad > minDimen) tlRad = minDimen; | ||
701 | if (blRad > minDimen) blRad = minDimen; | ||
702 | if (brRad > minDimen) brRad = minDimen; | ||
703 | if (trRad > minDimen) trRad = minDimen; | ||
696 | 704 | ||
697 | if ((tlRad <= 0) && (blRad <= 0) && (brRad <= 0) && (trRad <= 0)) | 705 | if ((tlRad <= 0) && (blRad <= 0) && (brRad <= 0) && (trRad <= 0)) |
698 | { | 706 | { |
@@ -769,7 +777,7 @@ NinjaCvsRt.RuntimeRectangle = function () | |||
769 | var lw = this._strokeWidth; | 777 | var lw = this._strokeWidth; |
770 | var w = world.getViewportWidth(), | 778 | var w = world.getViewportWidth(), |
771 | h = world.getViewportHeight(); | 779 | h = world.getViewportHeight(); |
772 | 780 | ||
773 | var c, | 781 | var c, |
774 | inset, | 782 | inset, |
775 | gradient, | 783 | gradient, |
@@ -781,13 +789,13 @@ NinjaCvsRt.RuntimeRectangle = function () | |||
781 | // render the fill | 789 | // render the fill |
782 | ctx.beginPath(); | 790 | ctx.beginPath(); |
783 | if (this._fillColor) { | 791 | if (this._fillColor) { |
784 | inset = Math.ceil( lw ) + 0.5; | 792 | inset = Math.ceil( lw ) - 0.5; |
785 | 793 | ||
786 | if(this._fillColor.gradientMode) { | 794 | if(this._fillColor.gradientMode) { |
787 | if(this._fillColor.gradientMode === "radial") { | 795 | if(this._fillColor.gradientMode === "radial") { |
788 | gradient = ctx.createRadialGradient(w/2, h/2, 0, w/2, h/2, Math.max(w/2, h/2)-inset); | 796 | gradient = ctx.createRadialGradient(w/2, h/2, 0, w/2, h/2, Math.max(w, h)/2); |
789 | } else { | 797 | } else { |
790 | gradient = ctx.createLinearGradient(inset, h/2, w-2*inset, h/2); | 798 | gradient = ctx.createLinearGradient(inset/2, h/2, w-inset, h/2); |
791 | } | 799 | } |
792 | colors = this._fillColor.color; | 800 | colors = this._fillColor.color; |
793 | 801 | ||
@@ -815,11 +823,11 @@ NinjaCvsRt.RuntimeRectangle = function () | |||
815 | // render the stroke | 823 | // render the stroke |
816 | ctx.beginPath(); | 824 | ctx.beginPath(); |
817 | if (this._strokeColor) { | 825 | if (this._strokeColor) { |
818 | inset = Math.ceil( 0.5*lw ) + 0.5; | 826 | inset = Math.ceil( 0.5*lw ) - 0.5; |
819 | 827 | ||
820 | if(this._strokeColor.gradientMode) { | 828 | if(this._strokeColor.gradientMode) { |
821 | if(this._strokeColor.gradientMode === "radial") { | 829 | if(this._strokeColor.gradientMode === "radial") { |
822 | gradient = ctx.createRadialGradient(w/2, h/2, Math.min(h/2, w/2)-inset, w/2, h/2, Math.max(h/2, w/2)); | 830 | gradient = ctx.createRadialGradient(w/2, h/2, Math.min(h, w)/2-inset, w/2, h/2, Math.max(h, w)/2); |
823 | } else { | 831 | } else { |
824 | gradient = ctx.createLinearGradient(0, h/2, w, h/2); | 832 | gradient = ctx.createLinearGradient(0, h/2, w, h/2); |
825 | } | 833 | } |
@@ -1025,9 +1033,9 @@ NinjaCvsRt.RuntimeOval = function () | |||
1025 | if(this._fillColor.gradientMode) { | 1033 | if(this._fillColor.gradientMode) { |
1026 | if(this._fillColor.gradientMode === "radial") { | 1034 | if(this._fillColor.gradientMode === "radial") { |
1027 | gradient = ctx.createRadialGradient(xCtr, yCtr, 0, | 1035 | gradient = ctx.createRadialGradient(xCtr, yCtr, 0, |
1028 | xCtr, yCtr, Math.max(yScale, xScale)); | 1036 | xCtr, yCtr, Math.max(this._width, this._height)/2); |
1029 | } else { | 1037 | } else { |
1030 | gradient = ctx.createLinearGradient(0, this._height/2, this._width, this._height/2); | 1038 | gradient = ctx.createLinearGradient(lineWidth/2, this._height/2, this._width-lineWidth, this._height/2); |
1031 | } | 1039 | } |
1032 | colors = this._fillColor.color; | 1040 | colors = this._fillColor.color; |
1033 | 1041 | ||
diff --git a/js/components/layout/document-bar.reel/document-bar.js b/js/components/layout/document-bar.reel/document-bar.js index 4dc39fd6..66a02725 100755 --- a/js/components/layout/document-bar.reel/document-bar.js +++ b/js/components/layout/document-bar.reel/document-bar.js | |||
@@ -57,7 +57,6 @@ exports.DocumentBar = Montage.create(Component, { | |||
57 | this._zoomFactor = value; | 57 | this._zoomFactor = value; |
58 | if (!this._firstDraw) | 58 | if (!this._firstDraw) |
59 | { | 59 | { |
60 | var viewUtils = this.application.ninja.stage.viewUtils; | ||
61 | this.application.ninja.stage.setZoom(value); | 60 | this.application.ninja.stage.setZoom(value); |
62 | } | 61 | } |
63 | } | 62 | } |
diff --git a/js/components/tools-properties/ink-bottle-properties.reel/ink-bottle-properties.css b/js/components/tools-properties/ink-bottle-properties.reel/ink-bottle-properties.css index 7f1b0f7f..a926a0b4 100755 --- a/js/components/tools-properties/ink-bottle-properties.reel/ink-bottle-properties.css +++ b/js/components/tools-properties/ink-bottle-properties.reel/ink-bottle-properties.css | |||
@@ -4,3 +4,27 @@ | |||
4 | (c) Copyright 2011 Motorola Mobility, Inc. All Rights Reserved. | 4 | (c) Copyright 2011 Motorola Mobility, Inc. All Rights Reserved. |
5 | </copyright> */ | 5 | </copyright> */ |
6 | 6 | ||
7 | .inkBottleProperties input[type="checkbox"].nj-skinned { | ||
8 | float:left; | ||
9 | margin-top:5px; | ||
10 | } | ||
11 | |||
12 | .inkBottleProperties select.nj-skinned { | ||
13 | float:left; | ||
14 | margin:2px 5px 0 0; | ||
15 | } | ||
16 | |||
17 | .inkBottleProperties label.disabled { | ||
18 | color:#999999; | ||
19 | } | ||
20 | |||
21 | .inkBottleProperties label.disabled:hover { | ||
22 | color:#999999; | ||
23 | background-color: transparent; | ||
24 | cursor:default; | ||
25 | } | ||
26 | |||
27 | .inkBottleProperties div.disabled:hover { | ||
28 | background-color: transparent; | ||
29 | cursor:default; | ||
30 | } \ No newline at end of file | ||
diff --git a/js/components/tools-properties/ink-bottle-properties.reel/ink-bottle-properties.html b/js/components/tools-properties/ink-bottle-properties.reel/ink-bottle-properties.html index 1602e793..81facc49 100755 --- a/js/components/tools-properties/ink-bottle-properties.reel/ink-bottle-properties.html +++ b/js/components/tools-properties/ink-bottle-properties.reel/ink-bottle-properties.html | |||
@@ -11,6 +11,30 @@ | |||
11 | 11 | ||
12 | <script type="text/montage-serialization"> | 12 | <script type="text/montage-serialization"> |
13 | { | 13 | { |
14 | "borderWidthCh": { | ||
15 | "prototype": "montage/ui/checkbox.reel", | ||
16 | "properties": { | ||
17 | "element": {"#": "useBorderWidthCh"}, | ||
18 | "identifier": "useBorderWidth", | ||
19 | "checked": true | ||
20 | }, | ||
21 | "listeners": [ | ||
22 | { | ||
23 | "type": "action", | ||
24 | "listener": {"@": "owner"}, | ||
25 | "capture": false | ||
26 | } | ||
27 | ] | ||
28 | }, | ||
29 | |||
30 | "borderWidthLabel": { | ||
31 | "prototype": "montage/ui/dynamic-text.reel", | ||
32 | "properties": { | ||
33 | "element": {"#": "borderWidthLabel"}, | ||
34 | "value": "Border:" | ||
35 | } | ||
36 | }, | ||
37 | |||
14 | "borderWidthHT": { | 38 | "borderWidthHT": { |
15 | "module": "js/components/hottextunit.reel", | 39 | "module": "js/components/hottextunit.reel", |
16 | "name": "HotTextUnit", | 40 | "name": "HotTextUnit", |
@@ -23,6 +47,54 @@ | |||
23 | } | 47 | } |
24 | }, | 48 | }, |
25 | 49 | ||
50 | "borderStyleCh": { | ||
51 | "prototype": "montage/ui/checkbox.reel", | ||
52 | "properties": { | ||
53 | "element": {"#": "useBorderStyleCh"}, | ||
54 | "identifier": "useBorderStyle", | ||
55 | "checked": true | ||
56 | }, | ||
57 | "listeners": [ | ||
58 | { | ||
59 | "type": "action", | ||
60 | "listener": {"@": "owner"}, | ||