diff options
Diffstat (limited to 'js/lib/geom')
-rwxr-xr-x | js/lib/geom/anchor-point.js | 30 | ||||
-rwxr-xr-x | js/lib/geom/brush-stroke.js | 30 | ||||
-rwxr-xr-x | js/lib/geom/circle.js | 1572 | ||||
-rwxr-xr-x | js/lib/geom/geom-obj.js | 57 | ||||
-rwxr-xr-x | js/lib/geom/line.js | 89 | ||||
-rwxr-xr-x | js/lib/geom/rectangle.js | 335 | ||||
-rw-r--r-- | js/lib/geom/shape-primitive.js | 213 | ||||
-rwxr-xr-x | js/lib/geom/sub-path.js | 30 |
8 files changed, 1453 insertions, 903 deletions
diff --git a/js/lib/geom/anchor-point.js b/js/lib/geom/anchor-point.js index d254681c..a1fcfc0d 100755 --- a/js/lib/geom/anchor-point.js +++ b/js/lib/geom/anchor-point.js | |||
@@ -1,7 +1,31 @@ | |||
1 | /* <copyright> | 1 | /* <copyright> |
2 | This file contains proprietary software owned by Motorola Mobility, Inc.<br/> | 2 | Copyright (c) 2012, Motorola Mobility, Inc |
3 | No rights, expressed or implied, whatsoever to this software are provided by Motorola Mobility, Inc. hereunder.<br/> | 3 | All Rights Reserved. |
4 | (c) Copyright 2011 Motorola Mobility, Inc. All Rights Reserved. | 4 | BSD License. |
5 | |||
6 | Redistribution and use in source and binary forms, with or without | ||
7 | modification, are permitted provided that the following conditions are met: | ||
8 | |||
9 | - Redistributions of source code must retain the above copyright notice, | ||
10 | this list of conditions and the following disclaimer. | ||
11 | - Redistributions in binary form must reproduce the above copyright | ||
12 | notice, this list of conditions and the following disclaimer in the | ||
13 | documentation and/or other materials provided with the distribution. | ||
14 | - Neither the name of Motorola Mobility nor the names of its contributors | ||
15 | may be used to endorse or promote products derived from this software | ||
16 | without specific prior written permission. | ||
17 | |||
18 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" | ||
19 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE | ||
20 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE | ||
21 | ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE | ||
22 | LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR | ||
23 | CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF | ||
24 | SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS | ||
25 | INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN | ||
26 | CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) | ||
27 | ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE | ||
28 | POSSIBILITY OF SUCH DAMAGE. | ||
5 | </copyright> */ | 29 | </copyright> */ |
6 | 30 | ||
7 | ///////////////////////////////////////////// | 31 | ///////////////////////////////////////////// |
diff --git a/js/lib/geom/brush-stroke.js b/js/lib/geom/brush-stroke.js index c9224fde..e553a1c6 100755 --- a/js/lib/geom/brush-stroke.js +++ b/js/lib/geom/brush-stroke.js | |||
@@ -1,7 +1,31 @@ | |||
1 | /* <copyright> | 1 | /* <copyright> |
2 | This file contains proprietary software owned by Motorola Mobility, Inc.<br/> | 2 | Copyright (c) 2012, Motorola Mobility, Inc |
3 | No rights, expressed or implied, whatsoever to this software are provided by Motorola Mobility, Inc. hereunder.<br/> | 3 | All Rights Reserved. |
4 | (c) Copyright 2011 Motorola Mobility, Inc. All Rights Reserved. | 4 | BSD License. |
5 | |||
6 | Redistribution and use in source and binary forms, with or without | ||
7 | modification, are permitted provided that the following conditions are met: | ||
8 | |||
9 | - Redistributions of source code must retain the above copyright notice, | ||
10 | this list of conditions and the following disclaimer. | ||
11 | - Redistributions in binary form must reproduce the above copyright | ||
12 | notice, this list of conditions and the following disclaimer in the | ||
13 | documentation and/or other materials provided with the distribution. | ||
14 | - Neither the name of Motorola Mobility nor the names of its contributors | ||
15 | may be used to endorse or promote products derived from this software | ||
16 | without specific prior written permission. | ||
17 | |||
18 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" | ||
19 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE | ||
20 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE | ||
21 | ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE | ||
22 | LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR | ||
23 | CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF | ||
24 | SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS | ||
25 | INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN | ||
26 | CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) | ||
27 | ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE | ||
28 | POSSIBILITY OF SUCH DAMAGE. | ||
5 | </copyright> */ | 29 | </copyright> */ |
6 | 30 | ||
7 | var VecUtils = require("js/helper-classes/3D/vec-utils").VecUtils; | 31 | var VecUtils = require("js/helper-classes/3D/vec-utils").VecUtils; |
diff --git a/js/lib/geom/circle.js b/js/lib/geom/circle.js index 086c1058..2cd5a21f 100755 --- a/js/lib/geom/circle.js +++ b/js/lib/geom/circle.js | |||
@@ -1,7 +1,31 @@ | |||
1 | /* <copyright> | 1 | /* <copyright> |
2 | This file contains proprietary software owned by Motorola Mobility, Inc.<br/> | 2 | Copyright (c) 2012, Motorola Mobility, Inc |
3 | No rights, expressed or implied, whatsoever to this software are provided by Motorola Mobility, Inc. hereunder.<br/> | 3 | All Rights Reserved. |
4 | (c) Copyright 2011 Motorola Mobility, Inc. All Rights Reserved. | 4 | BSD License. |
5 | |||
6 | Redistribution and use in source and binary forms, with or without | ||
7 | modification, are permitted provided that the following conditions are met: | ||
8 | |||
9 | - Redistributions of source code must retain the above copyright notice, | ||
10 | this list of conditions and the following disclaimer. | ||
11 | - Redistributions in binary form must reproduce the above copyright | ||
12 | notice, this list of conditions and the following disclaimer in the | ||
13 | documentation and/or other materials provided with the distribution. | ||
14 | - Neither the name of Motorola Mobility nor the names of its contributors | ||
15 | may be used to endorse or promote products derived from this software | ||
16 | without specific prior written permission. | ||
17 | |||
18 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" | ||
19 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE | ||
20 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE | ||
21 | ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE | ||
22 | LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR | ||
23 | CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF | ||
24 | SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS | ||
25 | INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN | ||
26 | CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) | ||
27 | ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE | ||
28 | POSSIBILITY OF SUCH DAMAGE. | ||
5 | </copyright> */ | 29 | </copyright> */ |
6 | 30 | ||
7 | var GeomObj = require("js/lib/geom/geom-obj").GeomObj; | 31 | var GeomObj = require("js/lib/geom/geom-obj").GeomObj; |
@@ -18,173 +42,187 @@ var vecUtils = require("js/helper-classes/3D/vec-utils").VecUtils; | |||
18 | /////////////////////////////////////////////////////////////////////// | 42 | /////////////////////////////////////////////////////////////////////// |
19 | exports.Circle = Object.create(GeomObj, { | 43 | exports.Circle = Object.create(GeomObj, { |
20 | 44 | ||
21 | /////////////////////////////////////////////////////////////////////// | 45 | /////////////////////////////////////////////////////////////////////// |
22 | // Instance variables | 46 | // Instance variables |
23 | /////////////////////////////////////////////////////////////////////// | 47 | /////////////////////////////////////////////////////////////////////// |
24 | _width: { value : 2.0, writable: true }, | 48 | _width: { value : 2.0, writable: true }, |
25 | _height: { value : 2.0, writable: true }, | 49 | _height: { value : 2.0, writable: true }, |
26 | _xOffset: { value : 0, writable: true }, | 50 | _xOffset: { value : 0, writable: true }, |
27 | _yOffset: { value : 0, writable: true }, | 51 | _yOffset: { value : 0, writable: true }, |
28 | 52 | ||
29 | _radius: { value : 2.0, writable: true }, | 53 | _radius: { value : 2.0, writable: true }, |
30 | _strokeWidth: { value : 0.25, writable: true }, | 54 | _strokeWidth: { value : 0.25, writable: true }, |
31 | _innerRadius: { value : 0, writable: true }, | 55 | _innerRadius: { value : 0, writable: true }, |
32 | _ovalHeight: { value : 4.0, writable: true }, | 56 | _ovalHeight: { value : 4.0, writable: true }, |
33 | _strokeStyle: { value : "Solid", writable: true }, | 57 | _strokeStyle: { value : "Solid", writable: true }, |
34 | _aspectRatio: { value : 1.0, writable: true }, | 58 | _aspectRatio: { value : 1.0, writable: true }, |
35 | 59 | ||
36 | init: { | 60 | init: { |
37 | value: function(world, xOffset, yOffset, width, height, strokeSize, strokeColor, fillColor, innerRadius, strokeMaterial, fillMaterial, strokeStyle) { | 61 | value: function(world, xOffset, yOffset, width, height, strokeSize, strokeColor, fillColor, innerRadius, strokeMaterial, fillMaterial, strokeStyle) { |
38 | if(arguments.length > 0) { | 62 | if(arguments.length > 0) { |
39 | this._width = width; | 63 | this._width = width; |
40 | this._height = height; | 64 | this._height = height; |
41 | this._xOffset = xOffset; | 65 | this._xOffset = xOffset; |
42 | this._yOffset = yOffset; | 66 | this._yOffset = yOffset; |
43 | this._ovalHeight = 2.0 * this._radius; | 67 | this._ovalHeight = 2.0 * this._radius; |
44 | 68 | ||
45 | this._strokeWidth = strokeSize; | 69 | this._strokeWidth = strokeSize; |
46 | this._innerRadius = innerRadius; | 70 | this._innerRadius = innerRadius; |
47 | this._strokeColor = strokeColor; | 71 | this._strokeColor = strokeColor; |
48 | this._fillColor = fillColor; | 72 | this._fillColor = fillColor; |
49 | 73 | ||
50 | this._strokeStyle = strokeStyle; | 74 | this._strokeStyle = strokeStyle; |
51 | 75 | ||
52 | this._matrix = Matrix.I(4); | 76 | this._matrix = Matrix.I(4); |
53 | //this._matrix[12] = xOffset; | 77 | //this._matrix[12] = xOffset; |
54 | //this._matrix[13] = yOffset; | 78 | //this._matrix[13] = yOffset; |
55 | } | 79 | } |
56 | 80 | ||
57 | this.m_world = world; | 81 | this.m_world = world; |
82 | |||
83 | if(strokeMaterial) { | ||
84 | this._strokeMaterial = strokeMaterial.dup(); | ||
85 | } else { | ||
86 | this._strokeMaterial = MaterialsModel.getMaterial( MaterialsModel.getDefaultMaterialName() ).dup(); | ||
87 | } | ||
58 | 88 | ||
59 | if(strokeMaterial) { | 89 | if(strokeColor) { |
60 | this._strokeMaterial = strokeMaterial.dup(); | 90 | if(this._strokeMaterial.hasProperty("color")) { |
61 | } else { | 91 | this._strokeMaterial.setProperty( "color", this._strokeColor ); |
62 | this._strokeMaterial = MaterialsModel.getMaterial( MaterialsModel.getDefaultMaterialName() ).dup(); | 92 | } else if (this._strokeMaterial && (this._strokeMaterial.gradientType === this._strokeColor.gradientMode)) { |
93 | this._strokeMaterial.setGradientData(this._strokeColor.color); | ||
94 | } | ||
63 | } | 95 | } |
64 | if (strokeColor && this._strokeMaterial.hasProperty( "color" )) this._strokeMaterial.setProperty( "color", this._strokeColor ); | ||
65 | 96 | ||
66 | if(fillMaterial) { | 97 | if(fillMaterial) { |
67 | this._fillMaterial = fillMaterial.dup(); | 98 | this._fillMaterial = fillMaterial.dup(); |
68 | } else { | 99 | } else { |
69 | this._fillMaterial = MaterialsModel.getMaterial( MaterialsModel.getDefaultMaterialName() ).dup(); | 100 | this._fillMaterial = MaterialsModel.getMaterial( MaterialsModel.getDefaultMaterialName() ).dup(); |
101 | } | ||
102 | |||
103 | if(fillColor) { | ||
104 | if(this._fillMaterial.hasProperty("color")) { | ||
105 | this._fillMaterial.setProperty( "color", this._fillColor ); | ||
106 | } else if (this._fillMaterial && (this._fillMaterial.gradientType === this._fillColor.gradientMode)) { | ||
107 | this._fillMaterial.setGradientData(this._fillColor.color); | ||
108 | } | ||
70 | } | 109 | } |
71 | if (fillColor && this._fillMaterial.hasProperty( "color" )) this._fillMaterial.setProperty( "color", this._fillColor ); | ||
72 | } | ||
73 | }, | ||
74 | |||