Showing
1 changed file
with
770 additions
and
986 deletions
Too many changes to show.
To preserve performance only 1 of 2 files are displayed.
@@ -9,8 +9,7 @@ | @@ -9,8 +9,7 @@ | ||
9 | /** | 9 | /** |
10 | * Extends mxShape. | 10 | * Extends mxShape. |
11 | */ | 11 | */ |
12 | -function mxShapeArrows2Arrow(bounds, fill, stroke, strokewidth) | ||
13 | -{ | 12 | +function mxShapeArrows2Arrow(bounds, fill, stroke, strokewidth) { |
14 | mxShape.call(this); | 13 | mxShape.call(this); |
15 | this.bounds = bounds; | 14 | this.bounds = bounds; |
16 | this.fill = fill; | 15 | this.fill = fill; |
@@ -27,15 +26,15 @@ function mxShapeArrows2Arrow(bounds, fill, stroke, strokewidth) | @@ -27,15 +26,15 @@ function mxShapeArrows2Arrow(bounds, fill, stroke, strokewidth) | ||
27 | mxUtils.extend(mxShapeArrows2Arrow, mxActor); | 26 | mxUtils.extend(mxShapeArrows2Arrow, mxActor); |
28 | 27 | ||
29 | mxShapeArrows2Arrow.prototype.customProperties = [ | 28 | mxShapeArrows2Arrow.prototype.customProperties = [ |
30 | - {name: 'dx', dispName: 'Arrowhead Length', type: 'float', min: 0, defVal: 40}, | ||
31 | - {name: 'dy', dispName: 'Arrow Width', type: 'float', min:0, max:1, defVal: 0.6}, | ||
32 | - {name: 'notch', dispName: 'Notch', type: 'float', min:0, defVal: 0}, | ||
33 | - {name: 'headCrossline', dispName: 'Head Crossline', type: 'bool', defVal: false}, | ||
34 | - {name: 'tailCrossline', dispName: 'Tail Crossline', type: 'bool', defVal: false} | 29 | + { name: 'dx', dispName: 'Arrowhead Length', type: 'float', min: 0, defVal: 40 }, |
30 | + { name: 'dy', dispName: 'Arrow Width', type: 'float', min: 0, max: 1, defVal: 0.6 }, | ||
31 | + { name: 'notch', dispName: 'Notch', type: 'float', min: 0, defVal: 0 }, | ||
32 | + { name: 'headCrossline', dispName: 'Head Crossline', type: 'bool', defVal: false }, | ||
33 | + { name: 'tailCrossline', dispName: 'Tail Crossline', type: 'bool', defVal: false } | ||
35 | ]; | 34 | ]; |
36 | 35 | ||
37 | mxShapeArrows2Arrow.prototype.cst = { | 36 | mxShapeArrows2Arrow.prototype.cst = { |
38 | - ARROW : 'mxgraph.arrows2.arrow' | 37 | + ARROW: 'mxgraph.arrows2.arrow' |
39 | }; | 38 | }; |
40 | 39 | ||
41 | /** | 40 | /** |
@@ -43,8 +42,7 @@ mxShapeArrows2Arrow.prototype.cst = { | @@ -43,8 +42,7 @@ mxShapeArrows2Arrow.prototype.cst = { | ||
43 | * | 42 | * |
44 | * Paints the vertex shape. | 43 | * Paints the vertex shape. |
45 | */ | 44 | */ |
46 | -mxShapeArrows2Arrow.prototype.paintVertexShape = function(c, x, y, w, h) | ||
47 | -{ | 45 | +mxShapeArrows2Arrow.prototype.paintVertexShape = function (c, x, y, w, h) { |
48 | c.translate(x, y); | 46 | c.translate(x, y); |
49 | 47 | ||
50 | var dy = h * 0.5 * Math.max(0, Math.min(1, parseFloat(mxUtils.getValue(this.style, 'dy', this.dy)))); | 48 | var dy = h * 0.5 * Math.max(0, Math.min(1, parseFloat(mxUtils.getValue(this.style, 'dy', this.dy)))); |
@@ -64,19 +62,17 @@ mxShapeArrows2Arrow.prototype.paintVertexShape = function(c, x, y, w, h) | @@ -64,19 +62,17 @@ mxShapeArrows2Arrow.prototype.paintVertexShape = function(c, x, y, w, h) | ||
64 | c.lineTo(notch, h * 0.5); | 62 | c.lineTo(notch, h * 0.5); |
65 | c.close(); | 63 | c.close(); |
66 | c.fillAndStroke(); | 64 | c.fillAndStroke(); |
67 | - | 65 | + |
68 | c.setShadow(false); | 66 | c.setShadow(false); |
69 | - | ||
70 | - if (headCrossline) | ||
71 | - { | 67 | + |
68 | + if (headCrossline) { | ||
72 | c.begin(); | 69 | c.begin(); |
73 | c.moveTo(w - dx, dy); | 70 | c.moveTo(w - dx, dy); |
74 | c.lineTo(w - dx, h - dy); | 71 | c.lineTo(w - dx, h - dy); |
75 | c.stroke(); | 72 | c.stroke(); |
76 | } | 73 | } |
77 | - | ||
78 | - if (tailCrossline) | ||
79 | - { | 74 | + |
75 | + if (tailCrossline) { | ||
80 | c.begin(); | 76 | c.begin(); |
81 | c.moveTo(notch, dy); | 77 | c.moveTo(notch, dy); |
82 | c.lineTo(notch, h - dy); | 78 | c.lineTo(notch, h - dy); |
@@ -84,99 +80,83 @@ mxShapeArrows2Arrow.prototype.paintVertexShape = function(c, x, y, w, h) | @@ -84,99 +80,83 @@ mxShapeArrows2Arrow.prototype.paintVertexShape = function(c, x, y, w, h) | ||
84 | } | 80 | } |
85 | }; | 81 | }; |
86 | 82 | ||
87 | -mxShapeArrows2Arrow.prototype.getLabelBounds = function(rect) | ||
88 | -{ | ||
89 | - if (mxUtils.getValue(this.style, 'boundedLbl', false)) | ||
90 | - { | 83 | +mxShapeArrows2Arrow.prototype.getLabelBounds = function (rect) { |
84 | + if (mxUtils.getValue(this.style, 'boundedLbl', false)) { | ||
91 | var w = rect.width; | 85 | var w = rect.width; |
92 | var h = rect.height; | 86 | var h = rect.height; |
93 | - | 87 | + |
94 | var dy, dx; | 88 | var dy, dx; |
95 | var direction = this.direction || mxConstants.DIRECTION_EAST; | 89 | var direction = this.direction || mxConstants.DIRECTION_EAST; |
96 | - | ||
97 | - if (mxUtils.getValue(this.style, 'flipH', false)) | ||
98 | - { | 90 | + |
91 | + if (mxUtils.getValue(this.style, 'flipH', false)) { | ||
99 | if (direction == mxConstants.DIRECTION_WEST) | 92 | if (direction == mxConstants.DIRECTION_WEST) |
100 | direction = mxConstants.DIRECTION_EAST; | 93 | direction = mxConstants.DIRECTION_EAST; |
101 | else if (direction == mxConstants.DIRECTION_EAST) | 94 | else if (direction == mxConstants.DIRECTION_EAST) |
102 | direction = mxConstants.DIRECTION_WEST; | 95 | direction = mxConstants.DIRECTION_WEST; |
103 | } | 96 | } |
104 | - | ||
105 | - if (mxUtils.getValue(this.style, 'flipV', false)) | ||
106 | - { | 97 | + |
98 | + if (mxUtils.getValue(this.style, 'flipV', false)) { | ||
107 | if (direction == mxConstants.DIRECTION_NORTH) | 99 | if (direction == mxConstants.DIRECTION_NORTH) |
108 | direction = mxConstants.DIRECTION_SOUTH; | 100 | direction = mxConstants.DIRECTION_SOUTH; |
109 | else if (direction == mxConstants.DIRECTION_SOUTH) | 101 | else if (direction == mxConstants.DIRECTION_SOUTH) |
110 | direction = mxConstants.DIRECTION_NORTH; | 102 | direction = mxConstants.DIRECTION_NORTH; |
111 | } | 103 | } |
112 | - | 104 | + |
113 | if (direction == mxConstants.DIRECTION_NORTH | 105 | if (direction == mxConstants.DIRECTION_NORTH |
114 | - || direction == mxConstants.DIRECTION_SOUTH) | ||
115 | - { | 106 | + || direction == mxConstants.DIRECTION_SOUTH) { |
116 | dy = w * 0.5 * Math.max(0, Math.min(1, parseFloat(mxUtils.getValue(this.style, 'dy', this.dy)))); | 107 | dy = w * 0.5 * Math.max(0, Math.min(1, parseFloat(mxUtils.getValue(this.style, 'dy', this.dy)))); |
117 | dx = Math.max(0, Math.min(h, parseFloat(mxUtils.getValue(this.style, 'dx', this.dx)))); | 108 | dx = Math.max(0, Math.min(h, parseFloat(mxUtils.getValue(this.style, 'dx', this.dx)))); |
118 | } | 109 | } |
119 | - else | ||
120 | - { | 110 | + else { |
121 | dy = h * 0.5 * Math.max(0, Math.min(1, parseFloat(mxUtils.getValue(this.style, 'dy', this.dy)))); | 111 | dy = h * 0.5 * Math.max(0, Math.min(1, parseFloat(mxUtils.getValue(this.style, 'dy', this.dy)))); |
122 | dx = Math.max(0, Math.min(w, parseFloat(mxUtils.getValue(this.style, 'dx', this.dx)))); | 112 | dx = Math.max(0, Math.min(w, parseFloat(mxUtils.getValue(this.style, 'dx', this.dx)))); |
123 | } | 113 | } |
124 | - | ||
125 | - if (direction == mxConstants.DIRECTION_EAST) | ||
126 | - { | 114 | + |
115 | + if (direction == mxConstants.DIRECTION_EAST) { | ||
127 | return new mxRectangle(rect.x, rect.y + dy, w - dx, h - 2 * dy); | 116 | return new mxRectangle(rect.x, rect.y + dy, w - dx, h - 2 * dy); |
128 | } | 117 | } |
129 | - else if (direction == mxConstants.DIRECTION_WEST) | ||
130 | - { | 118 | + else if (direction == mxConstants.DIRECTION_WEST) { |
131 | return new mxRectangle(rect.x + dx, rect.y + dy, w - dx, h - 2 * dy); | 119 | return new mxRectangle(rect.x + dx, rect.y + dy, w - dx, h - 2 * dy); |
132 | } | 120 | } |
133 | - else if (direction == mxConstants.DIRECTION_NORTH) | ||
134 | - { | 121 | + else if (direction == mxConstants.DIRECTION_NORTH) { |
135 | return new mxRectangle(rect.x + dy, rect.y + dx, w - 2 * dy, h - dx); | 122 | return new mxRectangle(rect.x + dy, rect.y + dx, w - 2 * dy, h - dx); |
136 | } | 123 | } |
137 | - else | ||
138 | - { | 124 | + else { |
139 | return new mxRectangle(rect.x + dy, rect.y, w - 2 * dy, h - dx); | 125 | return new mxRectangle(rect.x + dy, rect.y, w - 2 * dy, h - dx); |
140 | } | 126 | } |
141 | } | 127 | } |
142 | - | 128 | + |
143 | return rect; | 129 | return rect; |
144 | }; | 130 | }; |
145 | 131 | ||
146 | mxCellRenderer.registerShape(mxShapeArrows2Arrow.prototype.cst.ARROW, mxShapeArrows2Arrow); | 132 | mxCellRenderer.registerShape(mxShapeArrows2Arrow.prototype.cst.ARROW, mxShapeArrows2Arrow); |
147 | 133 | ||
148 | -Graph.handleFactory[mxShapeArrows2Arrow.prototype.cst.ARROW] = function(state) | ||
149 | -{ | ||
150 | - var handles = [Graph.createHandle(state, ['dx', 'dy'], function(bounds) | ||
151 | - { | ||
152 | - var dx = Math.max(0, Math.min(bounds.width, parseFloat(mxUtils.getValue(this.state.style, 'dx', this.dx)))); | ||
153 | - var dy = Math.max(0, Math.min(1, parseFloat(mxUtils.getValue(this.state.style, 'dy', this.dy)))); | ||
154 | - | ||
155 | - return new mxPoint(bounds.x + bounds.width - dx, bounds.y + dy * bounds.height / 2); | ||
156 | - }, function(bounds, pt) | ||
157 | - { | ||
158 | - this.state.style['dx'] = Math.round(100 * Math.max(0, Math.min(bounds.width - parseFloat(mxUtils.getValue(this.state.style, 'notch', this.notch)), bounds.x + bounds.width - pt.x))) / 100; | ||
159 | - this.state.style['dy'] = Math.round(100 * Math.max(0, Math.min(1, (((pt.y - bounds.y) / bounds.height) * 2)))) / 100; | ||
160 | - })]; | ||
161 | - | ||
162 | - var handle2 = Graph.createHandle(state, ['notch'], function(bounds) | ||
163 | - { | ||
164 | - var notch = Math.max(0, Math.min(bounds.width, parseFloat(mxUtils.getValue(this.state.style, 'notch', this.notch)))); | ||
165 | - | ||
166 | - return new mxPoint(bounds.x + notch, bounds.y + bounds.height / 2); | ||
167 | - }, function(bounds, pt) | ||
168 | - { | ||
169 | - this.state.style['notch'] = Math.round(100 * Math.max(0, Math.min(bounds.width - parseFloat(mxUtils.getValue(this.state.style, 'dx', this.dx)), pt.x - bounds.x))) / 100; | ||
170 | - }); | ||
171 | - | 134 | +Graph.handleFactory[mxShapeArrows2Arrow.prototype.cst.ARROW] = function (state) { |
135 | + var handles = [Graph.createHandle(state, ['dx', 'dy'], function (bounds) { | ||
136 | + var dx = Math.max(0, Math.min(bounds.width, parseFloat(mxUtils.getValue(this.state.style, 'dx', this.dx)))); | ||
137 | + var dy = Math.max(0, Math.min(1, parseFloat(mxUtils.getValue(this.state.style, 'dy', this.dy)))); | ||
138 | + | ||
139 | + return new mxPoint(bounds.x + bounds.width - dx, bounds.y + dy * bounds.height / 2); | ||
140 | + }, function (bounds, pt) { | ||
141 | + this.state.style['dx'] = Math.round(100 * Math.max(0, Math.min(bounds.width - parseFloat(mxUtils.getValue(this.state.style, 'notch', this.notch)), bounds.x + bounds.width - pt.x))) / 100; | ||
142 | + this.state.style['dy'] = Math.round(100 * Math.max(0, Math.min(1, (((pt.y - bounds.y) / bounds.height) * 2)))) / 100; | ||
143 | + })]; | ||
144 | + | ||
145 | + var handle2 = Graph.createHandle(state, ['notch'], function (bounds) { | ||
146 | + var notch = Math.max(0, Math.min(bounds.width, parseFloat(mxUtils.getValue(this.state.style, 'notch', this.notch)))); | ||
147 | + | ||
148 | + return new mxPoint(bounds.x + notch, bounds.y + bounds.height / 2); | ||
149 | + }, function (bounds, pt) { | ||
150 | + this.state.style['notch'] = Math.round(100 * Math.max(0, Math.min(bounds.width - parseFloat(mxUtils.getValue(this.state.style, 'dx', this.dx)), pt.x - bounds.x))) / 100; | ||
151 | + }); | ||
152 | + | ||
172 | handles.push(handle2); | 153 | handles.push(handle2); |
173 | - | 154 | + |
174 | return handles; | 155 | return handles; |
175 | 156 | ||
176 | } | 157 | } |
177 | 158 | ||
178 | -mxShapeArrows2Arrow.prototype.getConstraints = function(style, w, h) | ||
179 | -{ | 159 | +mxShapeArrows2Arrow.prototype.getConstraints = function (style, w, h) { |
180 | var constr = []; | 160 | var constr = []; |
181 | var dy = h * 0.5 * Math.max(0, Math.min(1, parseFloat(mxUtils.getValue(this.style, 'dy', this.dy)))); | 161 | var dy = h * 0.5 * Math.max(0, Math.min(1, parseFloat(mxUtils.getValue(this.style, 'dy', this.dy)))); |
182 | var dx = Math.max(0, Math.min(w, parseFloat(mxUtils.getValue(this.style, 'dx', this.dx)))); | 162 | var dx = Math.max(0, Math.min(w, parseFloat(mxUtils.getValue(this.style, 'dx', this.dx)))); |
@@ -202,8 +182,7 @@ mxShapeArrows2Arrow.prototype.getConstraints = function(style, w, h) | @@ -202,8 +182,7 @@ mxShapeArrows2Arrow.prototype.getConstraints = function(style, w, h) | ||
202 | /** | 182 | /** |
203 | * Extends mxShape. | 183 | * Extends mxShape. |
204 | */ | 184 | */ |
205 | -function mxShapeArrows2TwoWayArrow(bounds, fill, stroke, strokewidth) | ||
206 | -{ | 185 | +function mxShapeArrows2TwoWayArrow(bounds, fill, stroke, strokewidth) { |
207 | mxShape.call(this); | 186 | mxShape.call(this); |
208 | this.bounds = bounds; | 187 | this.bounds = bounds; |
209 | this.fill = fill; | 188 | this.fill = fill; |
@@ -219,12 +198,12 @@ function mxShapeArrows2TwoWayArrow(bounds, fill, stroke, strokewidth) | @@ -219,12 +198,12 @@ function mxShapeArrows2TwoWayArrow(bounds, fill, stroke, strokewidth) | ||
219 | mxUtils.extend(mxShapeArrows2TwoWayArrow, mxActor); | 198 | mxUtils.extend(mxShapeArrows2TwoWayArrow, mxActor); |
220 | 199 | ||
221 | mxShapeArrows2TwoWayArrow.prototype.cst = { | 200 | mxShapeArrows2TwoWayArrow.prototype.cst = { |
222 | - TWO_WAY_ARROW : 'mxgraph.arrows2.twoWayArrow' | 201 | + TWO_WAY_ARROW: 'mxgraph.arrows2.twoWayArrow' |
223 | }; | 202 | }; |
224 | 203 | ||
225 | mxShapeArrows2TwoWayArrow.prototype.customProperties = [ | 204 | mxShapeArrows2TwoWayArrow.prototype.customProperties = [ |
226 | - {name: 'dx', dispName: 'Arrowhead Length', type: 'float', min:0, defVal: 35}, | ||
227 | - {name: 'dy', dispName: 'Arrow Width', type: 'float', min:0, max:1, defVal: 0.6} | 205 | + { name: 'dx', dispName: 'Arrowhead Length', type: 'float', min: 0, defVal: 35 }, |
206 | + { name: 'dy', dispName: 'Arrow Width', type: 'float', min: 0, max: 1, defVal: 0.6 } | ||
228 | ]; | 207 | ]; |
229 | 208 | ||
230 | /** | 209 | /** |
@@ -232,8 +211,7 @@ mxShapeArrows2TwoWayArrow.prototype.customProperties = [ | @@ -232,8 +211,7 @@ mxShapeArrows2TwoWayArrow.prototype.customProperties = [ | ||
232 | * | 211 | * |
233 | * Paints the vertex shape. | 212 | * Paints the vertex shape. |
234 | */ | 213 | */ |
235 | -mxShapeArrows2TwoWayArrow.prototype.paintVertexShape = function(c, x, y, w, h) | ||
236 | -{ | 214 | +mxShapeArrows2TwoWayArrow.prototype.paintVertexShape = function (c, x, y, w, h) { |
237 | c.translate(x, y); | 215 | c.translate(x, y); |
238 | 216 | ||
239 | var dy = h * 0.5 * Math.max(0, Math.min(1, parseFloat(mxUtils.getValue(this.style, 'dy', this.dy)))); | 217 | var dy = h * 0.5 * Math.max(0, Math.min(1, parseFloat(mxUtils.getValue(this.style, 'dy', this.dy)))); |
@@ -254,38 +232,32 @@ mxShapeArrows2TwoWayArrow.prototype.paintVertexShape = function(c, x, y, w, h) | @@ -254,38 +232,32 @@ mxShapeArrows2TwoWayArrow.prototype.paintVertexShape = function(c, x, y, w, h) | ||
254 | c.fillAndStroke(); | 232 | c.fillAndStroke(); |
255 | }; | 233 | }; |
256 | 234 | ||
257 | -mxShapeArrows2TwoWayArrow.prototype.getLabelBounds = function(rect) | ||
258 | -{ | ||
259 | - if (mxUtils.getValue(this.style, 'boundedLbl', false)) | ||
260 | - { | 235 | +mxShapeArrows2TwoWayArrow.prototype.getLabelBounds = function (rect) { |
236 | + if (mxUtils.getValue(this.style, 'boundedLbl', false)) { | ||
261 | var w = rect.width; | 237 | var w = rect.width; |
262 | var h = rect.height; | 238 | var h = rect.height; |
263 | var vertical = this.direction == mxConstants.DIRECTION_NORTH | 239 | var vertical = this.direction == mxConstants.DIRECTION_NORTH |
264 | - || this.direction == mxConstants.DIRECTION_SOUTH; | 240 | + || this.direction == mxConstants.DIRECTION_SOUTH; |
265 | 241 | ||
266 | var dy, dx; | 242 | var dy, dx; |
267 | - | ||
268 | - if (vertical) | ||
269 | - { | 243 | + |
244 | + if (vertical) { | ||
270 | dy = w * 0.5 * Math.max(0, Math.min(1, parseFloat(mxUtils.getValue(this.style, 'dy', this.dy)))); | 245 | dy = w * 0.5 * Math.max(0, Math.min(1, parseFloat(mxUtils.getValue(this.style, 'dy', this.dy)))); |
271 | dx = Math.max(0, Math.min(h, parseFloat(mxUtils.getValue(this.style, 'dx', this.dx)))); | 246 | dx = Math.max(0, Math.min(h, parseFloat(mxUtils.getValue(this.style, 'dx', this.dx)))); |
272 | } | 247 | } |
273 | - else | ||
274 | - { | 248 | + else { |
275 | dy = h * 0.5 * Math.max(0, Math.min(1, parseFloat(mxUtils.getValue(this.style, 'dy', this.dy)))); | 249 | dy = h * 0.5 * Math.max(0, Math.min(1, parseFloat(mxUtils.getValue(this.style, 'dy', this.dy)))); |
276 | dx = Math.max(0, Math.min(w, parseFloat(mxUtils.getValue(this.style, 'dx', this.dx)))); | 250 | dx = Math.max(0, Math.min(w, parseFloat(mxUtils.getValue(this.style, 'dx', this.dx)))); |
277 | } | 251 | } |
278 | - | ||
279 | - if (vertical) | ||
280 | - { | 252 | + |
253 | + if (vertical) { | ||
281 | return new mxRectangle(rect.x + dy, rect.y + dx, w - 2 * dy, h - 2 * dx); | 254 | return new mxRectangle(rect.x + dy, rect.y + dx, w - 2 * dy, h - 2 * dx); |
282 | } | 255 | } |
283 | - else | ||
284 | - { | 256 | + else { |
285 | return new mxRectangle(rect.x + dx, rect.y + dy, w - 2 * dx, h - 2 * dy); | 257 | return new mxRectangle(rect.x + dx, rect.y + dy, w - 2 * dx, h - 2 * dy); |
286 | } | 258 | } |
287 | } | 259 | } |
288 | - | 260 | + |
289 | return rect; | 261 | return rect; |
290 | }; | 262 | }; |
291 | 263 | ||
@@ -293,26 +265,22 @@ mxCellRenderer.registerShape(mxShapeArrows2TwoWayArrow.prototype.cst.TWO_WAY_ARR | @@ -293,26 +265,22 @@ mxCellRenderer.registerShape(mxShapeArrows2TwoWayArrow.prototype.cst.TWO_WAY_ARR | ||
293 | 265 | ||
294 | mxShapeArrows2TwoWayArrow.prototype.constraints = null; | 266 | mxShapeArrows2TwoWayArrow.prototype.constraints = null; |
295 | 267 | ||
296 | -Graph.handleFactory[mxShapeArrows2TwoWayArrow.prototype.cst.TWO_WAY_ARROW] = function(state) | ||
297 | -{ | ||
298 | - var handles = [Graph.createHandle(state, ['dx', 'dy'], function(bounds) | ||
299 | - { | ||
300 | - var dx = Math.max(0, Math.min(bounds.width / 2, parseFloat(mxUtils.getValue(this.state.style, 'dx', this.dx)))); | ||
301 | - var dy = Math.max(0, Math.min(1, parseFloat(mxUtils.getValue(this.state.style, 'dy', this.dy)))); | ||
302 | - | ||
303 | - return new mxPoint(bounds.x + bounds.width - dx, bounds.y + dy * bounds.height / 2); | ||
304 | - }, function(bounds, pt) | ||
305 | - { | ||
306 | - this.state.style['dx'] = Math.round(100 * Math.max(0, Math.min(bounds.width / 2, bounds.x + bounds.width - pt.x))) / 100; | ||
307 | - this.state.style['dy'] = Math.round(100 * Math.max(0, Math.min(1, (((pt.y - bounds.y) / bounds.height) * 2)))) / 100; | ||
308 | - })]; | ||
309 | - | 268 | +Graph.handleFactory[mxShapeArrows2TwoWayArrow.prototype.cst.TWO_WAY_ARROW] = function (state) { |
269 | + var handles = [Graph.createHandle(state, ['dx', 'dy'], function (bounds) { | ||
270 | + var dx = Math.max(0, Math.min(bounds.width / 2, parseFloat(mxUtils.getValue(this.state.style, 'dx', this.dx)))); | ||
271 | + var dy = Math.max(0, Math.min(1, parseFloat(mxUtils.getValue(this.state.style, 'dy', this.dy)))); | ||
272 | + | ||
273 | + return new mxPoint(bounds.x + bounds.width - dx, bounds.y + dy * bounds.height / 2); | ||
274 | + }, function (bounds, pt) { | ||
275 | + this.state.style['dx'] = Math.round(100 * Math.max(0, Math.min(bounds.width / 2, bounds.x + bounds.width - pt.x))) / 100; | ||
276 | + this.state.style['dy'] = Math.round(100 * Math.max(0, Math.min(1, (((pt.y - bounds.y) / bounds.height) * 2)))) / 100; | ||
277 | + })]; | ||
278 | + | ||
310 | return handles; | 279 | return handles; |
311 | 280 | ||
312 | } | 281 | } |
313 | 282 | ||
314 | -mxShapeArrows2TwoWayArrow.prototype.getConstraints = function(style, w, h) | ||
315 | -{ | 283 | +mxShapeArrows2TwoWayArrow.prototype.getConstraints = function (style, w, h) { |
316 | var constr = []; | 284 | var constr = []; |
317 | var dy = h * 0.5 * Math.max(0, Math.min(1, parseFloat(mxUtils.getValue(this.style, 'dy', this.dy)))); | 285 | var dy = h * 0.5 * Math.max(0, Math.min(1, parseFloat(mxUtils.getValue(this.style, 'dy', this.dy)))); |
318 | var dx = Math.max(0, Math.min(w, parseFloat(mxUtils.getValue(this.style, 'dx', this.dx)))); | 286 | var dx = Math.max(0, Math.min(w, parseFloat(mxUtils.getValue(this.style, 'dx', this.dx)))); |
@@ -339,8 +307,7 @@ mxShapeArrows2TwoWayArrow.prototype.getConstraints = function(style, w, h) | @@ -339,8 +307,7 @@ mxShapeArrows2TwoWayArrow.prototype.getConstraints = function(style, w, h) | ||
339 | /** | 307 | /** |
340 | * Extends mxShape. | 308 | * Extends mxShape. |
341 | */ | 309 | */ |
342 | -function mxShapeArrows2StylisedArrow(bounds, fill, stroke, strokewidth) | ||
343 | -{ | 310 | +function mxShapeArrows2StylisedArrow(bounds, fill, stroke, strokewidth) { |
344 | mxShape.call(this); | 311 | mxShape.call(this); |
345 | this.bounds = bounds; | 312 | this.bounds = bounds; |
346 | this.fill = fill; | 313 | this.fill = fill; |
@@ -358,14 +325,14 @@ function mxShapeArrows2StylisedArrow(bounds, fill, stroke, strokewidth) | @@ -358,14 +325,14 @@ function mxShapeArrows2StylisedArrow(bounds, fill, stroke, strokewidth) | ||
358 | mxUtils.extend(mxShapeArrows2StylisedArrow, mxActor); | 325 | mxUtils.extend(mxShapeArrows2StylisedArrow, mxActor); |
359 | 326 | ||
360 | mxShapeArrows2StylisedArrow.prototype.customProperties = [ | 327 | mxShapeArrows2StylisedArrow.prototype.customProperties = [ |
361 | - {name: 'dx', dispName: 'Arrowhead Length', type: 'float', min:0, defVal:40}, | ||
362 | - {name: 'dy', dispName: 'Arrow Width', type: 'float', min:0, max:1, defVal:0.6}, | ||
363 | - {name: 'notch', dispName: 'Notch', type: 'float', min:0, defVal:0}, | ||
364 | - {name: 'feather', dispName: 'Feather', type: 'float', min:0, max:1, defVal:0.4}, | 328 | + { name: 'dx', dispName: 'Arrowhead Length', type: 'float', min: 0, defVal: 40 }, |
329 | + { name: 'dy', dispName: 'Arrow Width', type: 'float', min: 0, max: 1, defVal: 0.6 }, | ||
330 | + { name: 'notch', dispName: 'Notch', type: 'float', min: 0, defVal: 0 }, | ||
331 | + { name: 'feather', dispName: 'Feather', type: 'float', min: 0, max: 1, defVal: 0.4 }, | ||
365 | ]; | 332 | ]; |
366 | 333 | ||
367 | mxShapeArrows2StylisedArrow.prototype.cst = { | 334 | mxShapeArrows2StylisedArrow.prototype.cst = { |
368 | - STYLISED_ARROW : 'mxgraph.arrows2.stylisedArrow' | 335 | + STYLISED_ARROW: 'mxgraph.arrows2.stylisedArrow' |
369 | }; | 336 | }; |
370 | 337 | ||
371 | /** | 338 | /** |
@@ -373,8 +340,7 @@ mxShapeArrows2StylisedArrow.prototype.cst = { | @@ -373,8 +340,7 @@ mxShapeArrows2StylisedArrow.prototype.cst = { | ||
373 | * | 340 | * |
374 | * Paints the vertex shape. | 341 | * Paints the vertex shape. |
375 | */ | 342 | */ |
376 | -mxShapeArrows2StylisedArrow.prototype.paintVertexShape = function(c, x, y, w, h) | ||
377 | -{ | 343 | +mxShapeArrows2StylisedArrow.prototype.paintVertexShape = function (c, x, y, w, h) { |
378 | c.translate(x, y); | 344 | c.translate(x, y); |
379 | 345 | ||
380 | var dy = h * 0.5 * Math.max(0, Math.min(1, parseFloat(mxUtils.getValue(this.style, 'dy', this.dy)))); | 346 | var dy = h * 0.5 * Math.max(0, Math.min(1, parseFloat(mxUtils.getValue(this.style, 'dy', this.dy)))); |
@@ -399,50 +365,42 @@ mxCellRenderer.registerShape(mxShapeArrows2StylisedArrow.prototype.cst.STYLISED_ | @@ -399,50 +365,42 @@ mxCellRenderer.registerShape(mxShapeArrows2StylisedArrow.prototype.cst.STYLISED_ | ||
399 | 365 | ||
400 | mxShapeArrows2StylisedArrow.prototype.constraints = null; | 366 | mxShapeArrows2StylisedArrow.prototype.constraints = null; |
401 | 367 | ||
402 | -Graph.handleFactory[mxShapeArrows2StylisedArrow.prototype.cst.STYLISED_ARROW] = function(state) | ||
403 | -{ | ||
404 | - var handles = [Graph.createHandle(state, ['dx', 'dy'], function(bounds) | ||
405 | - { | ||
406 | - var dx = Math.max(0, Math.min(bounds.width - 10, parseFloat(mxUtils.getValue(this.state.style, 'dx', this.dx)))); | ||
407 | - var dy = Math.max(0, Math.min(1, parseFloat(mxUtils.getValue(this.state.style, 'dy', this.dy)))); | ||
408 | - | ||
409 | - return new mxPoint(bounds.x + bounds.width - dx, bounds.y + dy * bounds.height / 2); | ||
410 | - }, function(bounds, pt) | ||
411 | - { | ||
412 | - this.state.style['dx'] = Math.round(100 * Math.max(0, Math.min(bounds.width - 10, bounds.width - parseFloat(mxUtils.getValue(this.state.style, 'notch', this.notch)), bounds.x + bounds.width - pt.x))) / 100; | ||
413 | - this.state.style['dy'] = Math.round(100 * Math.max(0, Math.min(1, (((pt.y - bounds.y) / bounds.height) * 2)))) / 100; | ||
414 | - })]; | ||
415 | - | ||
416 | - var handle2 = Graph.createHandle(state, ['notch'], function(bounds) | ||
417 | - { | ||
418 | - var notch = Math.max(0, Math.min(bounds.width - parseFloat(mxUtils.getValue(this.state.style, 'dx', this.dx)), parseFloat(mxUtils.getValue(this.state.style, 'notch', this.notch)))); | ||
419 | - | ||
420 | - return new mxPoint(bounds.x + notch, bounds.y + bounds.height / 2); | ||
421 | - }, function(bounds, pt) | ||
422 | - { | ||
423 | - this.state.style['notch'] = Math.round(100 * Math.max(0, Math.min(bounds.width - parseFloat(mxUtils.getValue(this.state.style, 'dx', this.dx)), pt.x - bounds.x))) / 100; | ||
424 | - }); | ||
425 | - | 368 | +Graph.handleFactory[mxShapeArrows2StylisedArrow.prototype.cst.STYLISED_ARROW] = function (state) { |
369 | + var handles = [Graph.createHandle(state, ['dx', 'dy'], function (bounds) { | ||
370 | + var dx = Math.max(0, Math.min(bounds.width - 10, parseFloat(mxUtils.getValue(this.state.style, 'dx', this.dx)))); | ||
371 | + var dy = Math.max(0, Math.min(1, parseFloat(mxUtils.getValue(this.state.style, 'dy', this.dy)))); | ||
372 | + | ||
373 | + return new mxPoint(bounds.x + bounds.width - dx, bounds.y + dy * bounds.height / 2); | ||
374 | + }, function (bounds, pt) { | ||
375 | + this.state.style['dx'] = Math.round(100 * Math.max(0, Math.min(bounds.width - 10, bounds.width - parseFloat(mxUtils.getValue(this.state.style, 'notch', this.notch)), bounds.x + bounds.width - pt.x))) / 100; | ||
376 | + this.state.style['dy'] = Math.round(100 * Math.max(0, Math.min(1, (((pt.y - bounds.y) / bounds.height) * 2)))) / 100; | ||
377 | + })]; | ||
378 | + | ||
379 | + var handle2 = Graph.createHandle(state, ['notch'], function (bounds) { | ||
380 | + var notch = Math.max(0, Math.min(bounds.width - parseFloat(mxUtils.getValue(this.state.style, 'dx', this.dx)), parseFloat(mxUtils.getValue(this.state.style, 'notch', this.notch)))); | ||
381 | + | ||
382 | + return new mxPoint(bounds.x + notch, bounds.y + bounds.height / 2); | ||
383 | + }, function (bounds, pt) { | ||
384 | + this.state.style['notch'] = Math.round(100 * Math.max(0, Math.min(bounds.width - parseFloat(mxUtils.getValue(this.state.style, 'dx', this.dx)), pt.x - bounds.x))) / 100; | ||
385 | + }); | ||
386 | + | ||
426 | handles.push(handle2); | 387 | handles.push(handle2); |
427 | - | ||
428 | - var handle3 = Graph.createHandle(state, ['feather'], function(bounds) | ||
429 | - { | ||
430 | - var feather = Math.max(0, Math.min(1, parseFloat(mxUtils.getValue(this.state.style, 'feather', this.dy)))); | ||
431 | - | ||
432 | - return new mxPoint(bounds.x, bounds.y + feather * bounds.height / 2); | ||
433 | - }, function(bounds, pt) | ||
434 | - { | ||
435 | - this.state.style['feather'] = Math.round(100 * Math.max(0, Math.min(1, (((pt.y - bounds.y) / bounds.height) * 2)))) / 100; | ||
436 | - }); | ||
437 | - | 388 | + |
389 | + var handle3 = Graph.createHandle(state, ['feather'], function (bounds) { | ||
390 | + var feather = Math.max(0, Math.min(1, parseFloat(mxUtils.getValue(this.state.style, 'feather', this.dy)))); | ||
391 | + | ||
392 | + return new mxPoint(bounds.x, bounds.y + feather * bounds.height / 2); | ||
393 | + }, function (bounds, pt) { | ||
394 | + this.state.style['feather'] = Math.round(100 * Math.max(0, Math.min(1, (((pt.y - bounds.y) / bounds.height) * 2)))) / 100; | ||
395 | + }); | ||
396 | + | ||
438 | handles.push(handle3); | 397 | handles.push(handle3); |
439 | - | 398 | + |
440 | return handles; | 399 | return handles; |
441 | 400 | ||
442 | } | 401 | } |
443 | 402 | ||
444 | -mxShapeArrows2StylisedArrow.prototype.getConstraints = function(style, w, h) | ||
445 | -{ | 403 | +mxShapeArrows2StylisedArrow.prototype.getConstraints = function (style, w, h) { |
446 | var constr = []; | 404 | var constr = []; |
447 | var dy = h * 0.5 * Math.max(0, Math.min(1, parseFloat(mxUtils.getValue(this.style, 'dy', this.dy)))); | 405 | var dy = h * 0.5 * Math.max(0, Math.min(1, parseFloat(mxUtils.getValue(this.style, 'dy', this.dy)))); |
448 | var dx = Math.max(0, Math.min(w, parseFloat(mxUtils.getValue(this.style, 'dx', this.dx)))); | 406 | var dx = Math.max(0, Math.min(w, parseFloat(mxUtils.getValue(this.style, 'dx', this.dx)))); |
@@ -469,8 +427,7 @@ mxShapeArrows2StylisedArrow.prototype.getConstraints = function(style, w, h) | @@ -469,8 +427,7 @@ mxShapeArrows2StylisedArrow.prototype.getConstraints = function(style, w, h) | ||
469 | /** | 427 | /** |
470 | * Extends mxShape. | 428 | * Extends mxShape. |
471 | */ | 429 | */ |
472 | -function mxShapeArrows2SharpArrow(bounds, fill, stroke, strokewidth) | ||
473 | -{ | 430 | +function mxShapeArrows2SharpArrow(bounds, fill, stroke, strokewidth) { |
474 | mxShape.call(this); | 431 | mxShape.call(this); |
475 | this.bounds = bounds; | 432 | this.bounds = bounds; |
476 | this.fill = fill; | 433 | this.fill = fill; |
@@ -488,14 +445,14 @@ function mxShapeArrows2SharpArrow(bounds, fill, stroke, strokewidth) | @@ -488,14 +445,14 @@ function mxShapeArrows2SharpArrow(bounds, fill, stroke, strokewidth) | ||
488 | mxUtils.extend(mxShapeArrows2SharpArrow, mxActor); | 445 | mxUtils.extend(mxShapeArrows2SharpArrow, mxActor); |
489 | 446 | ||
490 | mxShapeArrows2SharpArrow.prototype.cst = { | 447 | mxShapeArrows2SharpArrow.prototype.cst = { |
491 | - SHARP_ARROW : 'mxgraph.arrows2.sharpArrow' | 448 | + SHARP_ARROW: 'mxgraph.arrows2.sharpArrow' |
492 | }; | 449 | }; |
493 | 450 | ||
494 | mxShapeArrows2SharpArrow.prototype.customProperties = [ | 451 | mxShapeArrows2SharpArrow.prototype.customProperties = [ |
495 | - {name: 'dx1', dispName: 'Arrowhead Arrow Width', type: 'float', min:0, defVal:18}, | ||
496 | - {name: 'dy1', dispName: 'Arrow Arrow Width', type: 'float', min:0, max:1, defVal:0.67}, | ||
497 | - {name: 'dx2', dispName: 'Arrowhead Angle', type: 'float', min:0, defVal:18}, | ||
498 | - {name: 'notch', dispName: 'Notch', type: 'float', min:0, defVal:0} | 452 | + { name: 'dx1', dispName: 'Arrowhead Arrow Width', type: 'float', min: 0, defVal: 18 }, |
453 | + { name: 'dy1', dispName: 'Arrow Arrow Width', type: 'float', min: 0, max: 1, defVal: 0.67 }, | ||
454 | + { name: 'dx2', dispName: 'Arrowhead Angle', type: 'float', min: 0, defVal: 18 }, | ||
455 | + { name: 'notch', dispName: 'Notch', type: 'float', min: 0, defVal: 0 } | ||
499 | ]; | 456 | ]; |
500 | 457 | ||
501 | /** | 458 | /** |
@@ -503,8 +460,7 @@ mxShapeArrows2SharpArrow.prototype.customProperties = [ | @@ -503,8 +460,7 @@ mxShapeArrows2SharpArrow.prototype.customProperties = [ | ||
503 | * | 460 | * |
504 | * Paints the vertex shape. | 461 | * Paints the vertex shape. |
505 | */ | 462 | */ |
506 | -mxShapeArrows2SharpArrow.prototype.paintVertexShape = function(c, x, y, w, h) | ||
507 | -{ | 463 | +mxShapeArrows2SharpArrow.prototype.paintVertexShape = function (c, x, y, w, h) { |
508 | c.translate(x, y); | 464 | c.translate(x, y); |
509 | 465 | ||
510 | var dy1 = h * 0.5 * Math.max(0, Math.min(1, parseFloat(mxUtils.getValue(this.style, 'dy1', this.dy1)))); | 466 | var dy1 = h * 0.5 * Math.max(0, Math.min(1, parseFloat(mxUtils.getValue(this.style, 'dy1', this.dy1)))); |
@@ -514,12 +470,11 @@ mxShapeArrows2SharpArrow.prototype.paintVertexShape = function(c, x, y, w, h) | @@ -514,12 +470,11 @@ mxShapeArrows2SharpArrow.prototype.paintVertexShape = function(c, x, y, w, h) | ||
514 | var dx1a = Math.max(0, Math.min(w, parseFloat(mxUtils.getValue(this.style, 'dx1', this.dx1)))); | 470 | var dx1a = Math.max(0, Math.min(w, parseFloat(mxUtils.getValue(this.style, 'dx1', this.dx1)))); |
515 | var dy1a = h * 0.5 * Math.max(0, Math.min(h, parseFloat(mxUtils.getValue(this.style, 'dy1', this.dy1)))); | 471 | var dy1a = h * 0.5 * Math.max(0, Math.min(h, parseFloat(mxUtils.getValue(this.style, 'dy1', this.dy1)))); |
516 | var x2 = 0; | 472 | var x2 = 0; |
517 | - | ||
518 | - if (h != 0) | ||
519 | - { | 473 | + |
474 | + if (h != 0) { | ||
520 | x2 = dx1a + dx2 * dy1a * 2 / h; | 475 | x2 = dx1a + dx2 * dy1a * 2 / h; |
521 | } | 476 | } |
522 | - | 477 | + |
523 | c.begin(); | 478 | c.begin(); |
524 | c.moveTo(0, dy1); | 479 | c.moveTo(0, dy1); |
525 | c.lineTo(w - dx1, dy1); | 480 | c.lineTo(w - dx1, dy1); |
@@ -539,49 +494,41 @@ mxCellRenderer.registerShape(mxShapeArrows2SharpArrow.prototype.cst.SHARP_ARROW, | @@ -539,49 +494,41 @@ mxCellRenderer.registerShape(mxShapeArrows2SharpArrow.prototype.cst.SHARP_ARROW, | ||
539 | 494 | ||
540 | mxShapeArrows2SharpArrow.prototype.constraints = null; | 495 | mxShapeArrows2SharpArrow.prototype.constraints = null; |
541 | 496 | ||
542 | -Graph.handleFactory[mxShapeArrows2SharpArrow.prototype.cst.SHARP_ARROW] = function(state) | ||
543 | -{ | ||
544 | - var handles = [Graph.createHandle(state, ['dx1', 'dy1'], function(bounds) | ||
545 | - { | ||
546 | - var dx1 = Math.max(0, Math.min(bounds.width, parseFloat(mxUtils.getValue(this.state.style, 'dx1', this.dx1)))); | ||
547 | - var dy1 = Math.max(0, Math.min(1, parseFloat(mxUtils.getValue(this.state.style, 'dy1', this.dy1)))); | ||
548 | - | ||
549 | - return new mxPoint(bounds.x + bounds.width - dx1, bounds.y + dy1 * bounds.height / 2); | ||
550 | - }, function(bounds, pt) | ||
551 | - { | ||
552 | - this.state.style['dx1'] = Math.round(100 * Math.max(0, Math.min(bounds.width - parseFloat(mxUtils.getValue(this.state.style, 'notch', this.notch)), bounds.x + bounds.width - pt.x))) / 100; | ||
553 | - this.state.style['dy1'] = Math.round(100 * Math.max(0, Math.min(1, (((pt.y - bounds.y) / bounds.height) * 2)))) / 100; | ||
554 | - })]; | ||
555 | - | ||
556 | - var handle2 = Graph.createHandle(state, ['notch'], function(bounds) | ||
557 | - { | ||
558 | - var notch = Math.max(0, Math.min(bounds.width, parseFloat(mxUtils.getValue(this.state.style, 'notch', this.notch)))); | ||
559 | - | ||
560 | - return new mxPoint(bounds.x + notch, bounds.y + bounds.height / 2); | ||
561 | - }, function(bounds, pt) | ||
562 | - { | ||
563 | - this.state.style['notch'] = Math.round(100 * Math.max(0, Math.min(bounds.width - parseFloat(mxUtils.getValue(this.state.style, 'dx1', this.dx1)), pt.x - bounds.x))) / 100; | ||
564 | - }); | ||
565 | - | 497 | +Graph.handleFactory[mxShapeArrows2SharpArrow.prototype.cst.SHARP_ARROW] = function (state) { |
498 | + var handles = [Graph.createHandle(state, ['dx1', 'dy1'], function (bounds) { | ||
499 | + var dx1 = Math.max(0, Math.min(bounds.width, parseFloat(mxUtils.getValue(this.state.style, 'dx1', this.dx1)))); | ||
500 | + var dy1 = Math.max(0, Math.min(1, parseFloat(mxUtils.getValue(this.state.style, 'dy1', this.dy1)))); | ||
501 | + | ||
502 | + return new mxPoint(bounds.x + bounds.width - dx1, bounds.y + dy1 * bounds.height / 2); | ||
503 | + }, function (bounds, pt) { | ||
504 | + this.state.style['dx1'] = Math.round(100 * Math.max(0, Math.min(bounds.width - parseFloat(mxUtils.getValue(this.state.style, 'notch', this.notch)), bounds.x + bounds.width - pt.x))) / 100; | ||
505 | + this.state.style['dy1'] = Math.round(100 * Math.max(0, Math.min(1, (((pt.y - bounds.y) / bounds.height) * 2)))) / 100; | ||
506 | + })]; | ||
507 | + | ||
508 | + var handle2 = Graph.createHandle(state, ['notch'], function (bounds) { | ||
509 | + var notch = Math.max(0, Math.min(bounds.width, parseFloat(mxUtils.getValue(this.state.style, 'notch', this.notch)))); | ||
510 | + | ||
511 | + return new mxPoint(bounds.x + notch, bounds.y + bounds.height / 2); | ||
512 | + }, function (bounds, pt) { | ||
513 | + this.state.style['notch'] = Math.round(100 * Math.max(0, Math.min(bounds.width - parseFloat(mxUtils.getValue(this.state.style, 'dx1', this.dx1)), pt.x - bounds.x))) / 100; | ||
514 | + }); | ||
515 | + | ||
566 | handles.push(handle2); | 516 | handles.push(handle2); |
567 | - | ||
568 | - var handle3 = Graph.createHandle(state, ['dx2'], function(bounds) | ||
569 | - { | ||
570 | - var dx2 = Math.max(0, Math.min(bounds.width, parseFloat(mxUtils.getValue(this.state.style, 'dx2', this.dx2)))); | ||
571 | - | ||
572 | - return new mxPoint(bounds.x + bounds.width - dx2, bounds.y); | ||
573 | - }, function(bounds, pt) | ||
574 | - { | ||
575 | - this.state.style['dx2'] = Math.round(100 * Math.max(0, Math.min(bounds.width - parseFloat(mxUtils.getValue(this.state.style, 'notch', this.notch)), bounds.x + bounds.width - pt.x))) / 100; | ||
576 | - }); | ||
577 | - | 517 | + |
518 | + var handle3 = Graph.createHandle(state, ['dx2'], function (bounds) { | ||
519 | + var dx2 = Math.max(0, Math.min(bounds.width, parseFloat(mxUtils.getValue(this.state.style, 'dx2', this.dx2)))); | ||
520 | + | ||
521 | + return new mxPoint(bounds.x + bounds.width - dx2, bounds.y); | ||
522 | + }, function (bounds, pt) { | ||
523 | + this.state.style['dx2'] = Math.round(100 * Math.max(0, Math.min(bounds.width - parseFloat(mxUtils.getValue(this.state.style, 'notch', this.notch)), bounds.x + bounds.width - pt.x))) / 100; | ||
524 | + }); | ||
525 | + | ||
578 | handles.push(handle3); | 526 | handles.push(handle3); |
579 | - | 527 | + |
580 | return handles; | 528 | return handles; |
581 | }; | 529 | }; |
582 | 530 | ||
583 | -mxShapeArrows2SharpArrow.prototype.getConstraints = function(style, w, h) | ||
584 | -{ | 531 | +mxShapeArrows2SharpArrow.prototype.getConstraints = function (style, w, h) { |
585 | var constr = []; | 532 | var constr = []; |
586 | var dy1 = h * 0.5 * Math.max(0, Math.min(1, parseFloat(mxUtils.getValue(this.style, 'dy1', this.dy1)))); | 533 | var dy1 = h * 0.5 * Math.max(0, Math.min(1, parseFloat(mxUtils.getValue(this.style, 'dy1', this.dy1)))); |
587 | var dx1 = Math.max(0, Math.min(w, parseFloat(mxUtils.getValue(this.style, 'dx1', this.dx1)))); | 534 | var dx1 = Math.max(0, Math.min(w, parseFloat(mxUtils.getValue(this.style, 'dx1', this.dx1)))); |
@@ -590,12 +537,11 @@ mxShapeArrows2SharpArrow.prototype.getConstraints = function(style, w, h) | @@ -590,12 +537,11 @@ mxShapeArrows2SharpArrow.prototype.getConstraints = function(style, w, h) | ||
590 | var dx1a = Math.max(0, Math.min(w, parseFloat(mxUtils.getValue(this.style, 'dx1', this.dx1)))); | 537 | var dx1a = Math.max(0, Math.min(w, parseFloat(mxUtils.getValue(this.style, 'dx1', this.dx1)))); |
591 | var dy1a = h * 0.5 * Math.max(0, Math.min(h, parseFloat(mxUtils.getValue(this.style, 'dy1', this.dy1)))); | 538 | var dy1a = h * 0.5 * Math.max(0, Math.min(h, parseFloat(mxUtils.getValue(this.style, 'dy1', this.dy1)))); |
592 | var x2 = 0; | 539 | var x2 = 0; |
593 | - | ||
594 | - if (h != 0) | ||
595 | - { | 540 | + |
541 | + if (h != 0) { | ||
596 | x2 = dx1a + dx2 * dy1a * 2 / h; | 542 | x2 = dx1a + dx2 * dy1a * 2 / h; |
597 | } | 543 | } |
598 | - | 544 | + |
599 | constr.push(new mxConnectionConstraint(new mxPoint(1, 0.5), false)); | 545 | constr.push(new mxConnectionConstraint(new mxPoint(1, 0.5), false)); |
600 | constr.push(new mxConnectionConstraint(new mxPoint(0, 0.5), false, null, notch, 0)); | 546 | constr.push(new mxConnectionConstraint(new mxPoint(0, 0.5), false, null, notch, 0)); |
601 | constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, 0, dy1)); | 547 | constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, 0, dy1)); |
@@ -618,8 +564,7 @@ mxShapeArrows2SharpArrow.prototype.getConstraints = function(style, w, h) | @@ -618,8 +564,7 @@ mxShapeArrows2SharpArrow.prototype.getConstraints = function(style, w, h) | ||
618 | /** | 564 | /** |
619 | * Extends mxShape. | 565 | * Extends mxShape. |
620 | */ | 566 | */ |
621 | -function mxShapeArrows2SharpArrow2(bounds, fill, stroke, strokewidth) | ||
622 | -{ | 567 | +function mxShapeArrows2SharpArrow2(bounds, fill, stroke, strokewidth) { |
623 | mxShape.call(this); | 568 | mxShape.call(this); |
624 | this.bounds = bounds; | 569 | this.bounds = bounds; |
625 | this.fill = fill; | 570 | this.fill = fill; |
@@ -640,16 +585,16 @@ function mxShapeArrows2SharpArrow2(bounds, fill, stroke, strokewidth) | @@ -640,16 +585,16 @@ function mxShapeArrows2SharpArrow2(bounds, fill, stroke, strokewidth) | ||
640 | mxUtils.extend(mxShapeArrows2SharpArrow2, mxActor); | 585 | mxUtils.extend(mxShapeArrows2SharpArrow2, mxActor); |
641 | 586 | ||
642 | mxShapeArrows2SharpArrow2.prototype.customProperties = [ | 587 | mxShapeArrows2SharpArrow2.prototype.customProperties = [ |
643 | - {name: 'dx1', dispName: 'Arrowhead Arrow Width', type: 'float', min:0, defVal:18}, | ||
644 | - {name: 'dy1', dispName: 'Arrow Width', type: 'float', min:0, max:1, defVal:0.67}, | ||
645 | - {name: 'dx2', dispName: 'Arrowhead Angle', type: 'float', min:0, defVal:18}, | ||
646 | - {name: 'dx3', dispName: 'Arrowhead Edge X', type: 'float', min:0, defVal:27}, | ||
647 | - {name: 'dy3', dispName: 'Arrowhead Edge Y', type: 'float', min:0, max:1, defVal:0.15}, | ||
648 | - {name: 'notch', dispName: 'Notch', type: 'float', min:0, defVal:0} | 588 | + { name: 'dx1', dispName: 'Arrowhead Arrow Width', type: 'float', min: 0, defVal: 18 }, |
589 | + { name: 'dy1', dispName: 'Arrow Width', type: 'float', min: 0, max: 1, defVal: 0.67 }, | ||
590 | + { name: 'dx2', dispName: 'Arrowhead Angle', type: 'float', min: 0, defVal: 18 }, | ||
591 | + { name: 'dx3', dispName: 'Arrowhead Edge X', type: 'float', min: 0, defVal: 27 }, | ||
592 | + { name: 'dy3', dispName: 'Arrowhead Edge Y', type: 'float', min: 0, max: 1, defVal: 0.15 }, | ||
593 | + { name: 'notch', dispName: 'Notch', type: 'float', min: 0, defVal: 0 } | ||
649 | ]; | 594 | ]; |
650 | 595 | ||
651 | mxShapeArrows2SharpArrow2.prototype.cst = { | 596 | mxShapeArrows2SharpArrow2.prototype.cst = { |
652 | - SHARP_ARROW2 : 'mxgraph.arrows2.sharpArrow2' | 597 | + SHARP_ARROW2: 'mxgraph.arrows2.sharpArrow2' |
653 | }; | 598 | }; |
654 | 599 | ||
655 | /** | 600 | /** |
@@ -657,8 +602,7 @@ mxShapeArrows2SharpArrow2.prototype.cst = { | @@ -657,8 +602,7 @@ mxShapeArrows2SharpArrow2.prototype.cst = { | ||
657 | * | 602 | * |
658 | * Paints the vertex shape. | 603 | * Paints the vertex shape. |
659 | */ | 604 | */ |
660 | -mxShapeArrows2SharpArrow2.prototype.paintVertexShape = function(c, x, y, w, h) | ||
661 | -{ | 605 | +mxShapeArrows2SharpArrow2.prototype.paintVertexShape = function (c, x, y, w, h) { |
662 | c.translate(x, y); | 606 | c.translate(x, y); |
663 | 607 | ||
664 | var dy1 = h * 0.5 * Math.max(0, Math.min(1, parseFloat(mxUtils.getValue(this.style, 'dy1', this.dy1)))); | 608 | var dy1 = h * 0.5 * Math.max(0, Math.min(1, parseFloat(mxUtils.getValue(this.style, 'dy1', this.dy1)))); |
@@ -689,63 +633,53 @@ mxCellRenderer.registerShape(mxShapeArrows2SharpArrow2.prototype.cst.SHARP_ARROW | @@ -689,63 +633,53 @@ mxCellRenderer.registerShape(mxShapeArrows2SharpArrow2.prototype.cst.SHARP_ARROW | ||
689 | 633 | ||
690 | mxShapeArrows2SharpArrow2.prototype.constraints = null; | 634 | mxShapeArrows2SharpArrow2.prototype.constraints = null; |
691 | 635 | ||
692 | -Graph.handleFactory[mxShapeArrows2SharpArrow2.prototype.cst.SHARP_ARROW2] = function(state) | ||
693 | -{ | ||
694 | - var handles = [Graph.createHandle(state, ['dx1', 'dy1'], function(bounds) | ||
695 | - { | ||
696 | - var dx1 = Math.max(0, Math.min(bounds.width, parseFloat(mxUtils.getValue(this.state.style, 'dx1', this.dx1)))); | ||
697 | - var dy1 = Math.max(0, Math.min(1, parseFloat(mxUtils.getValue(this.state.style, 'dy1', this.dy1)))); | ||
698 | - | ||
699 | - return new mxPoint(bounds.x + bounds.width - dx1, bounds.y + dy1 * bounds.height / 2); | ||
700 | - }, function(bounds, pt) | ||
701 | - { | ||
702 | - this.state.style['dx1'] = Math.round(100 * Math.max(0, Math.min(bounds.width - parseFloat(mxUtils.getValue(this.state.style, 'notch', this.notch)), bounds.x + bounds.width - pt.x))) / 100; | ||
703 | - this.state.style['dy1'] = Math.round(100 * Math.max(0, Math.min(1, (((pt.y - bounds.y) / bounds.height) * 2)))) / 100; | ||
704 | - })]; | ||
705 | - | ||
706 | - var handle2 = Graph.createHandle(state, ['notch'], function(bounds) | ||
707 | - { | ||
708 | - var notch = Math.max(0, Math.min(bounds.width, parseFloat(mxUtils.getValue(this.state.style, 'notch', this.notch)))); | ||
709 | - | ||
710 | - return new mxPoint(bounds.x + notch, bounds.y + bounds.height / 2); | ||
711 | - }, function(bounds, pt) | ||
712 | - { | ||
713 | - this.state.style['notch'] = Math.round(100 * Math.max(0, Math.min(bounds.width - parseFloat(mxUtils.getValue(this.state.style, 'dx1', this.dx1)), pt.x - bounds.x))) / 100; | ||
714 | - }); | ||
715 | - | 636 | +Graph.handleFactory[mxShapeArrows2SharpArrow2.prototype.cst.SHARP_ARROW2] = function (state) { |
637 | + var handles = [Graph.createHandle(state, ['dx1', 'dy1'], function (bounds) { | ||
638 | + var dx1 = Math.max(0, Math.min(bounds.width, parseFloat(mxUtils.getValue(this.state.style, 'dx1', this.dx1)))); | ||
639 | + var dy1 = Math.max(0, Math.min(1, parseFloat(mxUtils.getValue(this.state.style, 'dy1', this.dy1)))); | ||
640 | + | ||
641 | + return new mxPoint(bounds.x + bounds.width - dx1, bounds.y + dy1 * bounds.height / 2); | ||
642 | + }, function (bounds, pt) { | ||
643 | + this.state.style['dx1'] = Math.round(100 * Math.max(0, Math.min(bounds.width - parseFloat(mxUtils.getValue(this.state.style, 'notch', this.notch)), bounds.x + bounds.width - pt.x))) / 100; | ||
644 | + this.state.style['dy1'] = Math.round(100 * Math.max(0, Math.min(1, (((pt.y - bounds.y) / bounds.height) * 2)))) / 100; | ||
645 | + })]; | ||
646 | + | ||
647 | + var handle2 = Graph.createHandle(state, ['notch'], function (bounds) { | ||
648 | + var notch = Math.max(0, Math.min(bounds.width, parseFloat(mxUtils.getValue(this.state.style, 'notch', this.notch)))); | ||
649 | + | ||
650 | + return new mxPoint(bounds.x + notch, bounds.y + bounds.height / 2); | ||
651 | + }, function (bounds, pt) { | ||
652 | + this.state.style['notch'] = Math.round(100 * Math.max(0, Math.min(bounds.width - parseFloat(mxUtils.getValue(this.state.style, 'dx1', this.dx1)), pt.x - bounds.x))) / 100; | ||
653 | + }); | ||
654 | + | ||
716 | handles.push(handle2); | 655 | handles.push(handle2); |
717 | - | ||
718 | - var handle3 = Graph.createHandle(state, ['dx2'], function(bounds) | ||
719 | - { | ||
720 | - var dx2 = Math.max(0, Math.min(bounds.width, parseFloat(mxUtils.getValue(this.state.style, 'dx2', this.dx2)))); | ||
721 | - | ||
722 | - return new mxPoint(bounds.x + bounds.width - dx2, bounds.y); | ||
723 | - }, function(bounds, pt) | ||
724 | - { | ||
725 | - this.state.style['dx2'] = Math.round(100 * Math.max(0, Math.min(bounds.width - parseFloat(mxUtils.getValue(this.state.style, 'notch', this.notch)), bounds.x + bounds.width - pt.x))) / 100; | ||
726 | - }); | ||
727 | - | 656 | + |
657 | + var handle3 = Graph.createHandle(state, ['dx2'], function (bounds) { | ||
658 | + var dx2 = Math.max(0, Math.min(bounds.width, parseFloat(mxUtils.getValue(this.state.style, 'dx2', this.dx2)))); | ||
659 | + | ||
660 | + return new mxPoint(bounds.x + bounds.width - dx2, bounds.y); | ||
661 | + }, function (bounds, pt) { | ||
662 | + this.state.style['dx2'] = Math.round(100 * Math.max(0, Math.min(bounds.width - parseFloat(mxUtils.getValue(this.state.style, 'notch', this.notch)), bounds.x + bounds.width - pt.x))) / 100; | ||
663 | + }); | ||
664 | + | ||
728 | handles.push(handle3); | 665 | handles.push(handle3); |
729 | 666 | ||
730 | - var handle4 = Graph.createHandle(state, ['dx3', 'dy3'], function(bounds) | ||
731 | - { | ||
732 | - var dx3 = Math.max(0, Math.min(bounds.width, parseFloat(mxUtils.getValue(this.state.style, 'dx3', this.dx3)))); | ||
733 | - var dy3 = Math.max(0, Math.min(1 - parseFloat(mxUtils.getValue(this.state.style, 'dy1', this.dy1)) / 2, parseFloat(mxUtils.getValue(this.state.style, 'dy3', this.dy3)))); | 667 | + var handle4 = Graph.createHandle(state, ['dx3', 'dy3'], function (bounds) { |
668 | + var dx3 = Math.max(0, Math.min(bounds.width, parseFloat(mxUtils.getValue(this.state.style, 'dx3', this.dx3)))); | ||
669 | + var dy3 = Math.max(0, Math.min(1 - parseFloat(mxUtils.getValue(this.state.style, 'dy1', this.dy1)) / 2, parseFloat(mxUtils.getValue(this.state.style, 'dy3', this.dy3)))); | ||
734 | 670 | ||
735 | - return new mxPoint(bounds.x + bounds.width - dx3, bounds.y + dy3 * bounds.height / 2); | ||
736 | - }, function(bounds, pt) | ||
737 | - { | ||
738 | - this.state.style['dx3'] = Math.round(100 * Math.max(parseFloat(mxUtils.getValue(this.state.style, 'dx2', this.dx2)), Math.min(bounds.width, bounds.x + bounds.width - pt.x))) / 100; | ||
739 | - this.state.style['dy3'] = Math.round(100 * Math.max(0, Math.min(parseFloat(mxUtils.getValue(this.state.style, 'dy1', this.dy1)), (((pt.y - bounds.y) / bounds.height) * 2)))) / 100; | ||
740 | - }); | 671 | + return new mxPoint(bounds.x + bounds.width - dx3, bounds.y + dy3 * bounds.height / 2); |
672 | + }, function (bounds, pt) { | ||
673 | + this.state.style['dx3'] = Math.round(100 * Math.max(parseFloat(mxUtils.getValue(this.state.style, 'dx2', this.dx2)), Math.min(bounds.width, bounds.x + bounds.width - pt.x))) / 100; | ||
674 | + this.state.style['dy3'] = Math.round(100 * Math.max(0, Math.min(parseFloat(mxUtils.getValue(this.state.style, 'dy1', this.dy1)), (((pt.y - bounds.y) / bounds.height) * 2)))) / 100; | ||
675 | + }); | ||
741 | 676 | ||
742 | handles.push(handle4); | 677 | handles.push(handle4); |
743 | 678 | ||
744 | return handles; | 679 | return handles; |
745 | }; | 680 | }; |
746 | 681 | ||
747 | -mxShapeArrows2SharpArrow2.prototype.getConstraints = function(style, w, h) | ||
748 | -{ | 682 | +mxShapeArrows2SharpArrow2.prototype.getConstraints = function (style, w, h) { |
749 | var constr = []; | 683 | var constr = []; |
750 | var dy1 = h * 0.5 * Math.max(0, Math.min(1, parseFloat(mxUtils.getValue(this.style, 'dy1', this.dy1)))); | 684 | var dy1 = h * 0.5 * Math.max(0, Math.min(1, parseFloat(mxUtils.getValue(this.style, 'dy1', this.dy1)))); |
751 | var dx1 = Math.max(0, Math.min(w, parseFloat(mxUtils.getValue(this.style, 'dx1', this.dx1)))); | 685 | var dx1 = Math.max(0, Math.min(w, parseFloat(mxUtils.getValue(this.style, 'dx1', this.dx1)))); |
@@ -778,8 +712,7 @@ mxShapeArrows2SharpArrow2.prototype.getConstraints = function(style, w, h) | @@ -778,8 +712,7 @@ mxShapeArrows2SharpArrow2.prototype.getConstraints = function(style, w, h) | ||
778 | /** | 712 | /** |
779 | * Extends mxShape. | 713 | * Extends mxShape. |
780 | */ | 714 | */ |
781 | -function mxShapeArrows2CalloutArrow(bounds, fill, stroke, strokewidth) | ||
782 | -{ | 715 | +function mxShapeArrows2CalloutArrow(bounds, fill, stroke, strokewidth) { |
783 | mxShape.call(this); | 716 | mxShape.call(this); |
784 | this.bounds = bounds; | 717 | this.bounds = bounds; |
785 | this.fill = fill; | 718 | this.fill = fill; |
@@ -797,14 +730,14 @@ function mxShapeArrows2CalloutArrow(bounds, fill, stroke, strokewidth) | @@ -797,14 +730,14 @@ function mxShapeArrows2CalloutArrow(bounds, fill, stroke, strokewidth) | ||
797 | mxUtils.extend(mxShapeArrows2CalloutArrow, mxActor); | 730 | mxUtils.extend(mxShapeArrows2CalloutArrow, mxActor); |
798 | 731 | ||
799 | mxShapeArrows2CalloutArrow.prototype.customProperties = [ | 732 | mxShapeArrows2CalloutArrow.prototype.customProperties = [ |
800 | - {name: 'dx', dispName: 'Arrowhead Length', type: 'float', min:0, defVal:20}, | ||
801 | - {name: 'arrowHead', dispName: 'Arrowhead Width', type: 'float', min:0, defVal:10}, | ||
802 | - {name: 'dy', dispName: 'Arrow Width', type: 'float', min:0, defVal:10}, | ||
803 | - {name: 'notch', dispName: 'Rectangle Width', type: 'float', min:0, defVal:60} | 733 | + { name: 'dx', dispName: 'Arrowhead Length', type: 'float', min: 0, defVal: 20 }, |
734 | + { name: 'arrowHead', dispName: 'Arrowhead Width', type: 'float', min: 0, defVal: 10 }, | ||
735 | + { name: 'dy', dispName: 'Arrow Width', type: 'float', min: 0, defVal: 10 }, | ||
736 | + { name: 'notch', dispName: 'Rectangle Width', type: 'float', min: 0, defVal: 60 } | ||
804 | ]; | 737 | ]; |
805 | 738 | ||
806 | mxShapeArrows2CalloutArrow.prototype.cst = { | 739 | mxShapeArrows2CalloutArrow.prototype.cst = { |
807 | - CALLOUT_ARROW : 'mxgraph.arrows2.calloutArrow' | 740 | + CALLOUT_ARROW: 'mxgraph.arrows2.calloutArrow' |
808 | }; | 741 | }; |
809 | 742 | ||
810 | /** | 743 | /** |
@@ -812,8 +745,7 @@ mxShapeArrows2CalloutArrow.prototype.cst = { | @@ -812,8 +745,7 @@ mxShapeArrows2CalloutArrow.prototype.cst = { | ||
812 | * | 745 | * |
813 | * Paints the vertex shape. | 746 | * Paints the vertex shape. |
814 | */ | 747 | */ |
815 | -mxShapeArrows2CalloutArrow.prototype.paintVertexShape = function(c, x, y, w, h) | ||
816 | -{ | 748 | +mxShapeArrows2CalloutArrow.prototype.paintVertexShape = function (c, x, y, w, h) { |
817 | c.translate(x, y); | 749 | c.translate(x, y); |
818 | 750 | ||
819 | var dy = Math.max(0, Math.min(h, parseFloat(mxUtils.getValue(this.style, 'dy', this.dy)))); | 751 | var dy = Math.max(0, Math.min(h, parseFloat(mxUtils.getValue(this.style, 'dy', this.dy)))); |
@@ -841,53 +773,45 @@ mxCellRenderer.registerShape(mxShapeArrows2CalloutArrow.prototype.cst.CALLOUT_AR | @@ -841,53 +773,45 @@ mxCellRenderer.registerShape(mxShapeArrows2CalloutArrow.prototype.cst.CALLOUT_AR | ||
841 | 773 | ||
842 | mxShapeArrows2CalloutArrow.prototype.constraints = null; | 774 | mxShapeArrows2CalloutArrow.prototype.constraints = null; |
843 | 775 | ||
844 | -Graph.handleFactory[mxShapeArrows2CalloutArrow.prototype.cst.CALLOUT_ARROW] = function(state) | ||
845 | -{ | ||
846 | - var handles = [Graph.createHandle(state, ['dx', 'dy'], function(bounds) | ||
847 | - { | ||
848 | - var arrowHead = Math.max(0, Math.min(bounds.height / 2, parseFloat(mxUtils.getValue(this.state.style, 'arrowHead', this.arrowHead)))); | ||
849 | - var dx = Math.max(0, Math.min(bounds.width, parseFloat(mxUtils.getValue(this.state.style, 'dx', this.dx)))); | ||
850 | - var dy = Math.max(0, Math.min(bounds.height / 2 - arrowHead, parseFloat(mxUtils.getValue(this.state.style, 'dy', this.dy)))); | ||
851 | - | ||
852 | - return new mxPoint(bounds.x + bounds.width - dx, bounds.y + bounds.height / 2 - dy); | ||
853 | - }, function(bounds, pt) | ||
854 | - { | ||
855 | - this.state.style['dx'] = Math.round(100 * Math.max(0, Math.min(bounds.width - parseFloat(mxUtils.getValue(this.state.style, 'notch', this.notch)), bounds.x + bounds.width - pt.x))) / 100; | ||
856 | - this.state.style['dy'] = Math.round(100 * Math.max(0, Math.min(bounds.height / 2 - parseFloat(mxUtils.getValue(this.state.style, 'arrowHead', this.arrowHead)), bounds.y + bounds.height / 2 - pt.y))) / 100; | ||
857 | - | ||
858 | - })]; | ||
859 | - | ||
860 | - var handle2 = Graph.createHandle(state, ['notch'], function(bounds) | ||
861 | - { | ||
862 | - var notch = Math.max(0, Math.min(bounds.width, parseFloat(mxUtils.getValue(this.state.style, 'notch', this.notch)))); | ||
863 | - | ||
864 | - return new mxPoint(bounds.x + notch, bounds.y + bounds.height / 2); | ||
865 | - }, function(bounds, pt) | ||
866 | - { | ||
867 | - this.state.style['notch'] = Math.round(100 * Math.max(0, Math.min(bounds.width - parseFloat(mxUtils.getValue(this.state.style, 'dx', this.dx)), pt.x - bounds.x))) / 100; | ||
868 | - }); | 776 | +Graph.handleFactory[mxShapeArrows2CalloutArrow.prototype.cst.CALLOUT_ARROW] = function (state) { |
777 | + var handles = [Graph.createHandle(state, ['dx', 'dy'], function (bounds) { | ||
778 | + var arrowHead = Math.max(0, Math.min(bounds.height / 2, parseFloat(mxUtils.getValue(this.state.style, 'arrowHead', this.arrowHead)))); | ||
779 | + var dx = Math.max(0, Math.min(bounds.width, parseFloat(mxUtils.getValue(this.state.style, 'dx', this.dx)))); | ||
780 | + var dy = Math.max(0, Math.min(bounds.height / 2 - arrowHead, parseFloat(mxUtils.getValue(this.state.style, 'dy', this.dy)))); | ||
781 | + | ||
782 | + return new mxPoint(bounds.x + bounds.width - dx, bounds.y + bounds.height / 2 - dy); | ||
783 | + }, function (bounds, pt) { | ||
784 | + this.state.style['dx'] = Math.round(100 * Math.max(0, Math.min(bounds.width - parseFloat(mxUtils.getValue(this.state.style, 'notch', this.notch)), bounds.x + bounds.width - pt.x))) / 100; | ||
785 | + this.state.style['dy'] = Math.round(100 * Math.max(0, Math.min(bounds.height / 2 - parseFloat(mxUtils.getValue(this.state.style, 'arrowHead', this.arrowHead)), bounds.y + bounds.height / 2 - pt.y))) / 100; | ||
786 | + | ||
787 | + })]; | ||
788 | + | ||
789 | + var handle2 = Graph.createHandle(state, ['notch'], function (bounds) { | ||
790 | + var notch = Math.max(0, Math.min(bounds.width, parseFloat(mxUtils.getValue(this.state.style, 'notch', this.notch)))); | ||
791 | + | ||
792 | + return new mxPoint(bounds.x + notch, bounds.y + bounds.height / 2); | ||
793 | + }, function (bounds, pt) { | ||
794 | + this.state.style['notch'] = Math.round(100 * Math.max(0, Math.min(bounds.width - parseFloat(mxUtils.getValue(this.state.style, 'dx', this.dx)), pt.x - bounds.x))) / 100; | ||
795 | + }); | ||
869 | 796 | ||
870 | handles.push(handle2); | 797 | handles.push(handle2); |
871 | - | ||
872 | - var handle3 = Graph.createHandle(state, ['arrowHead'], function(bounds) | ||
873 | - { | ||
874 | - var dx = Math.max(0, Math.min(bounds.width, parseFloat(mxUtils.getValue(this.state.style, 'dx', this.dx)))); | ||
875 | - var dy = Math.max(0, Math.min(bounds.height / 2, parseFloat(mxUtils.getValue(this.state.style, 'dy', this.dy)))); | ||
876 | - var arrowHead = Math.max(0, Math.min(bounds.height / 2, parseFloat(mxUtils.getValue(this.state.style, 'arrowHead', this.arrowHead)))); | ||
877 | - | ||
878 | - return new mxPoint(bounds.x + bounds.width - dx, bounds.y + bounds.height / 2 - dy - arrowHead); | ||
879 | - }, function(bounds, pt) | ||
880 | - { | ||
881 | - this.state.style['arrowHead'] = Math.round(100 * Math.max(0, Math.min(bounds.height / 2 - parseFloat(mxUtils.getValue(this.state.style, 'dy', this.dy)), bounds.y + bounds.height / 2 - parseFloat(mxUtils.getValue(this.state.style, 'dy', this.dy)) - pt.y))) / 100; | ||
882 | - }); | 798 | + |
799 | + var handle3 = Graph.createHandle(state, ['arrowHead'], function (bounds) { | ||
800 | + var dx = Math.max(0, Math.min(bounds.width, parseFloat(mxUtils.getValue(this.state.style, 'dx', this.dx)))); | ||
801 | + var dy = Math.max(0, Math.min(bounds.height / 2, parseFloat(mxUtils.getValue(this.state.style, 'dy', this.dy)))); | ||
802 | + var arrowHead = Math.max(0, Math.min(bounds.height / 2, parseFloat(mxUtils.getValue(this.state.style, 'arrowHead', this.arrowHead)))); | ||
803 | + | ||
804 | + return new mxPoint(bounds.x + bounds.width - dx, bounds.y + bounds.height / 2 - dy - arrowHead); | ||
805 | + }, function (bounds, pt) { | ||
806 | + this.state.style['arrowHead'] = Math.round(100 * Math.max(0, Math.min(bounds.height / 2 - parseFloat(mxUtils.getValue(this.state.style, 'dy', this.dy)), bounds.y + bounds.height / 2 - parseFloat(mxUtils.getValue(this.state.style, 'dy', this.dy)) - pt.y))) / 100; | ||
807 | + }); | ||
883 | 808 | ||
884 | handles.push(handle3); | 809 | handles.push(handle3); |
885 | - | 810 | + |
886 | return handles; | 811 | return handles; |
887 | }; | 812 | }; |
888 | 813 | ||
889 | -mxShapeArrows2CalloutArrow.prototype.getConstraints = function(style, w, h) | ||
890 | -{ | 814 | +mxShapeArrows2CalloutArrow.prototype.getConstraints = function (style, w, h) { |
891 | var constr = []; | 815 | var constr = []; |
892 | var dy = Math.max(0, Math.min(h, parseFloat(mxUtils.getValue(this.style, 'dy', this.dy)))); | 816 | var dy = Math.max(0, Math.min(h, parseFloat(mxUtils.getValue(this.style, 'dy', this.dy)))); |
893 | var dx = Math.max(0, Math.min(w, parseFloat(mxUtils.getValue(this.style, 'dx', this.dx)))); | 817 | var dx = Math.max(0, Math.min(w, parseFloat(mxUtils.getValue(this.style, 'dx', this.dx)))); |
@@ -896,7 +820,7 @@ mxShapeArrows2CalloutArrow.prototype.getConstraints = function(style, w, h) | @@ -896,7 +820,7 @@ mxShapeArrows2CalloutArrow.prototype.getConstraints = function(style, w, h) | ||
896 | 820 | ||
897 | constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false)); | 821 | constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false)); |
898 | constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, notch, 0)); | 822 | constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, notch, 0)); |
899 | - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null,notch, h * 0.5 - dy)); | 823 | + constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, notch, h * 0.5 - dy)); |
900 | constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w - dx, h * 0.5 - dy)); | 824 | constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w - dx, h * 0.5 - dy)); |
901 | constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w - dx, h * 0.5 - dy - arrowHead)); | 825 | constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w - dx, h * 0.5 - dy - arrowHead)); |
902 | constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w, h * 0.5)); | 826 | constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w, h * 0.5)); |
@@ -905,8 +829,8 @@ mxShapeArrows2CalloutArrow.prototype.getConstraints = function(style, w, h) | @@ -905,8 +829,8 @@ mxShapeArrows2CalloutArrow.prototype.getConstraints = function(style, w, h) | ||
905 | constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, notch, h * 0.5 + dy)); | 829 | constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, notch, h * 0.5 + dy)); |
906 | constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, notch, h)); | 830 | constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, notch, h)); |
907 | constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, 0, h)); | 831 | constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, 0, h)); |
908 | - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, notch * 0.5 , 0)); | ||
909 | - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, notch * 0.5 , h)); | 832 | + constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, notch * 0.5, 0)); |
833 | + constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, notch * 0.5, h)); | ||
910 | constr.push(new mxConnectionConstraint(new mxPoint(0, 0.5), false, null, (notch + w - dx) * 0.5, -dy)); | 834 | constr.push(new mxConnectionConstraint(new mxPoint(0, 0.5), false, null, (notch + w - dx) * 0.5, -dy)); |
911 | constr.push(new mxConnectionConstraint(new mxPoint(0, 0.5), false, null, (notch + w - dx) * 0.5, dy)); | 835 | constr.push(new mxConnectionConstraint(new mxPoint(0, 0.5), false, null, (notch + w - dx) * 0.5, dy)); |
912 | 836 | ||
@@ -919,8 +843,7 @@ mxShapeArrows2CalloutArrow.prototype.getConstraints = function(style, w, h) | @@ -919,8 +843,7 @@ mxShapeArrows2CalloutArrow.prototype.getConstraints = function(style, w, h) | ||
919 | /** | 843 | /** |
920 | * Extends mxShape. | 844 | * Extends mxShape. |
921 | */ | 845 | */ |
922 | -function mxShapeArrows2BendArrow(bounds, fill, stroke, strokewidth) | ||
923 | -{ | 846 | +function mxShapeArrows2BendArrow(bounds, fill, stroke, strokewidth) { |
924 | mxShape.call(this); | 847 | mxShape.call(this); |
925 | this.bounds = bounds; | 848 | this.bounds = bounds; |
926 | this.fill = fill; | 849 | this.fill = fill; |
@@ -938,15 +861,15 @@ function mxShapeArrows2BendArrow(bounds, fill, stroke, strokewidth) | @@ -938,15 +861,15 @@ function mxShapeArrows2BendArrow(bounds, fill, stroke, strokewidth) | ||
938 | mxUtils.extend(mxShapeArrows2BendArrow, mxActor); | 861 | mxUtils.extend(mxShapeArrows2BendArrow, mxActor); |
939 | 862 | ||
940 | mxShapeArrows2BendArrow.prototype.customProperties = [ | 863 | mxShapeArrows2BendArrow.prototype.customProperties = [ |
941 | - {name: 'dx', dispName: 'Arrowhead Length', type: 'float', min:0, defVal: 38}, | ||
942 | - {name: 'dy', dispName: 'Arrow Width', type: 'float', min:0, defVal: 15}, | ||
943 | - {name: 'notch', dispName: 'Notch', type: 'float', min:0, defVal: 0}, | ||
944 | - {name: 'arrowHead', dispName: 'Arrowhead Width', type: 'float', min:0, defVal:55}, | ||
945 | - {name: 'rounded', dispName: 'Rounded', type: 'boolean', defVal: false} | 864 | + { name: 'dx', dispName: 'Arrowhead Length', type: 'float', min: 0, defVal: 38 }, |
865 | + { name: 'dy', dispName: 'Arrow Width', type: 'float', min: 0, defVal: 15 }, | ||
866 | + { name: 'notch', dispName: 'Notch', type: 'float', min: 0, defVal: 0 }, | ||
867 | + { name: 'arrowHead', dispName: 'Arrowhead Width', type: 'float', min: 0, defVal: 55 }, | ||
868 | + { name: 'rounded', dispName: 'Rounded', type: 'boolean', defVal: false } | ||
946 | ]; | 869 | ]; |
947 | 870 | ||
948 | mxShapeArrows2BendArrow.prototype.cst = { | 871 | mxShapeArrows2BendArrow.prototype.cst = { |
949 | - BEND_ARROW : 'mxgraph.arrows2.bendArrow' | 872 | + BEND_ARROW: 'mxgraph.arrows2.bendArrow' |
950 | }; | 873 | }; |
951 | 874 | ||
952 | /** | 875 | /** |
@@ -954,8 +877,7 @@ mxShapeArrows2BendArrow.prototype.cst = { | @@ -954,8 +877,7 @@ mxShapeArrows2BendArrow.prototype.cst = { | ||
954 | * | 877 | * |
955 | * Paints the vertex shape. | 878 | * Paints the vertex shape. |
956 | */ | 879 | */ |
957 | -mxShapeArrows2BendArrow.prototype.paintVertexShape = function(c, x, y, w, h) | ||
958 | -{ | 880 | +mxShapeArrows2BendArrow.prototype.paintVertexShape = function (c, x, y, w, h) { |
959 | c.translate(x, y); | 881 | c.translate(x, y); |
960 | 882 | ||
961 | var dy = Math.max(0, Math.min(h, parseFloat(mxUtils.getValue(this.style, 'dy', this.dy)))); | 883 | var dy = Math.max(0, Math.min(h, parseFloat(mxUtils.getValue(this.style, 'dy', this.dy)))); |
@@ -969,28 +891,24 @@ mxShapeArrows2BendArrow.prototype.paintVertexShape = function(c, x, y, w, h) | @@ -969,28 +891,24 @@ mxShapeArrows2BendArrow.prototype.paintVertexShape = function(c, x, y, w, h) | ||
969 | c.lineTo(w, arrowHead * 0.5); | 891 | c.lineTo(w, arrowHead * 0.5); |
970 | c.lineTo(w - dx, arrowHead); | 892 | c.lineTo(w - dx, arrowHead); |
971 | c.lineTo(w - dx, arrowHead / 2 + dy); | 893 | c.lineTo(w - dx, arrowHead / 2 + dy); |
972 | - | ||
973 | - if (rounded == '1') | ||
974 | - { | 894 | + |
895 | + if (rounded == '1') { | ||
975 | c.lineTo(dy * 2.2, arrowHead / 2 + dy); | 896 | c.lineTo(dy * 2.2, arrowHead / 2 + dy); |
976 | c.arcTo(dy * 0.2, dy * 0.2, 0, 0, 0, dy * 2, arrowHead / 2 + dy * 1.2); | 897 | c.arcTo(dy * 0.2, dy * 0.2, 0, 0, 0, dy * 2, arrowHead / 2 + dy * 1.2); |
977 | } | 898 | } |
978 | - else | ||
979 | - { | 899 | + else { |
980 | c.lineTo(dy * 2, arrowHead / 2 + dy); | 900 | c.lineTo(dy * 2, arrowHead / 2 + dy); |
981 | } | 901 | } |
982 | - | 902 | + |
983 | c.lineTo(dy * 2, h); | 903 | c.lineTo(dy * 2, h); |
984 | c.lineTo(dy, h - notch); | 904 | c.lineTo(dy, h - notch); |
985 | c.lineTo(0, h); | 905 | c.lineTo(0, h); |
986 | - | ||
987 | - if (rounded == '1') | ||
988 | - { | 906 | + |
907 | + if (rounded == '1') { | ||
989 | c.lineTo(0, arrowHead / 2 + dy); | 908 | c.lineTo(0, arrowHead / 2 + dy); |
990 | c.arcTo(dy * 2, dy * 2, 0, 0, 1, dy * 2, arrowHead / 2 - dy); | 909 | c.arcTo(dy * 2, dy * 2, 0, 0, 1, dy * 2, arrowHead / 2 - dy); |
991 | } | 910 | } |
992 | - else | ||
993 | - { | 911 | + else { |
994 | c.lineTo(0, arrowHead / 2 - dy); | 912 | c.lineTo(0, arrowHead / 2 - dy); |
995 | } | 913 | } |
996 | 914 | ||
@@ -1003,55 +921,47 @@ mxCellRenderer.registerShape(mxShapeArrows2BendArrow.prototype.cst.BEND_ARROW, m | @@ -1003,55 +921,47 @@ mxCellRenderer.registerShape(mxShapeArrows2BendArrow.prototype.cst.BEND_ARROW, m | ||
1003 | 921 | ||
1004 | mxShapeArrows2BendArrow.prototype.constraints = null; | 922 | mxShapeArrows2BendArrow.prototype.constraints = null; |
1005 | 923 | ||
1006 | -Graph.handleFactory[mxShapeArrows2BendArrow.prototype.cst.BEND_ARROW] = function(state) | ||
1007 | -{ | ||
1008 | - var handles = [Graph.createHandle(state, ['dx', 'dy'], function(bounds) | ||
1009 | - { | ||
1010 | - var arrowHead = Math.max(0, Math.min(bounds.height, parseFloat(mxUtils.getValue(this.state.style, 'arrowHead', this.arrowHead)))); | ||
1011 | - var dx = Math.max(0, Math.min(bounds.width, parseFloat(mxUtils.getValue(this.state.style, 'dx', this.dx)))); | ||
1012 | - var dy = Math.max(0, Math.min(arrowHead, parseFloat(mxUtils.getValue(this.state.style, 'dy', this.dy)))); | ||
1013 | - | ||
1014 | - return new mxPoint(bounds.x + bounds.width - dx, bounds.y + arrowHead / 2 - dy); | ||
1015 | - }, function(bounds, pt) | ||
1016 | - { | ||
1017 | - this.state.style['dx'] = Math.round(100 * Math.max(0, Math.min(bounds.width - parseFloat(mxUtils.getValue(this.state.style, 'dy', this.dy)) * 2.2, bounds.x + bounds.width - pt.x))) / 100; | ||
1018 | - this.state.style['dy'] = Math.round(100 * Math.max(0, Math.min(parseFloat(mxUtils.getValue(this.state.style, 'arrowHead', this.arrowHead)) / 2, bounds.y + parseFloat(mxUtils.getValue(this.state.style, 'arrowHead', this.arrowHead)) / 2 - pt.y))) / 100; | ||
1019 | - | ||
1020 | - })]; | ||
1021 | - | ||
1022 | - var handle2 = Graph.createHandle(state, ['notch'], function(bounds) | ||
1023 | - { | ||
1024 | - var arrowHead = Math.max(0, Math.min(bounds.height, parseFloat(mxUtils.getValue(this.state.style, 'arrowHead', this.arrowHead)))); | ||
1025 | - var dy = Math.max(0, Math.min(arrowHead, parseFloat(mxUtils.getValue(this.state.style, 'dy', this.dy)))); | ||
1026 | - | ||
1027 | - var notch = Math.max(0, Math.min(bounds.height - arrowHead / 2 - dy, parseFloat(mxUtils.getValue(this.state.style, 'notch', this.notch)))); | ||
1028 | - | ||
1029 | - return new mxPoint(bounds.x + dy, bounds.y + bounds.height - notch); | ||
1030 | - }, function(bounds, pt) | ||
1031 | - { | ||
1032 | - this.state.style['notch'] = Math.round(100 * Math.max(0, Math.min(bounds.height - parseFloat(mxUtils.getValue(this.state.style, 'arrowHead', this.arrowHead)) / 2 - parseFloat(mxUtils.getValue(this.state.style, 'dy', this.dy)), bounds.y + bounds.height - pt.y))) / 100; | ||
1033 | - }); | ||
1034 | - | 924 | +Graph.handleFactory[mxShapeArrows2BendArrow.prototype.cst.BEND_ARROW] = function (state) { |
925 | + var handles = [Graph.createHandle(state, ['dx', 'dy'], function (bounds) { | ||
926 | + var arrowHead = Math.max(0, Math.min(bounds.height, parseFloat(mxUtils.getValue(this.state.style, 'arrowHead', this.arrowHead)))); | ||
927 | + var dx = Math.max(0, Math.min(bounds.width, parseFloat(mxUtils.getValue(this.state.style, 'dx', this.dx)))); | ||
928 | + var dy = Math.max(0, Math.min(arrowHead, parseFloat(mxUtils.getValue(this.state.style, 'dy', this.dy)))); | ||
929 | + | ||
930 | + return new mxPoint(bounds.x + bounds.width - dx, bounds.y + arrowHead / 2 - dy); | ||
931 | + }, function (bounds, pt) { | ||
932 | + this.state.style['dx'] = Math.round(100 * Math.max(0, Math.min(bounds.width - parseFloat(mxUtils.getValue(this.state.style, 'dy', this.dy)) * 2.2, bounds.x + bounds.width - pt.x))) / 100; | ||
933 | + this.state.style['dy'] = Math.round(100 * Math.max(0, Math.min(parseFloat(mxUtils.getValue(this.state.style, 'arrowHead', this.arrowHead)) / 2, bounds.y + parseFloat(mxUtils.getValue(this.state.style, 'arrowHead', this.arrowHead)) / 2 - pt.y))) / 100; | ||
934 | + | ||
935 | + })]; | ||
936 | + | ||
937 | + var handle2 = Graph.createHandle(state, ['notch'], function (bounds) { | ||
938 | + var arrowHead = Math.max(0, Math.min(bounds.height, parseFloat(mxUtils.getValue(this.state.style, 'arrowHead', this.arrowHead)))); | ||
939 | + var dy = Math.max(0, Math.min(arrowHead, parseFloat(mxUtils.getValue(this.state.style, 'dy', this.dy)))); | ||
940 | + | ||
941 | + var notch = Math.max(0, Math.min(bounds.height - arrowHead / 2 - dy, parseFloat(mxUtils.getValue(this.state.style, 'notch', this.notch)))); | ||
942 | + | ||
943 | + return new mxPoint(bounds.x + dy, bounds.y + bounds.height - notch); | ||
944 | + }, function (bounds, pt) { | ||
945 | + this.state.style['notch'] = Math.round(100 * Math.max(0, Math.min(bounds.height - parseFloat(mxUtils.getValue(this.state.style, 'arrowHead', this.arrowHead)) / 2 - parseFloat(mxUtils.getValue(this.state.style, 'dy', this.dy)), bounds.y + bounds.height - pt.y))) / 100; | ||
946 | + }); | ||
947 | + | ||
1035 | handles.push(handle2); | 948 | handles.push(handle2); |
1036 | 949 | ||
1037 | - var handle3 = Graph.createHandle(state, ['arrowHead'], function(bounds) | ||
1038 | - { | ||
1039 | - var dx = Math.max(0, Math.min(bounds.width, parseFloat(mxUtils.getValue(this.state.style, 'dx', this.dx)))); | ||
1040 | - var arrowHead = Math.max(0, Math.min(bounds.height, parseFloat(mxUtils.getValue(this.state.style, 'arrowHead', this.arrowHead)))); | ||
1041 | - | ||
1042 | - return new mxPoint(bounds.x + bounds.width - dx, bounds.y + arrowHead); | ||
1043 | - }, function(bounds, pt) | ||
1044 | - { | ||
1045 | - this.state.style['arrowHead'] = Math.round(100 * Math.max(2 * parseFloat(mxUtils.getValue(this.state.style, 'dy', this.dy)), Math.min(bounds.height, pt.y - bounds.y))) / 100; | ||
1046 | - }); | ||
1047 | - | 950 | + var handle3 = Graph.createHandle(state, ['arrowHead'], function (bounds) { |
951 | + var dx = Math.max(0, Math.min(bounds.width, parseFloat(mxUtils.getValue(this.state.style, 'dx', this.dx)))); | ||
952 | + var arrowHead = Math.max(0, Math.min(bounds.height, parseFloat(mxUtils.getValue(this.state.style, 'arrowHead', this.arrowHead)))); | ||
953 | + | ||
954 | + return new mxPoint(bounds.x + bounds.width - dx, bounds.y + arrowHead); | ||
955 | + }, function (bounds, pt) { | ||
956 | + this.state.style['arrowHead'] = Math.round(100 * Math.max(2 * parseFloat(mxUtils.getValue(this.state.style, 'dy', this.dy)), Math.min(bounds.height, pt.y - bounds.y))) / 100; | ||
957 | + }); | ||
958 | + | ||
1048 | handles.push(handle3); | 959 | handles.push(handle3); |
1049 | 960 | ||
1050 | return handles; | 961 | return handles; |
1051 | }; | 962 | }; |
1052 | 963 | ||
1053 | -mxShapeArrows2BendArrow.prototype.getConstraints = function(style, w, h) | ||
1054 | -{ | 964 | +mxShapeArrows2BendArrow.prototype.getConstraints = function (style, w, h) { |
1055 | var constr = []; | 965 | var constr = []; |
1056 | var dy = Math.max(0, Math.min(h, parseFloat(mxUtils.getValue(this.style, 'dy', this.dy)))); | 966 | var dy = Math.max(0, Math.min(h, parseFloat(mxUtils.getValue(this.style, 'dy', this.dy)))); |
1057 | var dx = Math.max(0, Math.min(w, parseFloat(mxUtils.getValue(this.style, 'dx', this.dx)))); | 967 | var dx = Math.max(0, Math.min(w, parseFloat(mxUtils.getValue(this.style, 'dx', this.dx)))); |
@@ -1072,17 +982,15 @@ mxShapeArrows2BendArrow.prototype.getConstraints = function(style, w, h) | @@ -1072,17 +982,15 @@ mxShapeArrows2BendArrow.prototype.getConstraints = function(style, w, h) | ||
1072 | constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, 0, h)); | 982 | constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, 0, h)); |
1073 | constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, 0, (h - arrowHead / 2 - dy) * 0.5 + arrowHead / 2 + dy)); | 983 | constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, 0, (h - arrowHead / 2 - dy) * 0.5 + arrowHead / 2 + dy)); |
1074 | 984 | ||
1075 | - if (rounded == '1') | ||
1076 | - { | 985 | + if (rounded == '1') { |
1077 | constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, dy * 0.586, arrowHead / 2 - dy * 0.414)); | 986 | constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, dy * 0.586, arrowHead / 2 - dy * 0.414)); |
1078 | - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, 2 * dy + dy * 0.0586, arrowHead / 2 + dy + dy * 0.0586)); | 987 | + constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, 2 * dy + dy * 0.0586, arrowHead / 2 + dy + dy * 0.0586)); |
1079 | } | 988 | } |
1080 | - else | ||
1081 | - { | 989 | + else { |
1082 | constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, 0, arrowHead / 2 - dy)); | 990 | constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, 0, arrowHead / 2 - dy)); |
1083 | constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, dy * 2, arrowHead / 2 + dy)); | 991 | constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, dy * 2, arrowHead / 2 + dy)); |
1084 | } | 992 | } |
1085 | - | 993 | + |
1086 | return (constr); | 994 | return (constr); |
1087 | }; | 995 | }; |
1088 | 996 | ||
@@ -1092,8 +1000,7 @@ mxShapeArrows2BendArrow.prototype.getConstraints = function(style, w, h) | @@ -1092,8 +1000,7 @@ mxShapeArrows2BendArrow.prototype.getConstraints = function(style, w, h) | ||
1092 | /** | 1000 | /** |
1093 | * Extends mxShape. | 1001 | * Extends mxShape. |
1094 | */ | 1002 | */ |
1095 | -function mxShapeArrows2BendDoubleArrow(bounds, fill, stroke, strokewidth) | ||
1096 | -{ | 1003 | +function mxShapeArrows2BendDoubleArrow(bounds, fill, stroke, strokewidth) { |
1097 | mxShape.call(this); | 1004 | mxShape.call(this); |
1098 | this.bounds = bounds; | 1005 | this.bounds = bounds; |
1099 | this.fill = fill; | 1006 | this.fill = fill; |
@@ -1111,14 +1018,14 @@ function mxShapeArrows2BendDoubleArrow(bounds, fill, stroke, strokewidth) | @@ -1111,14 +1018,14 @@ function mxShapeArrows2BendDoubleArrow(bounds, fill, stroke, strokewidth) | ||
1111 | mxUtils.extend(mxShapeArrows2BendDoubleArrow, mxActor); | 1018 | mxUtils.extend(mxShapeArrows2BendDoubleArrow, mxActor); |
1112 | 1019 | ||
1113 | mxShapeArrows2BendDoubleArrow.prototype.customProperties = [ | 1020 | mxShapeArrows2BendDoubleArrow.prototype.customProperties = [ |
1114 | - {name: 'dx', dispName: 'Arrowhead Length', type: 'float', min:0, defVal:38}, | ||
1115 | - {name: 'dy', dispName: 'Arrow Width', type: 'float', min:0, defVal:15}, | ||
1116 | - {name: 'arrowHead', dispName: 'Arrowhead Width', type: 'float', min:0, defVal:55}, | ||
1117 | - {name: 'rounded', dispName: 'Rounded', type: 'boolean', defVal:false} | 1021 | + { name: 'dx', dispName: 'Arrowhead Length', type: 'float', min: 0, defVal: 38 }, |
1022 | + { name: 'dy', dispName: 'Arrow Width', type: 'float', min: 0, defVal: 15 }, | ||
1023 | + { name: 'arrowHead', dispName: 'Arrowhead Width', type: 'float', min: 0, defVal: 55 }, | ||
1024 | + { name: 'rounded', dispName: 'Rounded', type: 'boolean', defVal: false } | ||
1118 | ]; | 1025 | ]; |
1119 | 1026 | ||
1120 | mxShapeArrows2BendDoubleArrow.prototype.cst = { | 1027 | mxShapeArrows2BendDoubleArrow.prototype.cst = { |
1121 | - BEND_DOUBLE_ARROW : 'mxgraph.arrows2.bendDoubleArrow' | 1028 | + BEND_DOUBLE_ARROW: 'mxgraph.arrows2.bendDoubleArrow' |
1122 | }; | 1029 | }; |
1123 | 1030 | ||
1124 | /** | 1031 | /** |
@@ -1126,8 +1033,7 @@ mxShapeArrows2BendDoubleArrow.prototype.cst = { | @@ -1126,8 +1033,7 @@ mxShapeArrows2BendDoubleArrow.prototype.cst = { | ||
1126 | * | 1033 | * |
1127 | * Paints the vertex shape. | 1034 | * Paints the vertex shape. |
1128 | */ | 1035 | */ |
1129 | -mxShapeArrows2BendDoubleArrow.prototype.paintVertexShape = function(c, x, y, w, h) | ||
1130 | -{ | 1036 | +mxShapeArrows2BendDoubleArrow.prototype.paintVertexShape = function (c, x, y, w, h) { |
1131 | c.translate(x, y); | 1037 | c.translate(x, y); |
1132 | 1038 | ||
1133 | var dy = Math.max(0, Math.min(h, parseFloat(mxUtils.getValue(this.style, 'dy', this.dy)))); | 1039 | var dy = Math.max(0, Math.min(h, parseFloat(mxUtils.getValue(this.style, 'dy', this.dy)))); |
@@ -1141,29 +1047,25 @@ mxShapeArrows2BendDoubleArrow.prototype.paintVertexShape = function(c, x, y, w, | @@ -1141,29 +1047,25 @@ mxShapeArrows2BendDoubleArrow.prototype.paintVertexShape = function(c, x, y, w, | ||
1141 | c.lineTo(w - dx, arrowHead); | 1047 | c.lineTo(w - dx, arrowHead); |
1142 | c.lineTo(w - dx, arrowHead / 2 + dy); | 1048 | c.lineTo(w - dx, arrowHead / 2 + dy); |
1143 | 1049 | ||
1144 | - if (rounded == '1') | ||
1145 | - { | 1050 | + if (rounded == '1') { |
1146 | c.lineTo(arrowHead / 2 + dy * 1.2, arrowHead / 2 + dy); | 1051 | c.lineTo(arrowHead / 2 + dy * 1.2, arrowHead / 2 + dy); |
1147 | - c.arcTo(dy * 0.2, dy * 0.2, 0, 0, 0, arrowHead /2 + dy, arrowHead / 2 + dy * 1.2); | 1052 | + c.arcTo(dy * 0.2, dy * 0.2, 0, 0, 0, arrowHead / 2 + dy, arrowHead / 2 + dy * 1.2); |
1148 | } | 1053 | } |
1149 | - else | ||
1150 | - { | 1054 | + else { |
1151 | c.lineTo(arrowHead / 2 + dy, arrowHead / 2 + dy); | 1055 | c.lineTo(arrowHead / 2 + dy, arrowHead / 2 + dy); |
1152 | } | 1056 | } |
1153 | - | 1057 | + |
1154 | c.lineTo(arrowHead / 2 + dy, h - dx); | 1058 | c.lineTo(arrowHead / 2 + dy, h - dx); |
1155 | c.lineTo(arrowHead, h - dx); | 1059 | c.lineTo(arrowHead, h - dx); |
1156 | c.lineTo(arrowHead / 2, h); | 1060 | c.lineTo(arrowHead / 2, h); |
1157 | c.lineTo(0, h - dx); | 1061 | c.lineTo(0, h - dx); |
1158 | c.lineTo(arrowHead / 2 - dy, h - dx); | 1062 | c.lineTo(arrowHead / 2 - dy, h - dx); |
1159 | - | ||
1160 | - if (rounded == '1') | ||
1161 | - { | 1063 | + |
1064 | + if (rounded == '1') { | ||
1162 | c.lineTo(arrowHead / 2 - dy, arrowHead / 2 + dy); | 1065 | c.lineTo(arrowHead / 2 - dy, arrowHead / 2 + dy); |
1163 | c.arcTo(dy * 2, dy * 2, 0, 0, 1, arrowHead / 2 + dy, arrowHead / 2 - dy); | 1066 | c.arcTo(dy * 2, dy * 2, 0, 0, 1, arrowHead / 2 + dy, arrowHead / 2 - dy); |
1164 | } | 1067 | } |
1165 | - else | ||
1166 | - { | 1068 | + else { |
1167 | c.lineTo(arrowHead / 2 - dy, arrowHead / 2 - dy); | 1069 | c.lineTo(arrowHead / 2 - dy, arrowHead / 2 - dy); |
1168 | } | 1070 | } |
1169 | 1071 | ||
@@ -1176,47 +1078,41 @@ mxCellRenderer.registerShape(mxShapeArrows2BendDoubleArrow.prototype.cst.BEND_DO | @@ -1176,47 +1078,41 @@ mxCellRenderer.registerShape(mxShapeArrows2BendDoubleArrow.prototype.cst.BEND_DO | ||
1176 | 1078 | ||
1177 | mxShapeArrows2BendDoubleArrow.prototype.constraints = null; | 1079 | mxShapeArrows2BendDoubleArrow.prototype.constraints = null; |
1178 | 1080 | ||
1179 | -Graph.handleFactory[mxShapeArrows2BendDoubleArrow.prototype.cst.BEND_DOUBLE_ARROW] = function(state) | ||
1180 | -{ | ||
1181 | - var handles = [Graph.createHandle(state, ['dx', 'dy'], function(bounds) | ||
1182 | - { | ||
1183 | - var arrowHead = Math.max(0, Math.min(Math.min(bounds.height, bounds.width) - parseFloat(mxUtils.getValue(this.state.style, 'dx', this.dx)), parseFloat(mxUtils.getValue(this.state.style, 'arrowHead', this.arrowHead)))); | ||
1184 | - var dx = Math.max(0, Math.min(Math.min(bounds.width, bounds.height) - arrowHead, parseFloat(mxUtils.getValue(this.state.style, 'dx', this.dx)))); | ||
1185 | - var dy = Math.max(0, Math.min(arrowHead, parseFloat(mxUtils.getValue(this.state.style, 'dy', this.dy)))); | ||
1186 | - | ||
1187 | - return new mxPoint(bounds.x + bounds.width - dx, bounds.y + arrowHead / 2 - dy); | ||
1188 | - }, function(bounds, pt) | ||
1189 | - { | ||
1190 | - this.state.style['dx'] = Math.round(100 * Math.max(0, Math.min(Math.min(bounds.width, bounds.height) - parseFloat(mxUtils.getValue(this.state.style, 'arrowHead', this.arrowHead)), bounds.x + bounds.width - pt.x))) / 100; | ||
1191 | - this.state.style['dy'] = Math.round(100 * Math.max(0, Math.min(parseFloat(mxUtils.getValue(this.state.style, 'arrowHead', this.arrowHead)) / 2, bounds.y + parseFloat(mxUtils.getValue(this.state.style, 'arrowHead', this.arrowHead)) / 2 - pt.y))) / 100; | ||
1192 | - | ||
1193 | - })]; | ||
1194 | - | ||
1195 | - var handle2 = Graph.createHandle(state, ['arrowHead'], function(bounds) | ||
1196 | - { | ||
1197 | - var dx = Math.max(0, Math.min(bounds.width, parseFloat(mxUtils.getValue(this.state.style, 'dx', this.dx)))); | ||
1198 | - var arrowHead = Math.max(0, Math.min(Math.min(bounds.height, bounds.width) - dx, parseFloat(mxUtils.getValue(this.state.style, 'arrowHead', this.arrowHead)))); | ||
1199 | - | ||
1200 | - return new mxPoint(bounds.x + bounds.width - dx, bounds.y + arrowHead); | ||
1201 | - }, function(bounds, pt) | ||
1202 | - { | ||
1203 | - this.state.style['arrowHead'] = Math.round(100 * Math.max(2 * parseFloat(mxUtils.getValue(this.state.style, 'dy', this.dy)), Math.min(Math.min(bounds.height, bounds.width) - parseFloat(mxUtils.getValue(this.state.style, 'dx', this.dx)), pt.y - bounds.y))) / 100; | ||
1204 | - }); | ||
1205 | - | 1081 | +Graph.handleFactory[mxShapeArrows2BendDoubleArrow.prototype.cst.BEND_DOUBLE_ARROW] = function (state) { |
1082 | + var handles = [Graph.createHandle(state, ['dx', 'dy'], function (bounds) { | ||
1083 | + var arrowHead = Math.max(0, Math.min(Math.min(bounds.height, bounds.width) - parseFloat(mxUtils.getValue(this.state.style, 'dx', this.dx)), parseFloat(mxUtils.getValue(this.state.style, 'arrowHead', this.arrowHead)))); | ||
1084 | + var dx = Math.max(0, Math.min(Math.min(bounds.width, bounds.height) - arrowHead, parseFloat(mxUtils.getValue(this.state.style, 'dx', this.dx)))); | ||
1085 | + var dy = Math.max(0, Math.min(arrowHead, parseFloat(mxUtils.getValue(this.state.style, 'dy', this.dy)))); | ||
1086 | + | ||
1087 | + return new mxPoint(bounds.x + bounds.width - dx, bounds.y + arrowHead / 2 - dy); | ||
1088 | + }, function (bounds, pt) { | ||
1089 | + this.state.style['dx'] = Math.round(100 * Math.max(0, Math.min(Math.min(bounds.width, bounds.height) - parseFloat(mxUtils.getValue(this.state.style, 'arrowHead', this.arrowHead)), bounds.x + bounds.width - pt.x))) / 100; | ||
1090 | + this.state.style['dy'] = Math.round(100 * Math.max(0, Math.min(parseFloat(mxUtils.getValue(this.state.style, 'arrowHead', this.arrowHead)) / 2, bounds.y + parseFloat(mxUtils.getValue(this.state.style, 'arrowHead', this.arrowHead)) / 2 - pt.y))) / 100; | ||
1091 | + | ||
1092 | + })]; | ||
1093 | + | ||
1094 | + var handle2 = Graph.createHandle(state, ['arrowHead'], function (bounds) { | ||
1095 | + var dx = Math.max(0, Math.min(bounds.width, parseFloat(mxUtils.getValue(this.state.style, 'dx', this.dx)))); | ||
1096 | + var arrowHead = Math.max(0, Math.min(Math.min(bounds.height, bounds.width) - dx, parseFloat(mxUtils.getValue(this.state.style, 'arrowHead', this.arrowHead)))); | ||
1097 | + | ||
1098 | + return new mxPoint(bounds.x + bounds.width - dx, bounds.y + arrowHead); | ||
1099 | + }, function (bounds, pt) { | ||
1100 | + this.state.style['arrowHead'] = Math.round(100 * Math.max(2 * parseFloat(mxUtils.getValue(this.state.style, 'dy', this.dy)), Math.min(Math.min(bounds.height, bounds.width) - parseFloat(mxUtils.getValue(this.state.style, 'dx', this.dx)), pt.y - bounds.y))) / 100; | ||
1101 | + }); | ||
1102 | + | ||
1206 | handles.push(handle2); | 1103 | handles.push(handle2); |
1207 | 1104 | ||
1208 | return handles; | 1105 | return handles; |
1209 | }; | 1106 | }; |
1210 | 1107 | ||
1211 | -mxShapeArrows2BendDoubleArrow.prototype.getConstraints = function(style, w, h) | ||
1212 | -{ | 1108 | +mxShapeArrows2BendDoubleArrow.prototype.getConstraints = function (style, w, h) { |
1213 | var constr = []; | 1109 | var constr = []; |
1214 | var dy = Math.max(0, Math.min(h, parseFloat(mxUtils.getValue(this.style, 'dy', this.dy)))); | 1110 | var dy = Math.max(0, Math.min(h, parseFloat(mxUtils.getValue(this.style, 'dy', this.dy)))); |
1215 | var dx = Math.max(0, Math.min(w, parseFloat(mxUtils.getValue(this.style, 'dx', this.dx)))); | 1111 | var dx = Math.max(0, Math.min(w, parseFloat(mxUtils.getValue(this.style, 'dx', this.dx)))); |
1216 | var arrowHead = Math.max(0, Math.min(w, parseFloat(mxUtils.getValue(this.style, 'arrowHead', this.arrowHead)))); | 1112 | var arrowHead = Math.max(0, Math.min(w, parseFloat(mxUtils.getValue(this.style, 'arrowHead', this.arrowHead)))); |
1217 | var rounded = mxUtils.getValue(this.style, 'rounded', '0'); | 1113 | var rounded = mxUtils.getValue(this.style, 'rounded', '0'); |
1218 | 1114 | ||
1219 | - constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w - dx , 0)); | 1115 | + constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w - dx, 0)); |
1220 | constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w, arrowHead * 0.5)); | 1116 | constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w, arrowHead * 0.5)); |
1221 | constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w - dx, arrowHead)); | 1117 | constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w - dx, arrowHead)); |
1222 | constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w - dx, arrowHead / 2 + dy)); | 1118 | constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w - dx, arrowHead / 2 + dy)); |
@@ -1230,17 +1126,15 @@ mxShapeArrows2BendDoubleArrow.prototype.getConstraints = function(style, w, h) | @@ -1230,17 +1126,15 @@ mxShapeArrows2BendDoubleArrow.prototype.getConstraints = function(style, w, h) | ||
1230 | constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, 0, h - dx)); | 1126 | constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, 0, h - dx)); |
1231 | constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, arrowHead / 2 - dy, h - dx)); | 1127 | constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, arrowHead / 2 - dy, h - dx)); |
1232 | 1128 | ||
1233 | - if (rounded == '1') | ||
1234 | - { | 1129 | + if (rounded == '1') { |
1235 | constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, arrowHead / 2 - dy * 0.414, arrowHead / 2 - dy * 0.414)); | 1130 | constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, arrowHead / 2 - dy * 0.414, arrowHead / 2 - dy * 0.414)); |
1236 | constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, arrowHead / 2 + dy + dy * 0.0586, arrowHead / 2 + dy + dy * 0.0586)); | 1131 | constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, arrowHead / 2 + dy + dy * 0.0586, arrowHead / 2 + dy + dy * 0.0586)); |
1237 | } | 1132 | } |
1238 | - else | ||
1239 | - { | 1133 | + else { |
1240 | constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, arrowHead / 2 - dy, arrowHead / 2 - dy)); | 1134 | constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, arrowHead / 2 - dy, arrowHead / 2 - dy)); |
1241 | constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, arrowHead / 2 + dy, arrowHead / 2 + dy)); | 1135 | constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, arrowHead / 2 + dy, arrowHead / 2 + dy)); |
1242 | } | 1136 | } |
1243 | - | 1137 | + |
1244 | return (constr); | 1138 | return (constr); |
1245 | }; | 1139 | }; |
1246 | 1140 | ||
@@ -1250,8 +1144,7 @@ mxShapeArrows2BendDoubleArrow.prototype.getConstraints = function(style, w, h) | @@ -1250,8 +1144,7 @@ mxShapeArrows2BendDoubleArrow.prototype.getConstraints = function(style, w, h) | ||
1250 | /** | 1144 | /** |
1251 | * Extends mxShape. | 1145 | * Extends mxShape. |
1252 | */ | 1146 | */ |
1253 | -function mxShapeArrows2CalloutDoubleArrow(bounds, fill, stroke, strokewidth) | ||
1254 | -{ | 1147 | +function mxShapeArrows2CalloutDoubleArrow(bounds, fill, stroke, strokewidth) { |
1255 | mxShape.call(this); | 1148 | mxShape.call(this); |
1256 | this.bounds = bounds; | 1149 | this.bounds = bounds; |
1257 | this.fill = fill; | 1150 | this.fill = fill; |
@@ -1269,14 +1162,14 @@ function mxShapeArrows2CalloutDoubleArrow(bounds, fill, stroke, strokewidth) | @@ -1269,14 +1162,14 @@ function mxShapeArrows2CalloutDoubleArrow(bounds, fill, stroke, strokewidth) | ||
1269 | mxUtils.extend(mxShapeArrows2CalloutDoubleArrow, mxActor); | 1162 | mxUtils.extend(mxShapeArrows2CalloutDoubleArrow, mxActor); |
1270 | 1163 | ||
1271 | mxShapeArrows2CalloutDoubleArrow.prototype.customProperties = [ | 1164 | mxShapeArrows2CalloutDoubleArrow.prototype.customProperties = [ |
1272 | - {name: 'dx', dispName: 'Arrowhead Length', type: 'float', min:0, defVal:20}, | ||
1273 | - {name: 'dy', dispName: 'Arrow Width', type: 'float', min:0, defVal:10}, | ||
1274 | - {name: 'arrowHead', dispName: 'Arrowhead Width', type: 'float', min:0, defVal:10}, | ||
1275 | - {name: 'notch', dispName: 'Rect Size', type: 'float', min:0, defVal:24} | 1165 | + { name: 'dx', dispName: 'Arrowhead Length', type: 'float', min: 0, defVal: 20 }, |
1166 | + { name: 'dy', dispName: 'Arrow Width', type: 'float', min: 0, defVal: 10 }, | ||
1167 | + { name: 'arrowHead', dispName: 'Arrowhead Width', type: 'float', min: 0, defVal: 10 }, | ||
1168 | + { name: 'notch', dispName: 'Rect Size', type: 'float', min: 0, defVal: 24 } | ||
1276 | ]; | 1169 | ]; |
1277 | 1170 | ||
1278 | mxShapeArrows2CalloutDoubleArrow.prototype.cst = { | 1171 | mxShapeArrows2CalloutDoubleArrow.prototype.cst = { |
1279 | - CALLOUT_DOUBLE_ARROW : 'mxgraph.arrows2.calloutDoubleArrow' | 1172 | + CALLOUT_DOUBLE_ARROW: 'mxgraph.arrows2.calloutDoubleArrow' |
1280 | }; | 1173 | }; |
1281 | 1174 | ||
1282 | /** | 1175 | /** |
@@ -1284,8 +1177,7 @@ mxShapeArrows2CalloutDoubleArrow.prototype.cst = { | @@ -1284,8 +1177,7 @@ mxShapeArrows2CalloutDoubleArrow.prototype.cst = { | ||
1284 | * | 1177 | * |
1285 | * Paints the vertex shape. | 1178 | * Paints the vertex shape. |
1286 | */ | 1179 | */ |
1287 | -mxShapeArrows2CalloutDoubleArrow.prototype.paintVertexShape = function(c, x, y, w, h) | ||
1288 | -{ | 1180 | +mxShapeArrows2CalloutDoubleArrow.prototype.paintVertexShape = function (c, x, y, w, h) { |
1289 | c.translate(x, y); | 1181 | c.translate(x, y); |
1290 | 1182 | ||
1291 | var dy = Math.max(0, Math.min(h, parseFloat(mxUtils.getValue(this.style, 'dy', this.dy)))); | 1183 | var dy = Math.max(0, Math.min(h, parseFloat(mxUtils.getValue(this.style, 'dy', this.dy)))); |
@@ -1320,53 +1212,45 @@ mxCellRenderer.registerShape(mxShapeArrows2CalloutDoubleArrow.prototype.cst.CALL | @@ -1320,53 +1212,45 @@ mxCellRenderer.registerShape(mxShapeArrows2CalloutDoubleArrow.prototype.cst.CALL | ||
1320 | 1212 | ||
1321 | mxShapeArrows2CalloutDoubleArrow.prototype.constraints = null; | 1213 | mxShapeArrows2CalloutDoubleArrow.prototype.constraints = null; |
1322 | 1214 | ||
1323 | -Graph.handleFactory[mxShapeArrows2CalloutDoubleArrow.prototype.cst.CALLOUT_DOUBLE_ARROW] = function(state) | ||
1324 | -{ | ||
1325 | - var handles = [Graph.createHandle(state, ['dx', 'dy'], function(bounds) | ||
1326 | - { | ||
1327 | - var arrowHead = Math.max(0, Math.min(bounds.height / 2, parseFloat(mxUtils.getValue(this.state.style, 'arrowHead', this.arrowHead)))); | ||
1328 | - var dx = Math.max(0, Math.min(bounds.width, parseFloat(mxUtils.getValue(this.state.style, 'dx', this.dx)))); | ||
1329 | - var dy = Math.max(0, Math.min(bounds.height / 2 - arrowHead, parseFloat(mxUtils.getValue(this.state.style, 'dy', this.dy)))); | ||
1330 | - | ||
1331 | - return new mxPoint(bounds.x + bounds.width - dx, bounds.y + bounds.height / 2 - dy); | ||
1332 | - }, function(bounds, pt) | ||
1333 | - { | ||
1334 | - this.state.style['dx'] = Math.round(100 * Math.max(0, Math.min(bounds.width / 2 - parseFloat(mxUtils.getValue(this.state.style, 'notch', this.notch)), bounds.x + bounds.width - pt.x))) / 100; | ||
1335 | - this.state.style['dy'] = Math.round(100 * Math.max(0, Math.min(bounds.height / 2 - parseFloat(mxUtils.getValue(this.state.style, 'arrowHead', this.arrowHead)), bounds.y + bounds.height / 2 - pt.y))) / 100; | ||
1336 | - | ||
1337 | - })]; | ||
1338 | - | ||
1339 | - var handle2 = Graph.createHandle(state, ['notch'], function(bounds) | ||
1340 | - { | ||
1341 | - var notch = Math.max(0, Math.min(bounds.width, parseFloat(mxUtils.getValue(this.state.style, 'notch', this.notch)))); | ||
1342 | - | ||
1343 | - return new mxPoint(bounds.x + bounds.width / 2 + notch, bounds.y + bounds.height / 2); | ||
1344 | - }, function(bounds, pt) | ||
1345 | - { | ||
1346 | - this.state.style['notch'] = Math.round(100 * Math.max(0, Math.min(bounds.width / 2 - parseFloat(mxUtils.getValue(this.state.style, 'dx', this.dx)), pt.x - bounds.x - bounds.width / 2))) / 100; | ||
1347 | - }); | 1215 | +Graph.handleFactory[mxShapeArrows2CalloutDoubleArrow.prototype.cst.CALLOUT_DOUBLE_ARROW] = function (state) { |
1216 | + var handles = [Graph.createHandle(state, ['dx', 'dy'], function (bounds) { | ||
1217 | + var arrowHead = Math.max(0, Math.min(bounds.height / 2, parseFloat(mxUtils.getValue(this.state.style, 'arrowHead', this.arrowHead)))); | ||
1218 | + var dx = Math.max(0, Math.min(bounds.width, parseFloat(mxUtils.getValue(this.state.style, 'dx', this.dx)))); | ||
1219 | + var dy = Math.max(0, Math.min(bounds.height / 2 - arrowHead, parseFloat(mxUtils.getValue(this.state.style, 'dy', this.dy)))); | ||
1220 | + | ||
1221 | + return new mxPoint(bounds.x + bounds.width - dx, bounds.y + bounds.height / 2 - dy); | ||
1222 | + }, function (bounds, pt) { | ||
1223 | + this.state.style['dx'] = Math.round(100 * Math.max(0, Math.min(bounds.width / 2 - parseFloat(mxUtils.getValue(this.state.style, 'notch', this.notch)), bounds.x + bounds.width - pt.x))) / 100; | ||
1224 | + this.state.style['dy'] = Math.round(100 * Math.max(0, Math.min(bounds.height / 2 - parseFloat(mxUtils.getValue(this.state.style, 'arrowHead', this.arrowHead)), bounds.y + bounds.height / 2 - pt.y))) / 100; | ||
1225 | + | ||
1226 | + })]; | ||
1227 | + | ||
1228 | + var handle2 = Graph.createHandle(state, ['notch'], function (bounds) { | ||
1229 | + var notch = Math.max(0, Math.min(bounds.width, parseFloat(mxUtils.getValue(this.state.style, 'notch', this.notch)))); | ||
1230 | + | ||
1231 | + return new mxPoint(bounds.x + bounds.width / 2 + notch, bounds.y + bounds.height / 2); | ||
1232 | + }, function (bounds, pt) { | ||
1233 | + this.state.style['notch'] = Math.round(100 * Math.max(0, Math.min(bounds.width / 2 - parseFloat(mxUtils.getValue(this.state.style, 'dx', this.dx)), pt.x - bounds.x - bounds.width / 2))) / 100; | ||
1234 | + }); | ||
1348 | 1235 | ||
1349 | handles.push(handle2); | 1236 | handles.push(handle2); |
1350 | - | ||
1351 | - var handle3 = Graph.createHandle(state, ['arrowHead'], function(bounds) | ||
1352 | - { | ||
1353 | - var dx = Math.max(0, Math.min(bounds.width, parseFloat(mxUtils.getValue(this.state.style, 'dx', this.dx)))); | ||
1354 | - var dy = Math.max(0, Math.min(bounds.height / 2, parseFloat(mxUtils.getValue(this.state.style, 'dy', this.dy)))); | ||
1355 | - var arrowHead = Math.max(0, Math.min(bounds.height / 2, parseFloat(mxUtils.getValue(this.state.style, 'arrowHead', this.arrowHead)))); | ||
1356 | - | ||
1357 | - return new mxPoint(bounds.x + bounds.width - dx, bounds.y + bounds.height / 2 - dy - arrowHead); | ||
1358 | - }, function(bounds, pt) | ||
1359 | - { | ||
1360 | - this.state.style['arrowHead'] = Math.round(100 * Math.max(0, Math.min(bounds.height / 2 - parseFloat(mxUtils.getValue(this.state.style, 'dy', this.dy)), bounds.y + bounds.height / 2 - parseFloat(mxUtils.getValue(this.state.style, 'dy', this.dy)) - pt.y))) / 100; | ||
1361 | - }); | 1237 | + |
1238 | + var handle3 = Graph.createHandle(state, ['arrowHead'], function (bounds) { | ||
1239 | + var dx = Math.max(0, Math.min(bounds.width, parseFloat(mxUtils.getValue(this.state.style, 'dx', this.dx)))); | ||
1240 | + var dy = Math.max(0, Math.min(bounds.height / 2, parseFloat(mxUtils.getValue(this.state.style, 'dy', this.dy)))); | ||
1241 | + var arrowHead = Math.max(0, Math.min(bounds.height / 2, parseFloat(mxUtils.getValue(this.state.style, 'arrowHead', this.arrowHead)))); | ||
1242 | + | ||
1243 | + return new mxPoint(bounds.x + bounds.width - dx, bounds.y + bounds.height / 2 - dy - arrowHead); | ||
1244 | + }, function (bounds, pt) { | ||
1245 | + this.state.style['arrowHead'] = Math.round(100 * Math.max(0, Math.min(bounds.height / 2 - parseFloat(mxUtils.getValue(this.state.style, 'dy', this.dy)), bounds.y + bounds.height / 2 - parseFloat(mxUtils.getValue(this.state.style, 'dy', this.dy)) - pt.y))) / 100; | ||
1246 | + }); | ||
1362 | 1247 | ||
1363 | handles.push(handle3); | 1248 | handles.push(handle3); |
1364 | - | 1249 | + |
1365 | return handles; | 1250 | return handles; |
1366 | }; | 1251 | }; |
1367 | 1252 | ||
1368 | -mxShapeArrows2CalloutDoubleArrow.prototype.getConstraints = function(style, w, h) | ||
1369 | -{ | 1253 | +mxShapeArrows2CalloutDoubleArrow.prototype.getConstraints = function (style, w, h) { |
1370 | var constr = []; | 1254 | var constr = []; |
1371 | var dy = Math.max(0, Math.min(h, parseFloat(mxUtils.getValue(this.style, 'dy', this.dy)))); | 1255 | var dy = Math.max(0, Math.min(h, parseFloat(mxUtils.getValue(this.style, 'dy', this.dy)))); |
1372 | var dx = Math.max(0, Math.min(w, parseFloat(mxUtils.getValue(this.style, 'dx', this.dx)))); | 1256 | var dx = Math.max(0, Math.min(w, parseFloat(mxUtils.getValue(this.style, 'dx', this.dx)))); |
@@ -1389,7 +1273,7 @@ mxShapeArrows2CalloutDoubleArrow.prototype.getConstraints = function(style, w, h | @@ -1389,7 +1273,7 @@ mxShapeArrows2CalloutDoubleArrow.prototype.getConstraints = function(style, w, h | ||
1389 | constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, (w * 1.5 - dx + notch) * 0.5, h * 0.5 + dy)); | 1273 | constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, (w * 1.5 - dx + notch) * 0.5, h * 0.5 + dy)); |
1390 | constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, (w * 0.5 + dx - notch) * 0.5, h * 0.5 - dy)); | 1274 | constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, (w * 0.5 + dx - notch) * 0.5, h * 0.5 - dy)); |
1391 | constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, (w * 0.5 + dx - notch) * 0.5, h * 0.5 + dy)); | 1275 | constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, (w * 0.5 + dx - notch) * 0.5, h * 0.5 + dy)); |
1392 | - | 1276 | + |
1393 | return (constr); | 1277 | return (constr); |
1394 | }; | 1278 | }; |
1395 | 1279 | ||
@@ -1399,8 +1283,7 @@ mxShapeArrows2CalloutDoubleArrow.prototype.getConstraints = function(style, w, h | @@ -1399,8 +1283,7 @@ mxShapeArrows2CalloutDoubleArrow.prototype.getConstraints = function(style, w, h | ||
1399 | /** | 1283 | /** |
1400 | * Extends mxShape. | 1284 | * Extends mxShape. |
1401 | */ | 1285 | */ |
1402 | -function mxShapeArrows2CalloutQuadArrow(bounds, fill, stroke, strokewidth) | ||
1403 | -{ | 1286 | +function mxShapeArrows2CalloutQuadArrow(bounds, fill, stroke, strokewidth) { |
1404 | mxShape.call(this); | 1287 | mxShape.call(this); |
1405 | this.bounds = bounds; | 1288 | this.bounds = bounds; |
1406 | this.fill = fill; | 1289 | this.fill = fill; |
@@ -1418,14 +1301,14 @@ function mxShapeArrows2CalloutQuadArrow(bounds, fill, stroke, strokewidth) | @@ -1418,14 +1301,14 @@ function mxShapeArrows2CalloutQuadArrow(bounds, fill, stroke, strokewidth) | ||
1418 | mxUtils.extend(mxShapeArrows2CalloutQuadArrow, mxActor); | 1301 | mxUtils.extend(mxShapeArrows2CalloutQuadArrow, mxActor); |
1419 | 1302 | ||
1420 | mxShapeArrows2CalloutQuadArrow.prototype.customProperties = [ | 1303 | mxShapeArrows2CalloutQuadArrow.prototype.customProperties = [ |
1421 | - {name: 'dx', dispName: 'Arrowhead Length', type: 'float', min:0, defVal:20}, | ||
1422 | - {name: 'dy', dispName: 'Arrow Width', type: 'float', min:0, defVal: 10}, | ||
1423 | - {name: 'notch', dispName: 'Rect Size', type: 'float', min:0, defVal:24}, | ||
1424 | - {name: 'arrowHead', dispName: 'Arrowhead Width', type: 'float', min:0, defVal:10} | 1304 | + { name: 'dx', dispName: 'Arrowhead Length', type: 'float', min: 0, defVal: 20 }, |
1305 | + { name: 'dy', dispName: 'Arrow Width', type: 'float', min: 0, defVal: 10 }, | ||
1306 | + { name: 'notch', dispName: 'Rect Size', type: 'float', min: 0, defVal: 24 }, | ||
1307 | + { name: 'arrowHead', dispName: 'Arrowhead Width', type: 'float', min: 0, defVal: 10 } | ||
1425 | ]; | 1308 | ]; |
1426 | 1309 | ||
1427 | mxShapeArrows2CalloutQuadArrow.prototype.cst = { | 1310 | mxShapeArrows2CalloutQuadArrow.prototype.cst = { |
1428 | - CALLOUT_QUAD_ARROW : 'mxgraph.arrows2.calloutQuadArrow' | 1311 | + CALLOUT_QUAD_ARROW: 'mxgraph.arrows2.calloutQuadArrow' |
1429 | }; | 1312 | }; |
1430 | 1313 | ||
1431 | /** | 1314 | /** |
@@ -1433,8 +1316,7 @@ mxShapeArrows2CalloutQuadArrow.prototype.cst = { | @@ -1433,8 +1316,7 @@ mxShapeArrows2CalloutQuadArrow.prototype.cst = { | ||
1433 | * | 1316 | * |
1434 | * Paints the vertex shape. | 1317 | * Paints the vertex shape. |
1435 | */ | 1318 | */ |
1436 | -mxShapeArrows2CalloutQuadArrow.prototype.paintVertexShape = function(c, x, y, w, h) | ||
1437 | -{ | 1319 | +mxShapeArrows2CalloutQuadArrow.prototype.paintVertexShape = function (c, x, y, w, h) { |
1438 | c.translate(x, y); | 1320 | c.translate(x, y); |
1439 | 1321 | ||
1440 | var dy = Math.max(0, Math.min(h, parseFloat(mxUtils.getValue(this.style, 'dy', this.dy)))); | 1322 | var dy = Math.max(0, Math.min(h, parseFloat(mxUtils.getValue(this.style, 'dy', this.dy)))); |
@@ -1483,53 +1365,45 @@ mxCellRenderer.registerShape(mxShapeArrows2CalloutQuadArrow.prototype.cst.CALLOU | @@ -1483,53 +1365,45 @@ mxCellRenderer.registerShape(mxShapeArrows2CalloutQuadArrow.prototype.cst.CALLOU | ||
1483 | 1365 | ||
1484 | mxShapeArrows2CalloutQuadArrow.prototype.constraints = null; | 1366 | mxShapeArrows2CalloutQuadArrow.prototype.constraints = null; |
1485 | 1367 | ||
1486 | -Graph.handleFactory[mxShapeArrows2CalloutQuadArrow.prototype.cst.CALLOUT_QUAD_ARROW] = function(state) | ||
1487 | -{ | ||
1488 | - var handles = [Graph.createHandle(state, ['dx', 'dy'], function(bounds) | ||
1489 | - { | ||
1490 | - var arrowHead = Math.max(0, Math.min(bounds.height / 2, parseFloat(mxUtils.getValue(this.state.style, 'arrowHead', this.arrowHead)))); | ||
1491 | - var dx = Math.max(0, Math.min(bounds.width, parseFloat(mxUtils.getValue(this.state.style, 'dx', this.dx)))); | ||
1492 | - var dy = Math.max(0, Math.min(bounds.height, parseFloat(mxUtils.getValue(this.state.style, 'dy', this.dy)))); | ||
1493 | - | ||
1494 | - return new mxPoint(bounds.x + bounds.width - dx, bounds.y + bounds.height / 2 - dy); | ||
1495 | - }, function(bounds, pt) | ||
1496 | - { | ||
1497 | - this.state.style['dx'] = Math.round(100 * Math.max(0, Math.min(Math.min(bounds.width, bounds.height) / 2 - Math.max(parseFloat(mxUtils.getValue(this.state.style, 'notch', this.notch)), parseFloat(mxUtils.getValue(this.state.style, 'arrowHead', this.arrowHead))), bounds.x + bounds.width - pt.x))) / 100; | ||
1498 | - this.state.style['dy'] = Math.round(100 * Math.max(0, Math.min(parseFloat(mxUtils.getValue(this.state.style, 'notch', this.notch)), bounds.y + bounds.height / 2 - pt.y))) / 100; | ||
1499 | - | ||
1500 | - })]; | ||
1501 | - | ||
1502 | - var handle2 = Graph.createHandle(state, ['notch'], function(bounds) | ||
1503 | - { | ||
1504 | - var notch = Math.max(parseFloat(mxUtils.getValue(this.state.style, 'dy', this.dy)), Math.min(Math.min(bounds.width, bounds.height), parseFloat(mxUtils.getValue(this.state.style, 'notch', this.notch)))); | ||
1505 | - | ||
1506 | - return new mxPoint(bounds.x + bounds.width / 2 + notch, bounds.y + bounds.height / 2); | ||
1507 | - }, function(bounds, pt) | ||
1508 | - { | ||
1509 | - this.state.style['notch'] = Math.round(100 * Math.max(parseFloat(mxUtils.getValue(this.state.style, 'dy', this.dy)), Math.min(Math.min(bounds.width, bounds.height) / 2 - parseFloat(mxUtils.getValue(this.state.style, 'dx', this.dx)), pt.x - bounds.x - bounds.width / 2))) / 100; | ||
1510 | - }); | 1368 | +Graph.handleFactory[mxShapeArrows2CalloutQuadArrow.prototype.cst.CALLOUT_QUAD_ARROW] = function (state) { |
1369 | + var handles = [Graph.createHandle(state, ['dx', 'dy'], function (bounds) { | ||
1370 | + var arrowHead = Math.max(0, Math.min(bounds.height / 2, parseFloat(mxUtils.getValue(this.state.style, 'arrowHead', this.arrowHead)))); | ||
1371 | + var dx = Math.max(0, Math.min(bounds.width, parseFloat(mxUtils.getValue(this.state.style, 'dx', this.dx)))); | ||
1372 | + var dy = Math.max(0, Math.min(bounds.height, parseFloat(mxUtils.getValue(this.state.style, 'dy', this.dy)))); | ||
1373 | + | ||
1374 | + return new mxPoint(bounds.x + bounds.width - dx, bounds.y + bounds.height / 2 - dy); | ||
1375 | + }, function (bounds, pt) { | ||
1376 | + this.state.style['dx'] = Math.round(100 * Math.max(0, Math.min(Math.min(bounds.width, bounds.height) / 2 - Math.max(parseFloat(mxUtils.getValue(this.state.style, 'notch', this.notch)), parseFloat(mxUtils.getValue(this.state.style, 'arrowHead', this.arrowHead))), bounds.x + bounds.width - pt.x))) / 100; | ||
1377 | + this.state.style['dy'] = Math.round(100 * Math.max(0, Math.min(parseFloat(mxUtils.getValue(this.state.style, 'notch', this.notch)), bounds.y + bounds.height / 2 - pt.y))) / 100; | ||
1378 | + | ||
1379 | + })]; | ||
1380 | + | ||
1381 | + var handle2 = Graph.createHandle(state, ['notch'], function (bounds) { | ||
1382 | + var notch = Math.max(parseFloat(mxUtils.getValue(this.state.style, 'dy', this.dy)), Math.min(Math.min(bounds.width, bounds.height), parseFloat(mxUtils.getValue(this.state.style, 'notch', this.notch)))); | ||
1383 | + | ||
1384 | + return new mxPoint(bounds.x + bounds.width / 2 + notch, bounds.y + bounds.height / 2); | ||
1385 | + }, function (bounds, pt) { | ||
1386 | + this.state.style['notch'] = Math.round(100 * Math.max(parseFloat(mxUtils.getValue(this.state.style, 'dy', this.dy)), Math.min(Math.min(bounds.width, bounds.height) / 2 - parseFloat(mxUtils.getValue(this.state.style, 'dx', this.dx)), pt.x - bounds.x - bounds.width / 2))) / 100; | ||
1387 | + }); | ||
1511 | 1388 | ||
1512 | handles.push(handle2); | 1389 | handles.push(handle2); |
1513 | - | ||
1514 | - var handle3 = Graph.createHandle(state, ['arrowHead'], function(bounds) | ||
1515 | - { | ||
1516 | - var dx = Math.max(0, Math.min(bounds.width, parseFloat(mxUtils.getValue(this.state.style, 'dx', this.dx)))); | ||
1517 | - var dy = Math.max(0, Math.min(bounds.height / 2, parseFloat(mxUtils.getValue(this.state.style, 'dy', this.dy)))); | ||
1518 | - var arrowHead = Math.max(0, Math.min(bounds.height / 2, parseFloat(mxUtils.getValue(this.state.style, 'arrowHead', this.arrowHead)))); | ||
1519 | - | ||
1520 | - return new mxPoint(bounds.x + bounds.width - dx, bounds.y + bounds.height / 2 - dy - arrowHead); | ||
1521 | - }, function(bounds, pt) | ||
1522 | - { | ||
1523 | - this.state.style['arrowHead'] = Math.round(100 * Math.max(0, Math.min(bounds.height / 2 - parseFloat(mxUtils.getValue(this.state.style, 'dy', this.dy)), bounds.y + bounds.height / 2 - pt.y))) / 100; | ||
1524 | - }); | 1390 | + |
1391 | + var handle3 = Graph.createHandle(state, ['arrowHead'], function (bounds) { | ||
1392 | + var dx = Math.max(0, Math.min(bounds.width, parseFloat(mxUtils.getValue(this.state.style, 'dx', this.dx)))); | ||
1393 | + var dy = Math.max(0, Math.min(bounds.height / 2, parseFloat(mxUtils.getValue(this.state.style, 'dy', this.dy)))); | ||
1394 | + var arrowHead = Math.max(0, Math.min(bounds.height / 2, parseFloat(mxUtils.getValue(this.state.style, 'arrowHead', this.arrowHead)))); | ||
1395 | + | ||
1396 | + return new mxPoint(bounds.x + bounds.width - dx, bounds.y + bounds.height / 2 - dy - arrowHead); | ||
1397 | + }, function (bounds, pt) { | ||
1398 | + this.state.style['arrowHead'] = Math.round(100 * Math.max(0, Math.min(bounds.height / 2 - parseFloat(mxUtils.getValue(this.state.style, 'dy', this.dy)), bounds.y + bounds.height / 2 - pt.y))) / 100; | ||
1399 | + }); | ||
1525 | 1400 | ||
1526 | handles.push(handle3); | 1401 | handles.push(handle3); |
1527 | - | 1402 | + |
1528 | return handles; | 1403 | return handles; |
1529 | }; | 1404 | }; |
1530 | 1405 | ||
1531 | -mxShapeArrows2CalloutQuadArrow.prototype.getConstraints = function(style, w, h) | ||
1532 | -{ | 1406 | +mxShapeArrows2CalloutQuadArrow.prototype.getConstraints = function (style, w, h) { |
1533 | var constr = []; | 1407 | var constr = []; |
1534 | var dy = Math.max(0, Math.min(h, parseFloat(mxUtils.getValue(this.style, 'dy', this.dy)))); | 1408 | var dy = Math.max(0, Math.min(h, parseFloat(mxUtils.getValue(this.style, 'dy', this.dy)))); |
1535 | var dx = Math.max(0, Math.min(w, parseFloat(mxUtils.getValue(this.style, 'dx', this.dx)))); | 1409 | var dx = Math.max(0, Math.min(w, parseFloat(mxUtils.getValue(this.style, 'dx', this.dx)))); |
@@ -1568,7 +1442,7 @@ mxShapeArrows2CalloutQuadArrow.prototype.getConstraints = function(style, w, h) | @@ -1568,7 +1442,7 @@ mxShapeArrows2CalloutQuadArrow.prototype.getConstraints = function(style, w, h) | ||
1568 | constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w * 0.25 - (notch - dx) * 0.5, h * 0.5 + dy)); | 1442 | constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w * 0.25 - (notch - dx) * 0.5, h * 0.5 + dy)); |
1569 | constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w * 0.5 - dy, h * 0.25 - (notch - dx) * 0.5)); | 1443 | constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w * 0.5 - dy, h * 0.25 - (notch - dx) * 0.5)); |
1570 | constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w * 0.5 + dy, h * 0.25 - (notch - dx) * 0.5)); | 1444 | constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w * 0.5 + dy, h * 0.25 - (notch - dx) * 0.5)); |
1571 | - | 1445 | + |
1572 | return (constr); | 1446 | return (constr); |
1573 | }; | 1447 | }; |
1574 | 1448 | ||
@@ -1578,8 +1452,7 @@ mxShapeArrows2CalloutQuadArrow.prototype.getConstraints = function(style, w, h) | @@ -1578,8 +1452,7 @@ mxShapeArrows2CalloutQuadArrow.prototype.getConstraints = function(style, w, h) | ||
1578 | /** | 1452 | /** |
1579 | * Extends mxShape. | 1453 | * Extends mxShape. |
1580 | */ | 1454 | */ |
1581 | -function mxShapeArrows2CalloutDouble90Arrow(bounds, fill, stroke, strokewidth) | ||
1582 | -{ | 1455 | +function mxShapeArrows2CalloutDouble90Arrow(bounds, fill, stroke, strokewidth) { |
1583 | mxShape.call(this); | 1456 | mxShape.call(this); |
1584 | this.bounds = bounds; | 1457 | this.bounds = bounds; |
1585 | this.fill = fill; | 1458 | this.fill = fill; |
@@ -1598,15 +1471,15 @@ function mxShapeArrows2CalloutDouble90Arrow(bounds, fill, stroke, strokewidth) | @@ -1598,15 +1471,15 @@ function mxShapeArrows2CalloutDouble90Arrow(bounds, fill, stroke, strokewidth) | ||
1598 | mxUtils.extend(mxShapeArrows2CalloutDouble90Arrow, mxActor); | 1471 | mxUtils.extend(mxShapeArrows2CalloutDouble90Arrow, mxActor); |
1599 | 1472 | ||
1600 | mxShapeArrows2CalloutDouble90Arrow.prototype.customProperties = [ | 1473 | mxShapeArrows2CalloutDouble90Arrow.prototype.customProperties = [ |
1601 | - {name: 'dx1', dispName: 'Arrowhead Length', type: 'float', min:0, defVal:20}, | ||
1602 | - {name: 'dy1', dispName: 'Arrow Width', type: 'float', min:0, defVal: 10}, | ||
1603 | - {name: 'dx2', dispName: 'Callout Width', type: 'float', min:0, defVal:70}, | ||
1604 | - {name: 'dy2', dispName: 'Callout Height', type: 'float', min:0, defVal:70}, | ||
1605 | - {name: 'arrowHead', dispName: 'ArrowHead Width', type: 'float', min:0, defVal:10} | 1474 | + { name: 'dx1', dispName: 'Arrowhead Length', type: 'float', min: 0, defVal: 20 }, |
1475 | + { name: 'dy1', dispName: 'Arrow Width', type: 'float', min: 0, defVal: 10 }, | ||
1476 | + { name: 'dx2', dispName: 'Callout Width', type: 'float', min: 0, defVal: 70 }, | ||
1477 | + { name: 'dy2', dispName: 'Callout Height', type: 'float', min: 0, defVal: 70 }, | ||
1478 | + { name: 'arrowHead', dispName: 'ArrowHead Width', type: 'float', min: 0, defVal: 10 } | ||
1606 | ]; | 1479 | ]; |
1607 | 1480 | ||
1608 | mxShapeArrows2CalloutDouble90Arrow.prototype.cst = { | 1481 | mxShapeArrows2CalloutDouble90Arrow.prototype.cst = { |
1609 | - CALLOUT_DOUBLE_90_ARROW : 'mxgraph.arrows2.calloutDouble90Arrow' | 1482 | + CALLOUT_DOUBLE_90_ARROW: 'mxgraph.arrows2.calloutDouble90Arrow' |
1610 | }; | 1483 | }; |
1611 | 1484 | ||
1612 | /** | 1485 | /** |
@@ -1614,8 +1487,7 @@ mxShapeArrows2CalloutDouble90Arrow.prototype.cst = { | @@ -1614,8 +1487,7 @@ mxShapeArrows2CalloutDouble90Arrow.prototype.cst = { | ||
1614 | * | 1487 | * |
1615 | * Paints the vertex shape. | 1488 | * Paints the vertex shape. |
1616 | */ | 1489 | */ |
1617 | -mxShapeArrows2CalloutDouble90Arrow.prototype.paintVertexShape = function(c, x, y, w, h) | ||
1618 | -{ | 1490 | +mxShapeArrows2CalloutDouble90Arrow.prototype.paintVertexShape = function (c, x, y, w, h) { |
1619 | c.translate(x, y); | 1491 | c.translate(x, y); |
1620 | 1492 | ||
1621 | var dy1 = Math.max(0, Math.min(h, parseFloat(mxUtils.getValue(this.style, 'dy1', this.dy1)))); | 1493 | var dy1 = Math.max(0, Math.min(h, parseFloat(mxUtils.getValue(this.style, 'dy1', this.dy1)))); |
@@ -1651,55 +1523,47 @@ mxCellRenderer.registerShape(mxShapeArrows2CalloutDouble90Arrow.prototype.cst.CA | @@ -1651,55 +1523,47 @@ mxCellRenderer.registerShape(mxShapeArrows2CalloutDouble90Arrow.prototype.cst.CA | ||
1651 | 1523 | ||
1652 | mxShapeArrows2CalloutDouble90Arrow.prototype.constraints = null; | 1524 | mxShapeArrows2CalloutDouble90Arrow.prototype.constraints = null; |
1653 | 1525 | ||
1654 | -Graph.handleFactory[mxShapeArrows2CalloutDouble90Arrow.prototype.cst.CALLOUT_DOUBLE_90_ARROW] = function(state) | ||
1655 | -{ | ||
1656 | - var handles = [Graph.createHandle(state, ['dx1', 'dy1'], function(bounds) | ||
1657 | - { | ||
1658 | - var arrowHead = Math.max(0, Math.min(parseFloat(mxUtils.getValue(this.state.style, 'dy2', this.dy2)) / 2, parseFloat(mxUtils.getValue(this.state.style, 'arrowHead', this.arrowHead)))); | ||
1659 | - var dx1 = Math.max(0, Math.min(bounds.width - parseFloat(mxUtils.getValue(this.state.style, 'dx2', this.dx2)), parseFloat(mxUtils.getValue(this.state.style, 'dx1', this.dx1)))); | ||
1660 | - var dy1 = Math.max(0, Math.min(parseFloat(mxUtils.getValue(this.state.style, 'dy2', this.dy2)) / 2 - arrowHead, parseFloat(mxUtils.getValue(this.state.style, 'dy1', this.dy1)))); | ||
1661 | - | ||
1662 | - return new mxPoint(bounds.x + bounds.width - dx1, bounds.y + parseFloat(mxUtils.getValue(this.state.style, 'dy2', this.dy2)) / 2 - dy1); | ||
1663 | - }, function(bounds, pt) | ||
1664 | - { | ||
1665 | - this.state.style['dx1'] = Math.round(100 * Math.max(0, Math.min(bounds.width - parseFloat(mxUtils.getValue(this.state.style, 'dx2', this.dx2)), bounds.height - parseFloat(mxUtils.getValue(this.state.style, 'dy2', this.dy2)), bounds.x + bounds.width - pt.x))) / 100; | ||
1666 | - this.state.style['dy1'] = Math.round(100 * Math.max(0, Math.min(parseFloat(mxUtils.getValue(this.state.style, 'dy2', this.dy2)) / 2 - parseFloat(mxUtils.getValue(this.state.style, 'arrowHead', this.arrowHead)), bounds.y + parseFloat(mxUtils.getValue(this.state.style, 'dy2', this.dy2)) / 2 - pt.y))) / 100; | ||
1667 | - | ||
1668 | - })]; | ||
1669 | - | ||
1670 | - var handle2 = Graph.createHandle(state, ['dx2', 'dy2'], function(bounds) | ||
1671 | - { | ||
1672 | - var dx2 = Math.max(parseFloat(mxUtils.getValue(this.state.style, 'dy1', this.dy1)) + parseFloat(mxUtils.getValue(this.state.style, 'arrowHead', this.arrowHead)), Math.min(bounds.width - parseFloat(mxUtils.getValue(this.state.style, 'dx1', this.dx1)), parseFloat(mxUtils.getValue(this.state.style, 'dx2', this.dx2)))); | ||
1673 | - var dy2 = Math.max(parseFloat(mxUtils.getValue(this.state.style, 'dy1', this.dy1)) + parseFloat(mxUtils.getValue(this.state.style, 'arrowHead', this.arrowHead)), Math.min(bounds.height - parseFloat(mxUtils.getValue(this.state.style, 'dy1', this.dy1)), parseFloat(mxUtils.getValue(this.state.style, 'dy2', this.dy2)))); | ||
1674 | - | ||
1675 | - return new mxPoint(bounds.x + dx2, bounds.y + dy2); | ||
1676 | - }, function(bounds, pt) | ||
1677 | - { | ||
1678 | - this.state.style['dx2'] = Math.round(100 * Math.max(parseFloat(mxUtils.getValue(this.state.style, 'dy1', this.dy1)) + parseFloat(mxUtils.getValue(this.state.style, 'arrowHead', this.arrowHead)), Math.min(bounds.width - parseFloat(mxUtils.getValue(this.state.style, 'dx1', this.dx1)), pt.x - bounds.x))) / 100; | ||
1679 | - this.state.style['dy2'] = Math.round(100 * Math.max(parseFloat(mxUtils.getValue(this.state.style, 'dy1', this.dy1)) + parseFloat(mxUtils.getValue(this.state.style, 'arrowHead', this.arrowHead)), Math.min(bounds.height - parseFloat(mxUtils.getValue(this.state.style, 'dx1', this.dx1)), pt.y - bounds.y))) / 100; | ||
1680 | - }); | 1526 | +Graph.handleFactory[mxShapeArrows2CalloutDouble90Arrow.prototype.cst.CALLOUT_DOUBLE_90_ARROW] = function (state) { |
1527 | + var handles = [Graph.createHandle(state, ['dx1', 'dy1'], function (bounds) { | ||
1528 | + var arrowHead = Math.max(0, Math.min(parseFloat(mxUtils.getValue(this.state.style, 'dy2', this.dy2)) / 2, parseFloat(mxUtils.getValue(this.state.style, 'arrowHead', this.arrowHead)))); | ||
1529 | + var dx1 = Math.max(0, Math.min(bounds.width - parseFloat(mxUtils.getValue(this.state.style, 'dx2', this.dx2)), parseFloat(mxUtils.getValue(this.state.style, 'dx1', this.dx1)))); | ||
1530 | + var dy1 = Math.max(0, Math.min(parseFloat(mxUtils.getValue(this.state.style, 'dy2', this.dy2)) / 2 - arrowHead, parseFloat(mxUtils.getValue(this.state.style, 'dy1', this.dy1)))); | ||
1531 | + | ||
1532 | + return new mxPoint(bounds.x + bounds.width - dx1, bounds.y + parseFloat(mxUtils.getValue(this.state.style, 'dy2', this.dy2)) / 2 - dy1); | ||
1533 | + }, function (bounds, pt) { | ||
1534 | + this.state.style['dx1'] = Math.round(100 * Math.max(0, Math.min(bounds.width - parseFloat(mxUtils.getValue(this.state.style, 'dx2', this.dx2)), bounds.height - parseFloat(mxUtils.getValue(this.state.style, 'dy2', this.dy2)), bounds.x + bounds.width - pt.x))) / 100; | ||
1535 | + this.state.style['dy1'] = Math.round(100 * Math.max(0, Math.min(parseFloat(mxUtils.getValue(this.state.style, 'dy2', this.dy2)) / 2 - parseFloat(mxUtils.getValue(this.state.style, 'arrowHead', this.arrowHead)), bounds.y + parseFloat(mxUtils.getValue(this.state.style, 'dy2', this.dy2)) / 2 - pt.y))) / 100; | ||
1536 | + | ||
1537 | + })]; | ||
1538 | + | ||
1539 | + var handle2 = Graph.createHandle(state, ['dx2', 'dy2'], function (bounds) { | ||
1540 | + var dx2 = Math.max(parseFloat(mxUtils.getValue(this.state.style, 'dy1', this.dy1)) + parseFloat(mxUtils.getValue(this.state.style, 'arrowHead', this.arrowHead)), Math.min(bounds.width - parseFloat(mxUtils.getValue(this.state.style, 'dx1', this.dx1)), parseFloat(mxUtils.getValue(this.state.style, 'dx2', this.dx2)))); | ||
1541 | + var dy2 = Math.max(parseFloat(mxUtils.getValue(this.state.style, 'dy1', this.dy1)) + parseFloat(mxUtils.getValue(this.state.style, 'arrowHead', this.arrowHead)), Math.min(bounds.height - parseFloat(mxUtils.getValue(this.state.style, 'dy1', this.dy1)), parseFloat(mxUtils.getValue(this.state.style, 'dy2', this.dy2)))); | ||
1542 | + | ||
1543 | + return new mxPoint(bounds.x + dx2, bounds.y + dy2); | ||
1544 | + }, function (bounds, pt) { | ||
1545 | + this.state.style['dx2'] = Math.round(100 * Math.max(parseFloat(mxUtils.getValue(this.state.style, 'dy1', this.dy1)) + parseFloat(mxUtils.getValue(this.state.style, 'arrowHead', this.arrowHead)), Math.min(bounds.width - parseFloat(mxUtils.getValue(this.state.style, 'dx1', this.dx1)), pt.x - bounds.x))) / 100; | ||
1546 | + this.state.style['dy2'] = Math.round(100 * Math.max(parseFloat(mxUtils.getValue(this.state.style, 'dy1', this.dy1)) + parseFloat(mxUtils.getValue(this.state.style, 'arrowHead', this.arrowHead)), Math.min(bounds.height - parseFloat(mxUtils.getValue(this.state.style, 'dx1', this.dx1)), pt.y - bounds.y))) / 100; | ||
1547 | + }); | ||
1681 | 1548 | ||
1682 | handles.push(handle2); | 1549 | handles.push(handle2); |
1683 | - | ||
1684 | - var handle3 = Graph.createHandle(state, ['arrowHead'], function(bounds) | ||
1685 | - { | ||
1686 | - var dx1 = Math.max(0, Math.min(bounds.width, parseFloat(mxUtils.getValue(this.state.style, 'dx1', this.dx1)))); | ||
1687 | - var dy1 = Math.max(0, Math.min(parseFloat(mxUtils.getValue(this.state.style, 'dy2', this.dy2)) / 2, parseFloat(mxUtils.getValue(this.state.style, 'dy1', this.dy1)))); | ||
1688 | - var arrowHead = Math.max(0, Math.min(parseFloat(mxUtils.getValue(this.state.style, 'dy2', this.dy2)) / 2, parseFloat(mxUtils.getValue(this.state.style, 'arrowHead', this.arrowHead)))); | ||
1689 | - | ||
1690 | - return new mxPoint(bounds.x + bounds.width - dx1, bounds.y + parseFloat(mxUtils.getValue(this.state.style, 'dy2', this.dy2)) / 2 - dy1 - arrowHead); | ||
1691 | - }, function(bounds, pt) | ||
1692 | - { | ||
1693 | - this.state.style['arrowHead'] = Math.round(100 * Math.max(0, Math.min(parseFloat(mxUtils.getValue(this.state.style, 'dy2', this.dy2)) / 2 - parseFloat(mxUtils.getValue(this.state.style, 'dy1', this.dy1)), bounds.y + parseFloat(mxUtils.getValue(this.state.style, 'dy2', this.dy2)) / 2 - parseFloat(mxUtils.getValue(this.state.style, 'dy1', this.dy1)) - pt.y))) / 100; | ||
1694 | - }); | 1550 | + |
1551 | + var handle3 = Graph.createHandle(state, ['arrowHead'], function (bounds) { | ||
1552 | + var dx1 = Math.max(0, Math.min(bounds.width, parseFloat(mxUtils.getValue(this.state.style, 'dx1', this.dx1)))); | ||
1553 | + var dy1 = Math.max(0, Math.min(parseFloat(mxUtils.getValue(this.state.style, 'dy2', this.dy2)) / 2, parseFloat(mxUtils.getValue(this.state.style, 'dy1', this.dy1)))); | ||
1554 | + var arrowHead = Math.max(0, Math.min(parseFloat(mxUtils.getValue(this.state.style, 'dy2', this.dy2)) / 2, parseFloat(mxUtils.getValue(this.state.style, 'arrowHead', this.arrowHead)))); | ||
1555 | + | ||
1556 | + return new mxPoint(bounds.x + bounds.width - dx1, bounds.y + parseFloat(mxUtils.getValue(this.state.style, 'dy2', this.dy2)) / 2 - dy1 - arrowHead); | ||
1557 | + }, function (bounds, pt) { | ||
1558 | + this.state.style['arrowHead'] = Math.round(100 * Math.max(0, Math.min(parseFloat(mxUtils.getValue(this.state.style, 'dy2', this.dy2)) / 2 - parseFloat(mxUtils.getValue(this.state.style, 'dy1', this.dy1)), bounds.y + parseFloat(mxUtils.getValue(this.state.style, 'dy2', this.dy2)) / 2 - parseFloat(mxUtils.getValue(this.state.style, 'dy1', this.dy1)) - pt.y))) / 100; | ||
1559 | + }); | ||
1695 | 1560 | ||
1696 | handles.push(handle3); | 1561 | handles.push(handle3); |
1697 | - | 1562 | + |
1698 | return handles; | 1563 | return handles; |
1699 | }; | 1564 | }; |
1700 | 1565 | ||
1701 | -mxShapeArrows2CalloutDouble90Arrow.prototype.getConstraints = function(style, w, h) | ||
1702 | -{ | 1566 | +mxShapeArrows2CalloutDouble90Arrow.prototype.getConstraints = function (style, w, h) { |
1703 | var constr = []; | 1567 | var constr = []; |
1704 | var dy1 = Math.max(0, Math.min(h, parseFloat(mxUtils.getValue(this.style, 'dy1', this.dy1)))); | 1568 | var dy1 = Math.max(0, Math.min(h, parseFloat(mxUtils.getValue(this.style, 'dy1', this.dy1)))); |
1705 | var dx1 = Math.max(0, Math.min(w, parseFloat(mxUtils.getValue(this.style, 'dx1', this.dx1)))); | 1569 | var dx1 = Math.max(0, Math.min(w, parseFloat(mxUtils.getValue(this.style, 'dx1', this.dx1)))); |
@@ -1722,7 +1586,7 @@ mxShapeArrows2CalloutDouble90Arrow.prototype.getConstraints = function(style, w, | @@ -1722,7 +1586,7 @@ mxShapeArrows2CalloutDouble90Arrow.prototype.getConstraints = function(style, w, | ||
1722 | constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, dx2 / 2, h)); | 1586 | constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, dx2 / 2, h)); |
1723 | constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, dx2 / 2 - dy1 - arrowHead, h - dx1)); | 1587 | constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, dx2 / 2 - dy1 - arrowHead, h - dx1)); |
1724 | constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, 0, dy2)); | 1588 | constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, 0, dy2)); |
1725 | - | 1589 | + |
1726 | return (constr); | 1590 | return (constr); |
1727 | }; | 1591 | }; |
1728 | 1592 | ||
@@ -1732,8 +1596,7 @@ mxShapeArrows2CalloutDouble90Arrow.prototype.getConstraints = function(style, w, | @@ -1732,8 +1596,7 @@ mxShapeArrows2CalloutDouble90Arrow.prototype.getConstraints = function(style, w, | ||
1732 | /** | 1596 | /** |
1733 | * Extends mxShape. | 1597 | * Extends mxShape. |
1734 | */ | 1598 | */ |
1735 | -function mxShapeArrows2QuadArrow(bounds, fill, stroke, strokewidth) | ||
1736 | -{ | 1599 | +function mxShapeArrows2QuadArrow(bounds, fill, stroke, strokewidth) { |
1737 | mxShape.call(this); | 1600 | mxShape.call(this); |
1738 | this.bounds = bounds; | 1601 | this.bounds = bounds; |
1739 | this.fill = fill; | 1602 | this.fill = fill; |
@@ -1751,13 +1614,13 @@ function mxShapeArrows2QuadArrow(bounds, fill, stroke, strokewidth) | @@ -1751,13 +1614,13 @@ function mxShapeArrows2QuadArrow(bounds, fill, stroke, strokewidth) | ||
1751 | mxUtils.extend(mxShapeArrows2QuadArrow, mxActor); | 1614 | mxUtils.extend(mxShapeArrows2QuadArrow, mxActor); |
1752 | 1615 | ||
1753 | mxShapeArrows2QuadArrow.prototype.customProperties = [ | 1616 | mxShapeArrows2QuadArrow.prototype.customProperties = [ |
1754 | - {name: 'dx', dispName: 'Arrowhead Length', type: 'float', min:0, defVal:20}, | ||
1755 | - {name: 'dy', dispName: 'Arrow Width', type: 'float', min:0, defVal:10}, | ||
1756 | - {name: 'arrowHead', dispName: 'Arrowhead Width', type: 'float', min:0, defVal:10} | 1617 | + { name: 'dx', dispName: 'Arrowhead Length', type: 'float', min: 0, defVal: 20 }, |
1618 | + { name: 'dy', dispName: 'Arrow Width', type: 'float', min: 0, defVal: 10 }, | ||
1619 | + { name: 'arrowHead', dispName: 'Arrowhead Width', type: 'float', min: 0, defVal: 10 } | ||
1757 | ]; | 1620 | ]; |
1758 | 1621 | ||
1759 | mxShapeArrows2QuadArrow.prototype.cst = { | 1622 | mxShapeArrows2QuadArrow.prototype.cst = { |
1760 | - QUAD_ARROW : 'mxgraph.arrows2.quadArrow' | 1623 | + QUAD_ARROW: 'mxgraph.arrows2.quadArrow' |
1761 | }; | 1624 | }; |
1762 | 1625 | ||
1763 | /** | 1626 | /** |
@@ -1765,8 +1628,7 @@ mxShapeArrows2QuadArrow.prototype.cst = { | @@ -1765,8 +1628,7 @@ mxShapeArrows2QuadArrow.prototype.cst = { | ||
1765 | * | 1628 | * |
1766 | * Paints the vertex shape. | 1629 | * Paints the vertex shape. |
1767 | */ | 1630 | */ |
1768 | -mxShapeArrows2QuadArrow.prototype.paintVertexShape = function(c, x, y, w, h) | ||
1769 | -{ | 1631 | +mxShapeArrows2QuadArrow.prototype.paintVertexShape = function (c, x, y, w, h) { |
1770 | c.translate(x, y); | 1632 | c.translate(x, y); |
1771 | 1633 | ||
1772 | var dy = Math.max(0, Math.min(h, parseFloat(mxUtils.getValue(this.style, 'dy', this.dy)))); | 1634 | var dy = Math.max(0, Math.min(h, parseFloat(mxUtils.getValue(this.style, 'dy', this.dy)))); |
@@ -1806,41 +1668,35 @@ mxCellRenderer.registerShape(mxShapeArrows2QuadArrow.prototype.cst.QUAD_ARROW, m | @@ -1806,41 +1668,35 @@ mxCellRenderer.registerShape(mxShapeArrows2QuadArrow.prototype.cst.QUAD_ARROW, m | ||
1806 | 1668 | ||
1807 | mxShapeArrows2QuadArrow.prototype.constraints = null; | 1669 | mxShapeArrows2QuadArrow.prototype.constraints = null; |
1808 | 1670 | ||
1809 | -Graph.handleFactory[mxShapeArrows2QuadArrow.prototype.cst.QUAD_ARROW] = function(state) | ||
1810 | -{ | ||
1811 | - var handles = [Graph.createHandle(state, ['dx', 'dy'], function(bounds) | ||
1812 | - { | ||
1813 | - var arrowHead = Math.max(0, Math.min(bounds.height / 2, parseFloat(mxUtils.getValue(this.state.style, 'arrowHead', this.arrowHead)))); | ||
1814 | - var dx = Math.max(0, Math.min(bounds.width, parseFloat(mxUtils.getValue(this.state.style, 'dx', this.dx)))); | ||
1815 | - var dy = Math.max(0, Math.min(bounds.height / 2, parseFloat(mxUtils.getValue(this.state.style, 'dy', this.dy)))); | ||
1816 | - | ||
1817 | - return new mxPoint(bounds.x + bounds.width - dx, bounds.y + bounds.height / 2 - dy); | ||
1818 | - }, function(bounds, pt) | ||
1819 | - { | ||
1820 | - this.state.style['dx'] = Math.round(100 * Math.max(0, Math.min(Math.min(bounds.width, bounds.height) / 2 - parseFloat(mxUtils.getValue(this.state.style, 'dy', this.dy)) - parseFloat(mxUtils.getValue(this.state.style, 'arrowHead', this.arrowHead)), bounds.x + bounds.width - pt.x))) / 100; | ||
1821 | - this.state.style['dy'] = Math.round(100 * Math.max(0, Math.min(bounds.height / 2 - parseFloat(mxUtils.getValue(this.state.style, 'arrowHead', this.arrowHead)), bounds.y + bounds.height / 2 - pt.y))) / 100; | ||
1822 | - | ||
1823 | - })]; | ||
1824 | - | ||
1825 | - var handle2 = Graph.createHandle(state, ['arrowHead'], function(bounds) | ||
1826 | - { | ||
1827 | - var dx = Math.max(0, Math.min(bounds.width, parseFloat(mxUtils.getValue(this.state.style, 'dx', this.dx)))); | ||
1828 | - var dy = Math.max(0, Math.min(bounds.height / 2, parseFloat(mxUtils.getValue(this.state.style, 'dy', this.dy)))); | ||
1829 | - var arrowHead = Math.max(0, Math.min(bounds.height / 2, parseFloat(mxUtils.getValue(this.state.style, 'arrowHead', this.arrowHead)))); | ||
1830 | - | ||
1831 | - return new mxPoint(bounds.x + bounds.width - dx, bounds.y + bounds.height / 2 - dy - arrowHead); | ||
1832 | - }, function(bounds, pt) | ||
1833 | - { | ||
1834 | - this.state.style['arrowHead'] = Math.round(100 * Math.max(0, Math.min(bounds.height / 2 - parseFloat(mxUtils.getValue(this.state.style, 'dy', this.dy)), bounds.y + bounds.height / 2 - pt.y))) / 100; | ||
1835 | - }); | 1671 | +Graph.handleFactory[mxShapeArrows2QuadArrow.prototype.cst.QUAD_ARROW] = function (state) { |
1672 | + var handles = [Graph.createHandle(state, ['dx', 'dy'], function (bounds) { | ||
1673 | + var arrowHead = Math.max(0, Math.min(bounds.height / 2, parseFloat(mxUtils.getValue(this.state.style, 'arrowHead', this.arrowHead)))); | ||
1674 | + var dx = Math.max(0, Math.min(bounds.width, parseFloat(mxUtils.getValue(this.state.style, 'dx', this.dx)))); | ||
1675 | + var dy = Math.max(0, Math.min(bounds.height / 2, parseFloat(mxUtils.getValue(this.state.style, 'dy', this.dy)))); | ||
1676 | + | ||
1677 | + return new mxPoint(bounds.x + bounds.width - dx, bounds.y + bounds.height / 2 - dy); | ||
1678 | + }, function (bounds, pt) { | ||
1679 | + this.state.style['dx'] = Math.round(100 * Math.max(0, Math.min(Math.min(bounds.width, bounds.height) / 2 - parseFloat(mxUtils.getValue(this.state.style, 'dy', this.dy)) - parseFloat(mxUtils.getValue(this.state.style, 'arrowHead', this.arrowHead)), bounds.x + bounds.width - pt.x))) / 100; | ||
1680 | + this.state.style['dy'] = Math.round(100 * Math.max(0, Math.min(bounds.height / 2 - parseFloat(mxUtils.getValue(this.state.style, 'arrowHead', this.arrowHead)), bounds.y + bounds.height / 2 - pt.y))) / 100; | ||
1681 | + | ||
1682 | + })]; | ||
1683 | + | ||
1684 | + var handle2 = Graph.createHandle(state, ['arrowHead'], function (bounds) { | ||
1685 | + var dx = Math.max(0, Math.min(bounds.width, parseFloat(mxUtils.getValue(this.state.style, 'dx', this.dx)))); | ||
1686 | + var dy = Math.max(0, Math.min(bounds.height / 2, parseFloat(mxUtils.getValue(this.state.style, 'dy', this.dy)))); | ||
1687 | + var arrowHead = Math.max(0, Math.min(bounds.height / 2, parseFloat(mxUtils.getValue(this.state.style, 'arrowHead', this.arrowHead)))); | ||
1688 | + | ||
1689 | + return new mxPoint(bounds.x + bounds.width - dx, bounds.y + bounds.height / 2 - dy - arrowHead); | ||
1690 | + }, function (bounds, pt) { | ||
1691 | + this.state.style['arrowHead'] = Math.round(100 * Math.max(0, Math.min(bounds.height / 2 - parseFloat(mxUtils.getValue(this.state.style, 'dy', this.dy)), bounds.y + bounds.height / 2 - pt.y))) / 100; | ||
1692 | + }); | ||
1836 | 1693 | ||
1837 | handles.push(handle2); | 1694 | handles.push(handle2); |
1838 | - | 1695 | + |
1839 | return handles; | 1696 | return handles; |
1840 | }; | 1697 | }; |
1841 | 1698 | ||
1842 | -mxShapeArrows2QuadArrow.prototype.getConstraints = function(style, w, h) | ||
1843 | -{ | 1699 | +mxShapeArrows2QuadArrow.prototype.getConstraints = function (style, w, h) { |
1844 | var constr = []; | 1700 | var constr = []; |
1845 | var dy = Math.max(0, Math.min(h, parseFloat(mxUtils.getValue(this.style, 'dy', this.dy)))); | 1701 | var dy = Math.max(0, Math.min(h, parseFloat(mxUtils.getValue(this.style, 'dy', this.dy)))); |
1846 | var dx = Math.max(0, Math.min(w, parseFloat(mxUtils.getValue(this.style, 'dx', this.dx)))); | 1702 | var dx = Math.max(0, Math.min(w, parseFloat(mxUtils.getValue(this.style, 'dx', this.dx)))); |
@@ -1866,7 +1722,7 @@ mxShapeArrows2QuadArrow.prototype.getConstraints = function(style, w, h) | @@ -1866,7 +1722,7 @@ mxShapeArrows2QuadArrow.prototype.getConstraints = function(style, w, h) | ||
1866 | constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, (dx - dy) * 0.5 + w * 0.25, h * 0.5 + dy)); | 1722 | constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, (dx - dy) * 0.5 + w * 0.25, h * 0.5 + dy)); |
1867 | constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, (dy - dx) * 0.5 + w * 0.75, h * 0.5 - dy)); | 1723 | constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, (dy - dx) * 0.5 + w * 0.75, h * 0.5 - dy)); |
1868 | constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, (dy - dx) * 0.5 + w * 0.75, h * 0.5 + dy)); | 1724 | constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, (dy - dx) * 0.5 + w * 0.75, h * 0.5 + dy)); |
1869 | - | 1725 | + |
1870 | return (constr); | 1726 | return (constr); |
1871 | }; | 1727 | }; |
1872 | 1728 | ||
@@ -1876,8 +1732,7 @@ mxShapeArrows2QuadArrow.prototype.getConstraints = function(style, w, h) | @@ -1876,8 +1732,7 @@ mxShapeArrows2QuadArrow.prototype.getConstraints = function(style, w, h) | ||
1876 | /** | 1732 | /** |
1877 | * Extends mxShape. | 1733 | * Extends mxShape. |
1878 | */ | 1734 | */ |
1879 | -function mxShapeArrows2TriadArrow(bounds, fill, stroke, strokewidth) | ||
1880 | -{ | 1735 | +function mxShapeArrows2TriadArrow(bounds, fill, stroke, strokewidth) { |
1881 | mxShape.call(this); | 1736 | mxShape.call(this); |
1882 | this.bounds = bounds; | 1737 | this.bounds = bounds; |
1883 | this.fill = fill; | 1738 | this.fill = fill; |
@@ -1894,13 +1749,13 @@ function mxShapeArrows2TriadArrow(bounds, fill, stroke, strokewidth) | @@ -1894,13 +1749,13 @@ function mxShapeArrows2TriadArrow(bounds, fill, stroke, strokewidth) | ||
1894 | mxUtils.extend(mxShapeArrows2TriadArrow, mxActor); | 1749 | mxUtils.extend(mxShapeArrows2TriadArrow, mxActor); |
1895 | 1750 | ||
1896 | mxShapeArrows2TriadArrow.prototype.customProperties = [ | 1751 | mxShapeArrows2TriadArrow.prototype.customProperties = [ |
1897 | - {name: 'dx', dispName: 'Arrowhead Length', type: 'float', min:0, defVal:20}, | ||
1898 | - {name: 'dy', dispName: 'Arrow Width', type: 'float', min:0, defVal:10}, | ||
1899 | - {name: 'arrowHead', dispName: 'Arrowhead Width', type: 'float', min:0, defVal:40} | 1752 | + { name: 'dx', dispName: 'Arrowhead Length', type: 'float', min: 0, defVal: 20 }, |
1753 | + { name: 'dy', dispName: 'Arrow Width', type: 'float', min: 0, defVal: 10 }, | ||
1754 | + { name: 'arrowHead', dispName: 'Arrowhead Width', type: 'float', min: 0, defVal: 40 } | ||
1900 | ]; | 1755 | ]; |
1901 | 1756 | ||
1902 | mxShapeArrows2TriadArrow.prototype.cst = { | 1757 | mxShapeArrows2TriadArrow.prototype.cst = { |
1903 | - TRIAD_ARROW : 'mxgraph.arrows2.triadArrow' | 1758 | + TRIAD_ARROW: 'mxgraph.arrows2.triadArrow' |
1904 | }; | 1759 | }; |
1905 | 1760 | ||
1906 | /** | 1761 | /** |
@@ -1908,8 +1763,7 @@ mxShapeArrows2TriadArrow.prototype.cst = { | @@ -1908,8 +1763,7 @@ mxShapeArrows2TriadArrow.prototype.cst = { | ||
1908 | * | 1763 | * |
1909 | * Paints the vertex shape. | 1764 | * Paints the vertex shape. |
1910 | */ | 1765 | */ |
1911 | -mxShapeArrows2TriadArrow.prototype.paintVertexShape = function(c, x, y, w, h) | ||
1912 | -{ | 1766 | +mxShapeArrows2TriadArrow.prototype.paintVertexShape = function (c, x, y, w, h) { |
1913 | c.translate(x, y); | 1767 | c.translate(x, y); |
1914 | 1768 | ||
1915 | var dy = Math.max(0, Math.min(h, parseFloat(mxUtils.getValue(this.style, 'dy', this.dy)))); | 1769 | var dy = Math.max(0, Math.min(h, parseFloat(mxUtils.getValue(this.style, 'dy', this.dy)))); |
@@ -1942,41 +1796,35 @@ mxCellRenderer.registerShape(mxShapeArrows2TriadArrow.prototype.cst.TRIAD_ARROW, | @@ -1942,41 +1796,35 @@ mxCellRenderer.registerShape(mxShapeArrows2TriadArrow.prototype.cst.TRIAD_ARROW, | ||
1942 | 1796 | ||
1943 | mxShapeArrows2TriadArrow.prototype.constraints = null; | 1797 | mxShapeArrows2TriadArrow.prototype.constraints = null; |
1944 | 1798 | ||
1945 | -Graph.handleFactory[mxShapeArrows2TriadArrow.prototype.cst.TRIAD_ARROW] = function(state) | ||
1946 | -{ | ||
1947 | - var handles = [Graph.createHandle(state, ['dx', 'dy'], function(bounds) | ||
1948 | - { | ||
1949 | - var arrowHead = Math.max(0, Math.min(bounds.height / 2, parseFloat(mxUtils.getValue(this.state.style, 'arrowHead', this.arrowHead)))); | ||
1950 | - var dx = Math.max(0, Math.min(bounds.width, parseFloat(mxUtils.getValue(this.state.style, 'dx', this.dx)))); | ||
1951 | - var dy = Math.max(0, Math.min(arrowHead, parseFloat(mxUtils.getValue(this.state.style, 'dy', this.dy)))); | ||
1952 | - | ||
1953 | - return new mxPoint(bounds.x + bounds.width - dx, bounds.y + bounds.height - dy); | ||
1954 | - }, function(bounds, pt) | ||
1955 | - { | ||
1956 | - this.state.style['dx'] = Math.round(100 * Math.max(0, Math.min(Math.min(bounds.height - parseFloat(mxUtils.getValue(this.state.style, 'arrowHead', this.arrowHead)), bounds.width / 2 - parseFloat(mxUtils.getValue(this.state.style, 'arrowHead', this.arrowHead)) / 2), bounds.x + bounds.width - pt.x))) / 100; | ||
1957 | - this.state.style['dy'] = Math.round(100 * Math.max(0, Math.min(parseFloat(mxUtils.getValue(this.state.style, 'arrowHead', this.arrowHead)) / 2, bounds.y + bounds.height - pt.y))) / 100; | ||
1958 | - | ||
1959 | - })]; | ||
1960 | - | ||
1961 | - var handle2 = Graph.createHandle(state, ['arrowHead'], function(bounds) | ||
1962 | - { | ||
1963 | - var dx = Math.max(0, Math.min(bounds.width, parseFloat(mxUtils.getValue(this.state.style, 'dx', this.dx)))); | ||
1964 | - var dy = Math.max(0, Math.min(bounds.height / 2, parseFloat(mxUtils.getValue(this.state.style, 'dy', this.dy)))); | ||
1965 | - var arrowHead = Math.max(0, Math.min(bounds.height, parseFloat(mxUtils.getValue(this.state.style, 'arrowHead', this.arrowHead)))); | ||
1966 | - | ||
1967 | - return new mxPoint(bounds.x + bounds.width - dx, bounds.y + bounds.height - arrowHead); | ||
1968 | - }, function(bounds, pt) | ||
1969 | - { | ||
1970 | - this.state.style['arrowHead'] = Math.round(100 * Math.max(2 * parseFloat(mxUtils.getValue(this.state.style, 'dy', this.dy)), Math.min(bounds.height - parseFloat(mxUtils.getValue(this.state.style, 'dx', this.dx)), bounds.width - parseFloat(mxUtils.getValue(this.state.style, 'dx', this.dx)) * 2, bounds.y + bounds.height - pt.y))) / 100; | ||
1971 | - }); | 1799 | +Graph.handleFactory[mxShapeArrows2TriadArrow.prototype.cst.TRIAD_ARROW] = function (state) { |
1800 | + var handles = [Graph.createHandle(state, ['dx', 'dy'], function (bounds) { | ||
1801 | + var arrowHead = Math.max(0, Math.min(bounds.height / 2, parseFloat(mxUtils.getValue(this.state.style, 'arrowHead', this.arrowHead)))); | ||
1802 | + var dx = Math.max(0, Math.min(bounds.width, parseFloat(mxUtils.getValue(this.state.style, 'dx', this.dx)))); | ||
1803 | + var dy = Math.max(0, Math.min(arrowHead, parseFloat(mxUtils.getValue(this.state.style, 'dy', this.dy)))); | ||
1804 | + | ||
1805 | + return new mxPoint(bounds.x + bounds.width - dx, bounds.y + bounds.height - dy); | ||
1806 | + }, function (bounds, pt) { | ||
1807 | + this.state.style['dx'] = Math.round(100 * Math.max(0, Math.min(Math.min(bounds.height - parseFloat(mxUtils.getValue(this.state.style, 'arrowHead', this.arrowHead)), bounds.width / 2 - parseFloat(mxUtils.getValue(this.state.style, 'arrowHead', this.arrowHead)) / 2), bounds.x + bounds.width - pt.x))) / 100; | ||
1808 | + this.state.style['dy'] = Math.round(100 * Math.max(0, Math.min(parseFloat(mxUtils.getValue(this.state.style, 'arrowHead', this.arrowHead)) / 2, bounds.y + bounds.height - pt.y))) / 100; | ||
1809 | + | ||
1810 | + })]; | ||
1811 | + | ||
1812 | + var handle2 = Graph.createHandle(state, ['arrowHead'], function (bounds) { | ||
1813 | + var dx = Math.max(0, Math.min(bounds.width, parseFloat(mxUtils.getValue(this.state.style, 'dx', this.dx)))); | ||
1814 | + var dy = Math.max(0, Math.min(bounds.height / 2, parseFloat(mxUtils.getValue(this.state.style, 'dy', this.dy)))); | ||
1815 | + var arrowHead = Math.max(0, Math.min(bounds.height, parseFloat(mxUtils.getValue(this.state.style, 'arrowHead', this.arrowHead)))); | ||
1816 | + | ||
1817 | + return new mxPoint(bounds.x + bounds.width - dx, bounds.y + bounds.height - arrowHead); | ||
1818 | + }, function (bounds, pt) { | ||
1819 | + this.state.style['arrowHead'] = Math.round(100 * Math.max(2 * parseFloat(mxUtils.getValue(this.state.style, 'dy', this.dy)), Math.min(bounds.height - parseFloat(mxUtils.getValue(this.state.style, 'dx', this.dx)), bounds.width - parseFloat(mxUtils.getValue(this.state.style, 'dx', this.dx)) * 2, bounds.y + bounds.height - pt.y))) / 100; | ||
1820 | + }); | ||
1972 | 1821 | ||
1973 | handles.push(handle2); | 1822 | handles.push(handle2); |
1974 | - | 1823 | + |
1975 | return handles; | 1824 | return handles; |
1976 | }; | 1825 | }; |
1977 | 1826 | ||
1978 | -mxShapeArrows2TriadArrow.prototype.getConstraints = function(style, w, h) | ||
1979 | -{ | 1827 | +mxShapeArrows2TriadArrow.prototype.getConstraints = function (style, w, h) { |
1980 | var constr = []; | 1828 | var constr = []; |
1981 | var dy = Math.max(0, Math.min(h, parseFloat(mxUtils.getValue(this.style, 'dy', this.dy)))); | 1829 | var dy = Math.max(0, Math.min(h, parseFloat(mxUtils.getValue(this.style, 'dy', this.dy)))); |
1982 | var dx = Math.max(0, Math.min(w, parseFloat(mxUtils.getValue(this.style, 'dx', this.dx)))); | 1830 | var dx = Math.max(0, Math.min(w, parseFloat(mxUtils.getValue(this.style, 'dx', this.dx)))); |
@@ -1998,7 +1846,7 @@ mxShapeArrows2TriadArrow.prototype.getConstraints = function(style, w, h) | @@ -1998,7 +1846,7 @@ mxShapeArrows2TriadArrow.prototype.getConstraints = function(style, w, h) | ||
1998 | constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, (w * 0.5 + dx - arrowHead * 0.5 + dy) * 0.5, h - dy)); | 1846 | constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, (w * 0.5 + dx - arrowHead * 0.5 + dy) * 0.5, h - dy)); |
1999 | constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w * 0.5 - arrowHead * 0.5 + dy, (dx + h - arrowHead + dy) * 0.5)); | 1847 | constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w * 0.5 - arrowHead * 0.5 + dy, (dx + h - arrowHead + dy) * 0.5)); |
2000 | constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w * 0.5 + arrowHead * 0.5 - dy, (dx + h - arrowHead + dy) * 0.5)); | 1848 | constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w * 0.5 + arrowHead * 0.5 - dy, (dx + h - arrowHead + dy) * 0.5)); |
2001 | - | 1849 | + |
2002 | return (constr); | 1850 | return (constr); |
2003 | }; | 1851 | }; |
2004 | 1852 | ||
@@ -2008,8 +1856,7 @@ mxShapeArrows2TriadArrow.prototype.getConstraints = function(style, w, h) | @@ -2008,8 +1856,7 @@ mxShapeArrows2TriadArrow.prototype.getConstraints = function(style, w, h) | ||
2008 | /** | 1856 | /** |
2009 | * Extends mxShape. | 1857 | * Extends mxShape. |
2010 | */ | 1858 | */ |
2011 | -function mxShapeArrows2TailedArrow(bounds, fill, stroke, strokewidth) | ||
2012 | -{ | 1859 | +function mxShapeArrows2TailedArrow(bounds, fill, stroke, strokewidth) { |
2013 | mxShape.call(this); | 1860 | mxShape.call(this); |
2014 | this.bounds = bounds; | 1861 | this.bounds = bounds; |
2015 | this.fill = fill; | 1862 | this.fill = fill; |
@@ -2027,16 +1874,16 @@ function mxShapeArrows2TailedArrow(bounds, fill, stroke, strokewidth) | @@ -2027,16 +1874,16 @@ function mxShapeArrows2TailedArrow(bounds, fill, stroke, strokewidth) | ||
2027 | mxUtils.extend(mxShapeArrows2TailedArrow, mxActor); | 1874 | mxUtils.extend(mxShapeArrows2TailedArrow, mxActor); |
2028 | 1875 | ||
2029 | mxShapeArrows2TailedArrow.prototype.customProperties = [ | 1876 | mxShapeArrows2TailedArrow.prototype.customProperties = [ |
2030 | - {name: 'dx1', dispName: 'Arrowhead Length', type: 'float', min:0, defVal: 20}, | ||
2031 | - {name: 'dy1', dispName: 'Arrow Width', type: 'float', min:0, defVal: 10}, | ||
2032 | - {name: 'dx2', dispName: 'Tail Length', type: 'float', min:0, defVal: 25}, | ||
2033 | - {name: 'dy2', dispName: 'Tail Width', type: 'float', min:0, defVal:30}, | ||
2034 | - {name: 'notch', dispName: 'Notch', type: 'float', min:0, defVal: 0}, | ||
2035 | - {name: 'arrowHead', dispName: 'Arrowhead Width', type: 'float', min:0, defVal:20} | 1877 | + { name: 'dx1', dispName: 'Arrowhead Length', type: 'float', min: 0, defVal: 20 }, |
1878 | + { name: 'dy1', dispName: 'Arrow Width', type: 'float', min: 0, defVal: 10 }, | ||
1879 | + { name: 'dx2', dispName: 'Tail Length', type: 'float', min: 0, defVal: 25 }, | ||
1880 | + { name: 'dy2', dispName: 'Tail Width', type: 'float', min: 0, defVal: 30 }, | ||
1881 | + { name: 'notch', dispName: 'Notch', type: 'float', min: 0, defVal: 0 }, | ||
1882 | + { name: 'arrowHead', dispName: 'Arrowhead Width', type: 'float', min: 0, defVal: 20 } | ||
2036 | ]; | 1883 | ]; |
2037 | 1884 | ||
2038 | mxShapeArrows2TailedArrow.prototype.cst = { | 1885 | mxShapeArrows2TailedArrow.prototype.cst = { |
2039 | - TAILED_ARROW : 'mxgraph.arrows2.tailedArrow' | 1886 | + TAILED_ARROW: 'mxgraph.arrows2.tailedArrow' |
2040 | }; | 1887 | }; |
2041 | 1888 | ||
2042 | /** | 1889 | /** |
@@ -2044,8 +1891,7 @@ mxShapeArrows2TailedArrow.prototype.cst = { | @@ -2044,8 +1891,7 @@ mxShapeArrows2TailedArrow.prototype.cst = { | ||
2044 | * | 1891 | * |
2045 | * Paints the vertex shape. | 1892 | * Paints the vertex shape. |
2046 | */ | 1893 | */ |
2047 | -mxShapeArrows2TailedArrow.prototype.paintVertexShape = function(c, x, y, w, h) | ||
2048 | -{ | 1894 | +mxShapeArrows2TailedArrow.prototype.paintVertexShape = function (c, x, y, w, h) { |
2049 | c.translate(x, y); | 1895 | c.translate(x, y); |
2050 | 1896 | ||
2051 | var dy1 = Math.max(0, Math.min(h, parseFloat(mxUtils.getValue(this.style, 'dy1', this.dy1)))); | 1897 | var dy1 = Math.max(0, Math.min(h, parseFloat(mxUtils.getValue(this.style, 'dy1', this.dy1)))); |
@@ -2055,9 +1901,8 @@ mxShapeArrows2TailedArrow.prototype.paintVertexShape = function(c, x, y, w, h) | @@ -2055,9 +1901,8 @@ mxShapeArrows2TailedArrow.prototype.paintVertexShape = function(c, x, y, w, h) | ||
2055 | var notch = Math.max(0, Math.min(w, parseFloat(mxUtils.getValue(this.style, 'notch', this.notch)))); | 1901 | var notch = Math.max(0, Math.min(w, parseFloat(mxUtils.getValue(this.style, 'notch', this.notch)))); |
2056 | var arrowHead = Math.max(0, Math.min(h, parseFloat(mxUtils.getValue(this.style, 'arrowHead', this.arrowHead)))); | 1902 | var arrowHead = Math.max(0, Math.min(h, parseFloat(mxUtils.getValue(this.style, 'arrowHead', this.arrowHead)))); |
2057 | var x2 = 0; | 1903 | var x2 = 0; |
2058 | - | ||
2059 | - if (dy2 != 0) | ||
2060 | - { | 1904 | + |
1905 | + if (dy2 != 0) { | ||
2061 | x2 = dx2 + dy2 * (dy2 - dy1) / dy2; | 1906 | x2 = dx2 + dy2 * (dy2 - dy1) / dy2; |
2062 | } | 1907 | } |
2063 | 1908 | ||
@@ -2082,68 +1927,58 @@ mxCellRenderer.registerShape(mxShapeArrows2TailedArrow.prototype.cst.TAILED_ARRO | @@ -2082,68 +1927,58 @@ mxCellRenderer.registerShape(mxShapeArrows2TailedArrow.prototype.cst.TAILED_ARRO | ||
2082 | 1927 | ||
2083 | mxShapeArrows2TailedArrow.prototype.constraints = null; | 1928 | mxShapeArrows2TailedArrow.prototype.constraints = null; |
2084 | 1929 | ||
2085 | -Graph.handleFactory[mxShapeArrows2TailedArrow.prototype.cst.TAILED_ARROW] = function(state) | ||
2086 | -{ | ||
2087 | - var handles = [Graph.createHandle(state, ['dx1', 'dy1'], function(bounds) | ||
2088 | - { | ||
2089 | - var arrowHead = Math.max(0, Math.min(bounds.height / 2, parseFloat(mxUtils.getValue(this.state.style, 'arrowHead', this.arrowHead)))); | ||
2090 | - var dx1 = Math.max(0, Math.min(bounds.width, parseFloat(mxUtils.getValue(this.state.style, 'dx1', this.dx1)))); | ||
2091 | - var dy1 = Math.max(0, Math.min(bounds.height / 2 - arrowHead, parseFloat(mxUtils.getValue(this.state.style, 'dy1', this.dy1)))); | ||
2092 | - | ||
2093 | - return new mxPoint(bounds.x + bounds.width - dx1, bounds.y + bounds.height / 2 - dy1); | ||
2094 | - }, function(bounds, pt) | ||
2095 | - { | ||
2096 | - this.state.style['dx1'] = Math.round(100 * Math.max(0, Math.min(bounds.width - parseFloat(mxUtils.getValue(this.state.style, 'notch', this.notch)), bounds.width - parseFloat(mxUtils.getValue(this.state.style, 'dx2', this.dx2)), bounds.x + bounds.width - pt.x))) / 100; | ||
2097 | - this.state.style['dy1'] = Math.round(100 * Math.max(0, Math.min(bounds.height / 2 - parseFloat(mxUtils.getValue(this.state.style, 'arrowHead', this.arrowHead)), parseFloat(mxUtils.getValue(this.state.style, 'dy2', this.dy2)), bounds.y + bounds.height / 2 - pt.y))) / 100; | ||
2098 | - | ||
2099 | - })]; | ||
2100 | - | ||
2101 | - var handle2 = Graph.createHandle(state, ['notch'], function(bounds) | ||
2102 | - { | ||
2103 | - var notch = Math.max(0, Math.min(bounds.width, parseFloat(mxUtils.getValue(this.state.style, 'notch', this.notch)))); | ||
2104 | - | ||
2105 | - return new mxPoint(bounds.x + notch, bounds.y + bounds.height / 2); | ||
2106 | - }, function(bounds, pt) | ||
2107 | - { | ||
2108 | - this.state.style['notch'] = Math.round(100 * Math.max(0, Math.min(bounds.width - parseFloat(mxUtils.getValue(this.state.style, 'dx1', this.dx1)), parseFloat(mxUtils.getValue(this.state.style, 'dx2', this.dx2)), pt.x - bounds.x))) / 100; | ||
2109 | - }); | 1930 | +Graph.handleFactory[mxShapeArrows2TailedArrow.prototype.cst.TAILED_ARROW] = function (state) { |
1931 | + var handles = [Graph.createHandle(state, ['dx1', 'dy1'], function (bounds) { | ||
1932 | + var arrowHead = Math.max(0, Math.min(bounds.height / 2, parseFloat(mxUtils.getValue(this.state.style, 'arrowHead', this.arrowHead)))); | ||
1933 | + var dx1 = Math.max(0, Math.min(bounds.width, parseFloat(mxUtils.getValue(this.state.style, 'dx1', this.dx1)))); | ||
1934 | + var dy1 = Math.max(0, Math.min(bounds.height / 2 - arrowHead, parseFloat(mxUtils.getValue(this.state.style, 'dy1', this.dy1)))); | ||
1935 | + | ||
1936 | + return new mxPoint(bounds.x + bounds.width - dx1, bounds.y + bounds.height / 2 - dy1); | ||
1937 | + }, function (bounds, pt) { | ||
1938 | + this.state.style['dx1'] = Math.round(100 * Math.max(0, Math.min(bounds.width - parseFloat(mxUtils.getValue(this.state.style, 'notch', this.notch)), bounds.width - parseFloat(mxUtils.getValue(this.state.style, 'dx2', this.dx2)), bounds.x + bounds.width - pt.x))) / 100; | ||
1939 | + this.state.style['dy1'] = Math.round(100 * Math.max(0, Math.min(bounds.height / 2 - parseFloat(mxUtils.getValue(this.state.style, 'arrowHead', this.arrowHead)), parseFloat(mxUtils.getValue(this.state.style, 'dy2', this.dy2)), bounds.y + bounds.height / 2 - pt.y))) / 100; | ||
1940 | + | ||
1941 | + })]; | ||
1942 | + | ||
1943 | + var handle2 = Graph.createHandle(state, ['notch'], function (bounds) { | ||
1944 | + var notch = Math.max(0, Math.min(bounds.width, parseFloat(mxUtils.getValue(this.state.style, 'notch', this.notch)))); | ||
1945 | + | ||
1946 | + return new mxPoint(bounds.x + notch, bounds.y + bounds.height / 2); | ||
1947 | + }, function (bounds, pt) { | ||
1948 | + this.state.style['notch'] = Math.round(100 * Math.max(0, Math.min(bounds.width - parseFloat(mxUtils.getValue(this.state.style, 'dx1', this.dx1)), parseFloat(mxUtils.getValue(this.state.style, 'dx2', this.dx2)), pt.x - bounds.x))) / 100; | ||
1949 | + }); | ||
2110 | 1950 | ||
2111 | handles.push(handle2); | 1951 | handles.push(handle2); |
2112 | - | ||
2113 | - var handle3 = Graph.createHandle(state, ['arrowHead'], function(bounds) | ||
2114 | - { | ||
2115 | - var dx1 = Math.max(0, Math.min(bounds.width, parseFloat(mxUtils.getValue(this.state.style, 'dx1', this.dx1)))); | ||
2116 | - var dy1 = Math.max(0, Math.min(bounds.height / 2, parseFloat(mxUtils.getValue(this.state.style, 'dy1', this.dy1)))); | ||
2117 | - var arrowHead = Math.max(0, Math.min(bounds.height / 2, parseFloat(mxUtils.getValue(this.state.style, 'arrowHead', this.arrowHead)))); | ||
2118 | - | ||
2119 | - return new mxPoint(bounds.x + bounds.width - dx1, bounds.y + bounds.height / 2 - dy1 - arrowHead); | ||
2120 | - }, function(bounds, pt) | ||
2121 | - { | ||
2122 | - this.state.style['arrowHead'] = Math.round(100 * Math.max(0, Math.min(bounds.height / 2 - parseFloat(mxUtils.getValue(this.state.style, 'dy1', this.dy1)), bounds.y + bounds.height / 2 - pt.y))) / 100; | ||
2123 | - }); | 1952 | + |
1953 | + var handle3 = Graph.createHandle(state, ['arrowHead'], function (bounds) { | ||
1954 | + var dx1 = Math.max(0, Math.min(bounds.width, parseFloat(mxUtils.getValue(this.state.style, 'dx1', this.dx1)))); | ||
1955 | + var dy1 = Math.max(0, Math.min(bounds.height / 2, parseFloat(mxUtils.getValue(this.state.style, 'dy1', this.dy1)))); | ||
1956 | + var arrowHead = Math.max(0, Math.min(bounds.height / 2, parseFloat(mxUtils.getValue(this.state.style, 'arrowHead', this.arrowHead)))); | ||
1957 | + | ||
1958 | + return new mxPoint(bounds.x + bounds.width - dx1, bounds.y + bounds.height / 2 - dy1 - arrowHead); | ||
1959 | + }, function (bounds, pt) { | ||
1960 | + this.state.style['arrowHead'] = Math.round(100 * Math.max(0, Math.min(bounds.height / 2 - parseFloat(mxUtils.getValue(this.state.style, 'dy1', this.dy1)), bounds.y + bounds.height / 2 - pt.y))) / 100; | ||
1961 | + }); | ||
2124 | 1962 | ||
2125 | handles.push(handle3); | 1963 | handles.push(handle3); |
2126 | - | ||
2127 | - var handle4 = Graph.createHandle(state, ['dx2', 'dy2'], function(bounds) | ||
2128 | - { | ||
2129 | - var dx2 = Math.max(0, Math.min(bounds.width, parseFloat(mxUtils.getValue(this.state.style, 'dx2', this.dx2)))); | ||
2130 | - var dy2 = Math.max(0, Math.min(bounds.height / 2, parseFloat(mxUtils.getValue(this.state.style, 'dy2', this.dy2)))); | ||
2131 | - | ||
2132 | - return new mxPoint(bounds.x + dx2, bounds.y + bounds.height / 2 - dy2); | ||
2133 | - }, function(bounds, pt) | ||
2134 | - { | ||
2135 | - this.state.style['dx2'] = Math.round(100 * Math.max(parseFloat(mxUtils.getValue(this.state.style, 'notch', this.notch)), Math.min(bounds.width - parseFloat(mxUtils.getValue(this.state.style, 'dx1', this.dx1)) - parseFloat(mxUtils.getValue(this.state.style, 'dy2', this.dy2)) + parseFloat(mxUtils.getValue(this.state.style, 'dy1', this.dy1)) - 1, pt.x - bounds.x))) / 100; | ||
2136 | - this.state.style['dy2'] = Math.round(100 * Math.max(parseFloat(mxUtils.getValue(this.state.style, 'dy1', this.dy1)), Math.min(bounds.height / 2, bounds.y + bounds.height / 2 - pt.y))) / 100; | ||
2137 | - | ||
2138 | - }); | 1964 | + |
1965 | + var handle4 = Graph.createHandle(state, ['dx2', 'dy2'], function (bounds) { | ||
1966 | + var dx2 = Math.max(0, Math.min(bounds.width, parseFloat(mxUtils.getValue(this.state.style, 'dx2', this.dx2)))); | ||
1967 | + var dy2 = Math.max(0, Math.min(bounds.height / 2, parseFloat(mxUtils.getValue(this.state.style, 'dy2', this.dy2)))); | ||
1968 | + | ||
1969 | + return new mxPoint(bounds.x + dx2, bounds.y + bounds.height / 2 - dy2); | ||
1970 | + }, function (bounds, pt) { | ||
1971 | + this.state.style['dx2'] = Math.round(100 * Math.max(parseFloat(mxUtils.getValue(this.state.style, 'notch', this.notch)), Math.min(bounds.width - parseFloat(mxUtils.getValue(this.state.style, 'dx1', this.dx1)) - parseFloat(mxUtils.getValue(this.state.style, 'dy2', this.dy2)) + parseFloat(mxUtils.getValue(this.state.style, 'dy1', this.dy1)) - 1, pt.x - bounds.x))) / 100; | ||
1972 | + this.state.style['dy2'] = Math.round(100 * Math.max(parseFloat(mxUtils.getValue(this.state.style, 'dy1', this.dy1)), Math.min(bounds.height / 2, bounds.y + bounds.height / 2 - pt.y))) / 100; | ||
1973 | + | ||
1974 | + }); | ||
2139 | 1975 | ||
2140 | handles.push(handle4); | 1976 | handles.push(handle4); |
2141 | 1977 | ||
2142 | return handles; | 1978 | return handles; |
2143 | }; | 1979 | }; |
2144 | 1980 | ||
2145 | -mxShapeArrows2TailedArrow.prototype.getConstraints = function(style, w, h) | ||
2146 | -{ | 1981 | +mxShapeArrows2TailedArrow.prototype.getConstraints = function (style, w, h) { |
2147 | var constr = []; | 1982 | var constr = []; |
2148 | var dy1 = Math.max(0, Math.min(h, parseFloat(mxUtils.getValue(this.style, 'dy1', this.dy1)))); | 1983 | var dy1 = Math.max(0, Math.min(h, parseFloat(mxUtils.getValue(this.style, 'dy1', this.dy1)))); |
2149 | var dx1 = Math.max(0, Math.min(w, parseFloat(mxUtils.getValue(this.style, 'dx1', this.dx1)))); | 1984 | var dx1 = Math.max(0, Math.min(w, parseFloat(mxUtils.getValue(this.style, 'dx1', this.dx1)))); |
@@ -2152,9 +1987,8 @@ mxShapeArrows2TailedArrow.prototype.getConstraints = function(style, w, h) | @@ -2152,9 +1987,8 @@ mxShapeArrows2TailedArrow.prototype.getConstraints = function(style, w, h) | ||
2152 | var notch = Math.max(0, Math.min(w, parseFloat(mxUtils.getValue(this.style, 'notch', this.notch)))); | 1987 | var notch = Math.max(0, Math.min(w, parseFloat(mxUtils.getValue(this.style, 'notch', this.notch)))); |
2153 | var arrowHead = Math.max(0, Math.min(h, parseFloat(mxUtils.getValue(this.style, 'arrowHead', this.arrowHead)))); | 1988 | var arrowHead = Math.max(0, Math.min(h, parseFloat(mxUtils.getValue(this.style, 'arrowHead', this.arrowHead)))); |
2154 | var x2 = 0; | 1989 | var x2 = 0; |
2155 | - | ||
2156 | - if (dy2 != 0) | ||
2157 | - { | 1990 | + |
1991 | + if (dy2 != 0) { | ||
2158 | x2 = dx2 + dy2 * (dy2 - dy1) / dy2; | 1992 | x2 = dx2 + dy2 * (dy2 - dy1) / dy2; |
2159 | } | 1993 | } |
2160 | 1994 | ||
@@ -2168,7 +2002,7 @@ mxShapeArrows2TailedArrow.prototype.getConstraints = function(style, w, h) | @@ -2168,7 +2002,7 @@ mxShapeArrows2TailedArrow.prototype.getConstraints = function(style, w, h) | ||
2168 | constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, (w - dx1 + x2) * 0.5, h * 0.5 + dy1)); | 2002 | constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, (w - dx1 + x2) * 0.5, h * 0.5 + dy1)); |
2169 | constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w - dx1, h * 0.5 + dy1 + arrowHead)); | 2003 | constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w - dx1, h * 0.5 + dy1 + arrowHead)); |
2170 | constr.push(new mxConnectionConstraint(new mxPoint(1, 0.5), false)); | 2004 | constr.push(new mxConnectionConstraint(new mxPoint(1, 0.5), false)); |
2171 | - | 2005 | + |
2172 | return (constr); | 2006 | return (constr); |
2173 | }; | 2007 | }; |
2174 | 2008 | ||
@@ -2178,8 +2012,7 @@ mxShapeArrows2TailedArrow.prototype.getConstraints = function(style, w, h) | @@ -2178,8 +2012,7 @@ mxShapeArrows2TailedArrow.prototype.getConstraints = function(style, w, h) | ||
2178 | /** | 2012 | /** |
2179 | * Extends mxShape. | 2013 | * Extends mxShape. |
2180 | */ | 2014 | */ |
2181 | -function mxShapeArrows2TailedNotchedArrow(bounds, fill, stroke, strokewidth) | ||
2182 | -{ | 2015 | +function mxShapeArrows2TailedNotchedArrow(bounds, fill, stroke, strokewidth) { |
2183 | mxShape.call(this); | 2016 | mxShape.call(this); |
2184 | this.bounds = bounds; | 2017 | this.bounds = bounds; |
2185 | this.fill = fill; | 2018 | this.fill = fill; |
@@ -2197,16 +2030,16 @@ function mxShapeArrows2TailedNotchedArrow(bounds, fill, stroke, strokewidth) | @@ -2197,16 +2030,16 @@ function mxShapeArrows2TailedNotchedArrow(bounds, fill, stroke, strokewidth) | ||
2197 | mxUtils.extend(mxShapeArrows2TailedNotchedArrow, mxActor); | 2030 | mxUtils.extend(mxShapeArrows2TailedNotchedArrow, mxActor); |
2198 | 2031 | ||
2199 | mxShapeArrows2TailedNotchedArrow.prototype.customProperties = [ | 2032 | mxShapeArrows2TailedNotchedArrow.prototype.customProperties = [ |
2200 | - {name: 'dx1', dispName: 'Arrowhead Length', type: 'float', mix:0, defVal:20}, | ||
2201 | - {name: 'dy1', dispName: 'Arrow Width', type: 'float', min:0, defVal:10}, | ||
2202 | - {name: 'dx2', dispName: 'Tail Length', type: 'float', min:0, defVal:25}, | ||
2203 | - {name: 'dy2', dispName: 'Tail Width', type: 'float', min:0, defVal:30}, | ||
2204 | - {name: 'notch', dispName: 'Notch', type: 'float', min:0, defVal:20}, | ||
2205 | - {name: 'arrowHead', dispName: 'Arrowhead Width', type: 'float', min:0, defVal:20} | 2033 | + { name: 'dx1', dispName: 'Arrowhead Length', type: 'float', mix: 0, defVal: 20 }, |
2034 | + { name: 'dy1', dispName: 'Arrow Width', type: 'float', min: 0, defVal: 10 }, | ||
2035 | + { name: 'dx2', dispName: 'Tail Length', type: 'float', min: 0, defVal: 25 }, | ||
2036 | + { name: 'dy2', dispName: 'Tail Width', type: 'float', min: 0, defVal: 30 }, | ||
2037 | + { name: 'notch', dispName: 'Notch', type: 'float', min: 0, defVal: 20 }, | ||
2038 | + { name: 'arrowHead', dispName: 'Arrowhead Width', type: 'float', min: 0, defVal: 20 } | ||
2206 | ]; | 2039 | ]; |
2207 | 2040 | ||
2208 | mxShapeArrows2TailedNotchedArrow.prototype.cst = { | 2041 | mxShapeArrows2TailedNotchedArrow.prototype.cst = { |
2209 | - TAILED_NOTCHED_ARROW : 'mxgraph.arrows2.tailedNotchedArrow' | 2042 | + TAILED_NOTCHED_ARROW: 'mxgraph.arrows2.tailedNotchedArrow' |
2210 | }; | 2043 | }; |
2211 | 2044 | ||
2212 | /** | 2045 | /** |
@@ -2214,8 +2047,7 @@ mxShapeArrows2TailedNotchedArrow.prototype.cst = { | @@ -2214,8 +2047,7 @@ mxShapeArrows2TailedNotchedArrow.prototype.cst = { | ||
2214 | * | 2047 | * |
2215 | * Paints the vertex shape. | 2048 | * Paints the vertex shape. |
2216 | */ | 2049 | */ |
2217 | -mxShapeArrows2TailedNotchedArrow.prototype.paintVertexShape = function(c, x, y, w, h) | ||
2218 | -{ | 2050 | +mxShapeArrows2TailedNotchedArrow.prototype.paintVertexShape = function (c, x, y, w, h) { |
2219 | c.translate(x, y); | 2051 | c.translate(x, y); |
2220 | 2052 | ||
2221 | var dy1 = Math.max(0, Math.min(h, parseFloat(mxUtils.getValue(this.style, 'dy1', this.dy1)))); | 2053 | var dy1 = Math.max(0, Math.min(h, parseFloat(mxUtils.getValue(this.style, 'dy1', this.dy1)))); |
@@ -2225,9 +2057,8 @@ mxShapeArrows2TailedNotchedArrow.prototype.paintVertexShape = function(c, x, y, | @@ -2225,9 +2057,8 @@ mxShapeArrows2TailedNotchedArrow.prototype.paintVertexShape = function(c, x, y, | ||
2225 | var notch = Math.max(0, Math.min(w, parseFloat(mxUtils.getValue(this.style, 'notch', this.notch)))); | 2057 | var notch = Math.max(0, Math.min(w, parseFloat(mxUtils.getValue(this.style, 'notch', this.notch)))); |
2226 | var arrowHead = Math.max(0, Math.min(h, parseFloat(mxUtils.getValue(this.style, 'arrowHead', this.arrowHead)))); | 2058 | var arrowHead = Math.max(0, Math.min(h, parseFloat(mxUtils.getValue(this.style, 'arrowHead', this.arrowHead)))); |
2227 | var x2 = 0; | 2059 | var x2 = 0; |
2228 | - | ||
2229 | - if (dy2 != 0) | ||
2230 | - { | 2060 | + |
2061 | + if (dy2 != 0) { | ||
2231 | x2 = dx2 + notch * (dy2 - dy1) / dy2; | 2062 | x2 = dx2 + notch * (dy2 - dy1) / dy2; |
2232 | } | 2063 | } |
2233 | 2064 | ||
@@ -2252,68 +2083,58 @@ mxCellRenderer.registerShape(mxShapeArrows2TailedNotchedArrow.prototype.cst.TAIL | @@ -2252,68 +2083,58 @@ mxCellRenderer.registerShape(mxShapeArrows2TailedNotchedArrow.prototype.cst.TAIL | ||
2252 | 2083 | ||
2253 | mxShapeArrows2TailedNotchedArrow.prototype.constraints = null; | 2084 | mxShapeArrows2TailedNotchedArrow.prototype.constraints = null; |
2254 | 2085 | ||
2255 | -Graph.handleFactory[mxShapeArrows2TailedNotchedArrow.prototype.cst.TAILED_NOTCHED_ARROW] = function(state) | ||
2256 | -{ | ||
2257 | - var handles = [Graph.createHandle(state, ['dx1', 'dy1'], function(bounds) | ||
2258 | - { | ||
2259 | - var arrowHead = Math.max(0, Math.min(bounds.height / 2, parseFloat(mxUtils.getValue(this.state.style, 'arrowHead', this.arrowHead)))); | ||
2260 | - var dx1 = Math.max(0, Math.min(bounds.width, parseFloat(mxUtils.getValue(this.state.style, 'dx1', this.dx1)))); | ||
2261 | - var dy1 = Math.max(0, Math.min(bounds.height / 2 - arrowHead, parseFloat(mxUtils.getValue(this.state.style, 'dy1', this.dy1)))); | ||
2262 | - | ||
2263 | - return new mxPoint(bounds.x + bounds.width - dx1, bounds.y + bounds.height / 2 - dy1); | ||
2264 | - }, function(bounds, pt) | ||
2265 | - { | ||
2266 | - this.state.style['dx1'] = Math.round(100 * Math.max(0, Math.min(bounds.width - parseFloat(mxUtils.getValue(this.state.style, 'notch', this.notch))- parseFloat(mxUtils.getValue(this.state.style, 'dx2', this.dx2)), bounds.x + bounds.width - pt.x))) / 100; | ||
2267 | - this.state.style['dy1'] = Math.round(100 * Math.max(0, Math.min(bounds.height / 2 - parseFloat(mxUtils.getValue(this.state.style, 'arrowHead', this.arrowHead)), parseFloat(mxUtils.getValue(this.state.style, 'dy2', this.dy2)), bounds.y + bounds.height / 2 - pt.y))) / 100; | ||
2268 | - | ||
2269 | - })]; | ||
2270 | - | ||
2271 | - var handle2 = Graph.createHandle(state, ['notch'], function(bounds) | ||
2272 | - { | ||
2273 | - var notch = Math.max(0, Math.min(bounds.width, parseFloat(mxUtils.getValue(this.state.style, 'notch', this.notch)))); | ||
2274 | - | ||
2275 | - return new mxPoint(bounds.x + notch, bounds.y + bounds.height / 2); | ||
2276 | - }, function(bounds, pt) | ||
2277 | - { | ||
2278 | - this.state.style['notch'] = Math.round(100 * Math.max(0, Math.min(bounds.width - parseFloat(mxUtils.getValue(this.state.style, 'dx1', this.dx1)), pt.x - bounds.x))) / 100; | ||
2279 | - }); | 2086 | +Graph.handleFactory[mxShapeArrows2TailedNotchedArrow.prototype.cst.TAILED_NOTCHED_ARROW] = function (state) { |
2087 | + var handles = [Graph.createHandle(state, ['dx1', 'dy1'], function (bounds) { | ||
2088 | + var arrowHead = Math.max(0, Math.min(bounds.height / 2, parseFloat(mxUtils.getValue(this.state.style, 'arrowHead', this.arrowHead)))); | ||
2089 | + var dx1 = Math.max(0, Math.min(bounds.width, parseFloat(mxUtils.getValue(this.state.style, 'dx1', this.dx1)))); | ||
2090 | + var dy1 = Math.max(0, Math.min(bounds.height / 2 - arrowHead, parseFloat(mxUtils.getValue(this.state.style, 'dy1', this.dy1)))); | ||
2091 | + | ||
2092 | + return new mxPoint(bounds.x + bounds.width - dx1, bounds.y + bounds.height / 2 - dy1); | ||
2093 | + }, function (bounds, pt) { | ||
2094 | + this.state.style['dx1'] = Math.round(100 * Math.max(0, Math.min(bounds.width - parseFloat(mxUtils.getValue(this.state.style, 'notch', this.notch)) - parseFloat(mxUtils.getValue(this.state.style, 'dx2', this.dx2)), bounds.x + bounds.width - pt.x))) / 100; | ||
2095 | + this.state.style['dy1'] = Math.round(100 * Math.max(0, Math.min(bounds.height / 2 - parseFloat(mxUtils.getValue(this.state.style, 'arrowHead', this.arrowHead)), parseFloat(mxUtils.getValue(this.state.style, 'dy2', this.dy2)), bounds.y + bounds.height / 2 - pt.y))) / 100; | ||
2096 | + | ||
2097 | + })]; | ||
2098 | + | ||
2099 | + var handle2 = Graph.createHandle(state, ['notch'], function (bounds) { | ||
2100 | + var notch = Math.max(0, Math.min(bounds.width, parseFloat(mxUtils.getValue(this.state.style, 'notch', this.notch)))); | ||
2101 | + | ||
2102 | + return new mxPoint(bounds.x + notch, bounds.y + bounds.height / 2); | ||
2103 | + }, function (bounds, pt) { | ||
2104 | + this.state.style['notch'] = Math.round(100 * Math.max(0, Math.min(bounds.width - parseFloat(mxUtils.getValue(this.state.style, 'dx1', this.dx1)), pt.x - bounds.x))) / 100; | ||
2105 | + }); | ||
2280 | 2106 | ||
2281 | handles.push(handle2); | 2107 | handles.push(handle2); |
2282 | - | ||
2283 | - var handle3 = Graph.createHandle(state, ['arrowHead'], function(bounds) | ||
2284 | - { | ||
2285 | - var dx1 = Math.max(0, Math.min(bounds.width, parseFloat(mxUtils.getValue(this.state.style, 'dx1', this.dx1)))); | ||
2286 | - var dy1 = Math.max(0, Math.min(bounds.height / 2, parseFloat(mxUtils.getValue(this.state.style, 'dy1', this.dy1)))); | ||
2287 | - var arrowHead = Math.max(0, Math.min(bounds.height / 2, parseFloat(mxUtils.getValue(this.state.style, 'arrowHead', this.arrowHead)))); | ||
2288 | - | ||
2289 | - return new mxPoint(bounds.x + bounds.width - dx1, bounds.y + bounds.height / 2 - dy1 - arrowHead); | ||
2290 | - }, function(bounds, pt) | ||
2291 | - { | ||
2292 | - this.state.style['arrowHead'] = Math.round(100 * Math.max(0, Math.min(bounds.height / 2 - parseFloat(mxUtils.getValue(this.state.style, 'dy1', this.dy1)), bounds.y + bounds.height / 2 - pt.y))) / 100; | ||
2293 | - }); | 2108 | + |
2109 | + var handle3 = Graph.createHandle(state, ['arrowHead'], function (bounds) { | ||
2110 | + var dx1 = Math.max(0, Math.min(bounds.width, parseFloat(mxUtils.getValue(this.state.style, 'dx1', this.dx1)))); | ||
2111 | + var dy1 = Math.max(0, Math.min(bounds.height / 2, parseFloat(mxUtils.getValue(this.state.style, 'dy1', this.dy1)))); | ||
2112 | + var arrowHead = Math.max(0, Math.min(bounds.height / 2, parseFloat(mxUtils.getValue(this.state.style, 'arrowHead', this.arrowHead)))); | ||
2113 | + | ||
2114 | + return new mxPoint(bounds.x + bounds.width - dx1, bounds.y + bounds.height / 2 - dy1 - arrowHead); | ||
2115 | + }, function (bounds, pt) { | ||
2116 | + this.state.style['arrowHead'] = Math.round(100 * Math.max(0, Math.min(bounds.height / 2 - parseFloat(mxUtils.getValue(this.state.style, 'dy1', this.dy1)), bounds.y + bounds.height / 2 - pt.y))) / 100; | ||
2117 | + }); | ||
2294 | 2118 | ||
2295 | handles.push(handle3); | 2119 | handles.push(handle3); |
2296 | - | ||
2297 | - var handle4 = Graph.createHandle(state, ['dx2', 'dy2'], function(bounds) | ||
2298 | - { | ||
2299 | - var dx2 = Math.max(0, Math.min(bounds.width, parseFloat(mxUtils.getValue(this.state.style, 'dx2', this.dx2)))); | ||
2300 | - var dy2 = Math.max(0, Math.min(bounds.height / 2, parseFloat(mxUtils.getValue(this.state.style, 'dy2', this.dy2)))); | ||
2301 | - | ||
2302 | - return new mxPoint(bounds.x + dx2, bounds.y + bounds.height / 2 - dy2); | ||
2303 | - }, function(bounds, pt) | ||
2304 | - { | ||
2305 | - this.state.style['dx2'] = Math.round(100 * Math.max(0, Math.min(bounds.width - parseFloat(mxUtils.getValue(this.state.style, 'notch', this.notch)) - parseFloat(mxUtils.getValue(this.state.style, 'dx1', this.dx1)), pt.x - bounds.x))) / 100; | ||
2306 | - this.state.style['dy2'] = Math.round(100 * Math.max(parseFloat(mxUtils.getValue(this.state.style, 'dy1', this.dy1)), Math.min(bounds.height / 2, bounds.y + bounds.height / 2 - pt.y))) / 100; | ||
2307 | - | ||
2308 | - }); | 2120 | + |
2121 | + var handle4 = Graph.createHandle(state, ['dx2', 'dy2'], function (bounds) { | ||
2122 | + var dx2 = Math.max(0, Math.min(bounds.width, parseFloat(mxUtils.getValue(this.state.style, 'dx2', this.dx2)))); | ||
2123 | + var dy2 = Math.max(0, Math.min(bounds.height / 2, parseFloat(mxUtils.getValue(this.state.style, 'dy2', this.dy2)))); | ||
2124 | + | ||
2125 | + return new mxPoint(bounds.x + dx2, bounds.y + bounds.height / 2 - dy2); | ||
2126 | + }, function (bounds, pt) { | ||
2127 | + this.state.style['dx2'] = Math.round(100 * Math.max(0, Math.min(bounds.width - parseFloat(mxUtils.getValue(this.state.style, 'notch', this.notch)) - parseFloat(mxUtils.getValue(this.state.style, 'dx1', this.dx1)), pt.x - bounds.x))) / 100; | ||
2128 | + this.state.style['dy2'] = Math.round(100 * Math.max(parseFloat(mxUtils.getValue(this.state.style, 'dy1', this.dy1)), Math.min(bounds.height / 2, bounds.y + bounds.height / 2 - pt.y))) / 100; | ||
2129 | + | ||
2130 | + }); | ||
2309 | 2131 | ||
2310 | handles.push(handle4); | 2132 | handles.push(handle4); |
2311 | 2133 | ||
2312 | return handles; | 2134 | return handles; |
2313 | }; | 2135 | }; |
2314 | 2136 | ||
2315 | -mxShapeArrows2TailedNotchedArrow.prototype.getConstraints = function(style, w, h) | ||
2316 | -{ | 2137 | +mxShapeArrows2TailedNotchedArrow.prototype.getConstraints = function (style, w, h) { |
2317 | var constr = []; | 2138 | var constr = []; |
2318 | var dy1 = Math.max(0, Math.min(h, parseFloat(mxUtils.getValue(this.style, 'dy1', this.dy1)))); | 2139 | var dy1 = Math.max(0, Math.min(h, parseFloat(mxUtils.getValue(this.style, 'dy1', this.dy1)))); |
2319 | var dx1 = Math.max(0, Math.min(w, parseFloat(mxUtils.getValue(this.style, 'dx1', this.dx1)))); | 2140 | var dx1 = Math.max(0, Math.min(w, parseFloat(mxUtils.getValue(this.style, 'dx1', this.dx1)))); |
@@ -2322,9 +2143,8 @@ mxShapeArrows2TailedNotchedArrow.prototype.getConstraints = function(style, w, h | @@ -2322,9 +2143,8 @@ mxShapeArrows2TailedNotchedArrow.prototype.getConstraints = function(style, w, h | ||
2322 | var notch = Math.max(0, Math.min(w, parseFloat(mxUtils.getValue(this.style, 'notch', this.notch)))); | 2143 | var notch = Math.max(0, Math.min(w, parseFloat(mxUtils.getValue(this.style, 'notch', this.notch)))); |
2323 | var arrowHead = Math.max(0, Math.min(h, parseFloat(mxUtils.getValue(this.style, 'arrowHead', this.arrowHead)))); | 2144 | var arrowHead = Math.max(0, Math.min(h, parseFloat(mxUtils.getValue(this.style, 'arrowHead', this.arrowHead)))); |
2324 | var x2 = 0; | 2145 | var x2 = 0; |
2325 | - | ||
2326 | - if (dy2 != 0) | ||
2327 | - { | 2146 | + |
2147 | + if (dy2 != 0) { | ||
2328 | x2 = dx2 + notch * (dy2 - dy1) / dy2; | 2148 | x2 = dx2 + notch * (dy2 - dy1) / dy2; |
2329 | } | 2149 | } |
2330 | 2150 | ||
@@ -2338,7 +2158,7 @@ mxShapeArrows2TailedNotchedArrow.prototype.getConstraints = function(style, w, h | @@ -2338,7 +2158,7 @@ mxShapeArrows2TailedNotchedArrow.prototype.getConstraints = function(style, w, h | ||
2338 | constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, (w - dx1 + x2) * 0.5, h * 0.5 + dy1)); | 2158 | constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, (w - dx1 + x2) * 0.5, h * 0.5 + dy1)); |
2339 | constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w - dx1, h * 0.5 + dy1 + arrowHead)); | 2159 | constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w - dx1, h * 0.5 + dy1 + arrowHead)); |
2340 | constr.push(new mxConnectionConstraint(new mxPoint(1, 0.5), false)); | 2160 | constr.push(new mxConnectionConstraint(new mxPoint(1, 0.5), false)); |
2341 | - | 2161 | + |
2342 | return (constr); | 2162 | return (constr); |
2343 | }; | 2163 | }; |
2344 | 2164 | ||
@@ -2348,8 +2168,7 @@ mxShapeArrows2TailedNotchedArrow.prototype.getConstraints = function(style, w, h | @@ -2348,8 +2168,7 @@ mxShapeArrows2TailedNotchedArrow.prototype.getConstraints = function(style, w, h | ||
2348 | /** | 2168 | /** |
2349 | * Extends mxShape. | 2169 | * Extends mxShape. |
2350 | */ | 2170 | */ |
2351 | -function mxShapeArrows2StripedArrow(bounds, fill, stroke, strokewidth) | ||
2352 | -{ | 2171 | +function mxShapeArrows2StripedArrow(bounds, fill, stroke, strokewidth) { |
2353 | mxShape.call(this); | 2172 | mxShape.call(this); |
2354 | this.bounds = bounds; | 2173 | this.bounds = bounds; |
2355 | this.fill = fill; | 2174 | this.fill = fill; |
@@ -2366,13 +2185,13 @@ function mxShapeArrows2StripedArrow(bounds, fill, stroke, strokewidth) | @@ -2366,13 +2185,13 @@ function mxShapeArrows2StripedArrow(bounds, fill, stroke, strokewidth) | ||
2366 | mxUtils.extend(mxShapeArrows2StripedArrow, mxActor); | 2185 | mxUtils.extend(mxShapeArrows2StripedArrow, mxActor); |
2367 | 2186 | ||
2368 | mxShapeArrows2StripedArrow.prototype.customProperties = [ | 2187 | mxShapeArrows2StripedArrow.prototype.customProperties = [ |
2369 | - {name: 'dx', dispName: 'Arrowhead Length', type: 'float', min:0, defVal:40}, | ||
2370 | - {name: 'dy', dispName: 'Arrow Width', type: 'float', min:0, max:1, defVal:0.6}, | ||
2371 | - {name: 'notch', dispName: 'Stripes Length', type: 'float', min:0, defVal:25} | 2188 | + { name: 'dx', dispName: 'Arrowhead Length', type: 'float', min: 0, defVal: 40 }, |
2189 | + { name: 'dy', dispName: 'Arrow Width', type: 'float', min: 0, max: 1, defVal: 0.6 }, | ||
2190 | + { name: 'notch', dispName: 'Stripes Length', type: 'float', min: 0, defVal: 25 } | ||
2372 | ]; | 2191 | ]; |
2373 | 2192 | ||
2374 | mxShapeArrows2StripedArrow.prototype.cst = { | 2193 | mxShapeArrows2StripedArrow.prototype.cst = { |
2375 | - STRIPED_ARROW : 'mxgraph.arrows2.stripedArrow' | 2194 | + STRIPED_ARROW: 'mxgraph.arrows2.stripedArrow' |
2376 | }; | 2195 | }; |
2377 | 2196 | ||
2378 | /** | 2197 | /** |
@@ -2380,8 +2199,7 @@ mxShapeArrows2StripedArrow.prototype.cst = { | @@ -2380,8 +2199,7 @@ mxShapeArrows2StripedArrow.prototype.cst = { | ||
2380 | * | 2199 | * |
2381 | * Paints the vertex shape. | 2200 | * Paints the vertex shape. |
2382 | */ | 2201 | */ |
2383 | -mxShapeArrows2StripedArrow.prototype.paintVertexShape = function(c, x, y, w, h) | ||
2384 | -{ | 2202 | +mxShapeArrows2StripedArrow.prototype.paintVertexShape = function (c, x, y, w, h) { |
2385 | c.translate(x, y); | 2203 | c.translate(x, y); |
2386 | 2204 | ||
2387 | var dy = h * 0.5 * Math.max(0, Math.min(1, parseFloat(mxUtils.getValue(this.style, 'dy', this.dy)))); | 2205 | var dy = h * 0.5 * Math.max(0, Math.min(1, parseFloat(mxUtils.getValue(this.style, 'dy', this.dy)))); |
@@ -2414,37 +2232,31 @@ mxCellRenderer.registerShape(mxShapeArrows2StripedArrow.prototype.cst.STRIPED_AR | @@ -2414,37 +2232,31 @@ mxCellRenderer.registerShape(mxShapeArrows2StripedArrow.prototype.cst.STRIPED_AR | ||
2414 | 2232 | ||
2415 | mxShapeArrows2StripedArrow.prototype.constraints = null; | 2233 | mxShapeArrows2StripedArrow.prototype.constraints = null; |
2416 | 2234 | ||
2417 | -Graph.handleFactory[mxShapeArrows2StripedArrow.prototype.cst.STRIPED_ARROW] = function(state) | ||
2418 | -{ | ||
2419 | - var handles = [Graph.createHandle(state, ['dx', 'dy'], function(bounds) | ||
2420 | - { | ||
2421 | - var dx = Math.max(0, Math.min(bounds.width, parseFloat(mxUtils.getValue(this.state.style, 'dx', this.dx)))); | ||
2422 | - var dy = Math.max(0, Math.min(1, parseFloat(mxUtils.getValue(this.state.style, 'dy', this.dy)))); | ||
2423 | - | ||
2424 | - return new mxPoint(bounds.x + bounds.width - dx, bounds.y + dy * bounds.height / 2); | ||
2425 | - }, function(bounds, pt) | ||
2426 | - { | ||
2427 | - this.state.style['dx'] = Math.round(100 * Math.max(0, Math.min(bounds.width - parseFloat(mxUtils.getValue(this.state.style, 'notch', this.notch)), bounds.x + bounds.width - pt.x))) / 100; | ||
2428 | - this.state.style['dy'] = Math.round(100 * Math.max(0, Math.min(1, (((pt.y - bounds.y) / bounds.height) * 2)))) / 100; | ||
2429 | - })]; | ||
2430 | - | ||
2431 | - var handle2 = Graph.createHandle(state, ['notch'], function(bounds) | ||
2432 | - { | ||
2433 | - var notch = Math.max(0, Math.min(bounds.width, parseFloat(mxUtils.getValue(this.state.style, 'notch', this.notch)))); | ||
2434 | - | ||
2435 | - return new mxPoint(bounds.x + notch, bounds.y + bounds.height / 2); | ||
2436 | - }, function(bounds, pt) | ||
2437 | - { | ||
2438 | - this.state.style['notch'] = Math.round(100 * Math.max(0, Math.min(bounds.width - parseFloat(mxUtils.getValue(this.state.style, 'dx', this.dx)), pt.x - bounds.x))) / 100; | ||
2439 | - }); | ||
2440 | - | 2235 | +Graph.handleFactory[mxShapeArrows2StripedArrow.prototype.cst.STRIPED_ARROW] = function (state) { |
2236 | + var handles = [Graph.createHandle(state, ['dx', 'dy'], function (bounds) { | ||
2237 | + var dx = Math.max(0, Math.min(bounds.width, parseFloat(mxUtils.getValue(this.state.style, 'dx', this.dx)))); | ||
2238 | + var dy = Math.max(0, Math.min(1, parseFloat(mxUtils.getValue(this.state.style, 'dy', this.dy)))); | ||
2239 | + | ||
2240 | + return new mxPoint(bounds.x + bounds.width - dx, bounds.y + dy * bounds.height / 2); | ||
2241 | + }, function (bounds, pt) { | ||
2242 | + this.state.style['dx'] = Math.round(100 * Math.max(0, Math.min(bounds.width - parseFloat(mxUtils.getValue(this.state.style, 'notch', this.notch)), bounds.x + bounds.width - pt.x))) / 100; | ||
2243 | + this.state.style['dy'] = Math.round(100 * Math.max(0, Math.min(1, (((pt.y - bounds.y) / bounds.height) * 2)))) / 100; | ||
2244 | + })]; | ||
2245 | + | ||
2246 | + var handle2 = Graph.createHandle(state, ['notch'], function (bounds) { | ||
2247 | + var notch = Math.max(0, Math.min(bounds.width, parseFloat(mxUtils.getValue(this.state.style, 'notch', this.notch)))); | ||
2248 | + | ||
2249 | + return new mxPoint(bounds.x + notch, bounds.y + bounds.height / 2); | ||
2250 | + }, function (bounds, pt) { | ||
2251 | + this.state.style['notch'] = Math.round(100 * Math.max(0, Math.min(bounds.width - parseFloat(mxUtils.getValue(this.state.style, 'dx', this.dx)), pt.x - bounds.x))) / 100; | ||
2252 | + }); | ||
2253 | + | ||
2441 | handles.push(handle2); | 2254 | handles.push(handle2); |
2442 | - | 2255 | + |
2443 | return handles; | 2256 | return handles; |
2444 | }; | 2257 | }; |
2445 | 2258 | ||
2446 | -mxShapeArrows2StripedArrow.prototype.getConstraints = function(style, w, h) | ||
2447 | -{ | 2259 | +mxShapeArrows2StripedArrow.prototype.getConstraints = function (style, w, h) { |
2448 | var constr = []; | 2260 | var constr = []; |
2449 | var dy = h * 0.5 * Math.max(0, Math.min(1, parseFloat(mxUtils.getValue(this.style, 'dy', this.dy)))); | 2261 | var dy = h * 0.5 * Math.max(0, Math.min(1, parseFloat(mxUtils.getValue(this.style, 'dy', this.dy)))); |
2450 | var dx = Math.max(0, Math.min(w, parseFloat(mxUtils.getValue(this.style, 'dx', this.dx)))); | 2262 | var dx = Math.max(0, Math.min(w, parseFloat(mxUtils.getValue(this.style, 'dx', this.dx)))); |
@@ -2460,7 +2272,7 @@ mxShapeArrows2StripedArrow.prototype.getConstraints = function(style, w, h) | @@ -2460,7 +2272,7 @@ mxShapeArrows2StripedArrow.prototype.getConstraints = function(style, w, h) | ||
2460 | constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w - dx, h)); | 2272 | constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w - dx, h)); |
2461 | constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, (w - dx) * 0.5, dy)); | 2273 | constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, (w - dx) * 0.5, dy)); |
2462 | constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, (w - dx) * 0.5, h - dy)); | 2274 | constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, (w - dx) * 0.5, h - dy)); |
2463 | - | 2275 | + |
2464 | return (constr); | 2276 | return (constr); |
2465 | }; | 2277 | }; |
2466 | 2278 | ||
@@ -2470,8 +2282,7 @@ mxShapeArrows2StripedArrow.prototype.getConstraints = function(style, w, h) | @@ -2470,8 +2282,7 @@ mxShapeArrows2StripedArrow.prototype.getConstraints = function(style, w, h) | ||
2470 | /** | 2282 | /** |
2471 | * Extends mxShape. | 2283 | * Extends mxShape. |
2472 | */ | 2284 | */ |
2473 | -function mxShapeArrows2JumpInArrow(bounds, fill, stroke, strokewidth) | ||
2474 | -{ | 2285 | +function mxShapeArrows2JumpInArrow(bounds, fill, stroke, strokewidth) { |
2475 | mxShape.call(this); | 2286 | mxShape.call(this); |
2476 | this.bounds = bounds; | 2287 | this.bounds = bounds; |
2477 | this.fill = fill; | 2288 | this.fill = fill; |
@@ -2488,13 +2299,13 @@ function mxShapeArrows2JumpInArrow(bounds, fill, stroke, strokewidth) | @@ -2488,13 +2299,13 @@ function mxShapeArrows2JumpInArrow(bounds, fill, stroke, strokewidth) | ||
2488 | mxUtils.extend(mxShapeArrows2JumpInArrow, mxActor); | 2299 | mxUtils.extend(mxShapeArrows2JumpInArrow, mxActor); |
2489 | 2300 | ||
2490 | mxShapeArrows2JumpInArrow.prototype.customProperties = [ | 2301 | mxShapeArrows2JumpInArrow.prototype.customProperties = [ |
2491 | - {name: 'dx', dispName: 'Arrowhead Length', type: 'float', min:0, defVal:38}, | ||
2492 | - {name: 'dy', dispName: 'Arrow Width', type: 'float', min:0, defVal:15}, | ||
2493 | - {name: 'arrowHead', dispName: 'Arrowhead Width', type: 'float', min:0, defVal:55} | 2302 | + { name: 'dx', dispName: 'Arrowhead Length', type: 'float', min: 0, defVal: 38 }, |
2303 | + { name: 'dy', dispName: 'Arrow Width', type: 'float', min: 0, defVal: 15 }, | ||
2304 | + { name: 'arrowHead', dispName: 'Arrowhead Width', type: 'float', min: 0, defVal: 55 } | ||
2494 | ]; | 2305 | ]; |
2495 | 2306 | ||
2496 | mxShapeArrows2JumpInArrow.prototype.cst = { | 2307 | mxShapeArrows2JumpInArrow.prototype.cst = { |
2497 | - JUMP_IN_ARROW : 'mxgraph.arrows2.jumpInArrow' | 2308 | + JUMP_IN_ARROW: 'mxgraph.arrows2.jumpInArrow' |
2498 | }; | 2309 | }; |
2499 | 2310 | ||
2500 | /** | 2311 | /** |
@@ -2502,8 +2313,7 @@ mxShapeArrows2JumpInArrow.prototype.cst = { | @@ -2502,8 +2313,7 @@ mxShapeArrows2JumpInArrow.prototype.cst = { | ||
2502 | * | 2313 | * |
2503 | * Paints the vertex shape. | 2314 | * Paints the vertex shape. |
2504 | */ | 2315 | */ |
2505 | -mxShapeArrows2JumpInArrow.prototype.paintVertexShape = function(c, x, y, w, h) | ||
2506 | -{ | 2316 | +mxShapeArrows2JumpInArrow.prototype.paintVertexShape = function (c, x, y, w, h) { |
2507 | c.translate(x, y); | 2317 | c.translate(x, y); |
2508 | 2318 | ||
2509 | var dy = Math.max(0, Math.min(h, parseFloat(mxUtils.getValue(this.style, 'dy', this.dy)))); | 2319 | var dy = Math.max(0, Math.min(h, parseFloat(mxUtils.getValue(this.style, 'dy', this.dy)))); |
@@ -2525,40 +2335,34 @@ mxCellRenderer.registerShape(mxShapeArrows2JumpInArrow.prototype.cst.JUMP_IN_ARR | @@ -2525,40 +2335,34 @@ mxCellRenderer.registerShape(mxShapeArrows2JumpInArrow.prototype.cst.JUMP_IN_ARR | ||
2525 | 2335 | ||
2526 | mxShapeArrows2JumpInArrow.prototype.constraints = null; | 2336 | mxShapeArrows2JumpInArrow.prototype.constraints = null; |
2527 | 2337 | ||
2528 | -Graph.handleFactory[mxShapeArrows2JumpInArrow.prototype.cst.JUMP_IN_ARROW] = function(state) | ||
2529 | -{ | ||
2530 | - var handles = [Graph.createHandle(state, ['dx', 'dy'], function(bounds) | ||
2531 | - { | ||
2532 | - var arrowHead = Math.max(0, Math.min(bounds.height, parseFloat(mxUtils.getValue(this.state.style, 'arrowHead', this.arrowHead)))); | ||
2533 | - var dx = Math.max(0, Math.min(bounds.width, parseFloat(mxUtils.getValue(this.state.style, 'dx', this.dx)))); | ||
2534 | - var dy = Math.max(0, Math.min(arrowHead, parseFloat(mxUtils.getValue(this.state.style, 'dy', this.dy)))); | ||
2535 | - | ||
2536 | - return new mxPoint(bounds.x + bounds.width - dx, bounds.y + arrowHead / 2 - dy); | ||
2537 | - }, function(bounds, pt) | ||
2538 | - { | ||
2539 | - this.state.style['dx'] = Math.round(100 * Math.max(0, Math.min(bounds.width, bounds.x + bounds.width - pt.x))) / 100; | ||
2540 | - this.state.style['dy'] = Math.round(100 * Math.max(0, Math.min(parseFloat(mxUtils.getValue(this.state.style, 'arrowHead', this.arrowHead)) / 2, bounds.y + parseFloat(mxUtils.getValue(this.state.style, 'arrowHead', this.arrowHead)) / 2 - pt.y))) / 100; | ||
2541 | - | ||
2542 | - })]; | ||
2543 | - | ||
2544 | - var handle2 = Graph.createHandle(state, ['arrowHead'], function(bounds) | ||
2545 | - { | ||
2546 | - var dx = Math.max(0, Math.min(bounds.width, parseFloat(mxUtils.getValue(this.state.style, 'dx', this.dx)))); | ||
2547 | - var arrowHead = Math.max(0, Math.min(bounds.height, parseFloat(mxUtils.getValue(this.state.style, 'arrowHead', this.arrowHead)))); | ||
2548 | - | ||
2549 | - return new mxPoint(bounds.x + bounds.width - dx, bounds.y + arrowHead); | ||
2550 | - }, function(bounds, pt) | ||
2551 | - { | ||
2552 | - this.state.style['arrowHead'] = Math.round(100 * Math.max(2 * parseFloat(mxUtils.getValue(this.state.style, 'dy', this.dy)), Math.min(bounds.height, pt.y - bounds.y))) / 100; | ||
2553 | - }); | ||
2554 | - | 2338 | +Graph.handleFactory[mxShapeArrows2JumpInArrow.prototype.cst.JUMP_IN_ARROW] = function (state) { |
2339 | + var handles = [Graph.createHandle(state, ['dx', 'dy'], function (bounds) { | ||
2340 | + var arrowHead = Math.max(0, Math.min(bounds.height, parseFloat(mxUtils.getValue(this.state.style, 'arrowHead', this.arrowHead)))); | ||
2341 | + var dx = Math.max(0, Math.min(bounds.width, parseFloat(mxUtils.getValue(this.state.style, 'dx', this.dx)))); | ||
2342 | + var dy = Math.max(0, Math.min(arrowHead, parseFloat(mxUtils.getValue(this.state.style, 'dy', this.dy)))); | ||
2343 | + | ||
2344 | + return new mxPoint(bounds.x + bounds.width - dx, bounds.y + arrowHead / 2 - dy); | ||
2345 | + }, function (bounds, pt) { | ||
2346 | + this.state.style['dx'] = Math.round(100 * Math.max(0, Math.min(bounds.width, bounds.x + bounds.width - pt.x))) / 100; | ||
2347 | + this.state.style['dy'] = Math.round(100 * Math.max(0, Math.min(parseFloat(mxUtils.getValue(this.state.style, 'arrowHead', this.arrowHead)) / 2, bounds.y + parseFloat(mxUtils.getValue(this.state.style, 'arrowHead', this.arrowHead)) / 2 - pt.y))) / 100; | ||
2348 | + | ||
2349 | + })]; | ||
2350 | + | ||
2351 | + var handle2 = Graph.createHandle(state, ['arrowHead'], function (bounds) { | ||
2352 | + var dx = Math.max(0, Math.min(bounds.width, parseFloat(mxUtils.getValue(this.state.style, 'dx', this.dx)))); | ||
2353 | + var arrowHead = Math.max(0, Math.min(bounds.height, parseFloat(mxUtils.getValue(this.state.style, 'arrowHead', this.arrowHead)))); | ||
2354 | + | ||
2355 | + return new mxPoint(bounds.x + bounds.width - dx, bounds.y + arrowHead); | ||
2356 | + }, function (bounds, pt) { | ||
2357 | + this.state.style['arrowHead'] = Math.round(100 * Math.max(2 * parseFloat(mxUtils.getValue(this.state.style, 'dy', this.dy)), Math.min(bounds.height, pt.y - bounds.y))) / 100; | ||
2358 | + }); | ||
2359 | + | ||
2555 | handles.push(handle2); | 2360 | handles.push(handle2); |
2556 | 2361 | ||
2557 | return handles; | 2362 | return handles; |
2558 | }; | 2363 | }; |
2559 | 2364 | ||
2560 | -mxShapeArrows2JumpInArrow.prototype.getConstraints = function(style, w, h) | ||
2561 | -{ | 2365 | +mxShapeArrows2JumpInArrow.prototype.getConstraints = function (style, w, h) { |
2562 | var constr = []; | 2366 | var constr = []; |
2563 | var dy = Math.max(0, Math.min(h, parseFloat(mxUtils.getValue(this.style, 'dy', this.dy)))); | 2367 | var dy = Math.max(0, Math.min(h, parseFloat(mxUtils.getValue(this.style, 'dy', this.dy)))); |
2564 | var dx = Math.max(0, Math.min(w, parseFloat(mxUtils.getValue(this.style, 'dx', this.dx)))); | 2368 | var dx = Math.max(0, Math.min(w, parseFloat(mxUtils.getValue(this.style, 'dx', this.dx)))); |
@@ -2568,7 +2372,7 @@ mxShapeArrows2JumpInArrow.prototype.getConstraints = function(style, w, h) | @@ -2568,7 +2372,7 @@ mxShapeArrows2JumpInArrow.prototype.getConstraints = function(style, w, h) | ||
2568 | constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w - dx, 0)); | 2372 | constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w - dx, 0)); |
2569 | constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w, arrowHead * 0.5)); | 2373 | constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w, arrowHead * 0.5)); |
2570 | constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w - dx, arrowHead)); | 2374 | constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, w - dx, arrowHead)); |
2571 | - | 2375 | + |
2572 | return (constr); | 2376 | return (constr); |
2573 | }; | 2377 | }; |
2574 | 2378 | ||
@@ -2578,8 +2382,7 @@ mxShapeArrows2JumpInArrow.prototype.getConstraints = function(style, w, h) | @@ -2578,8 +2382,7 @@ mxShapeArrows2JumpInArrow.prototype.getConstraints = function(style, w, h) | ||
2578 | /** | 2382 | /** |
2579 | * Extends mxShape. | 2383 | * Extends mxShape. |
2580 | */ | 2384 | */ |
2581 | -function mxShapeArrows2UTurnArrow(bounds, fill, stroke, strokewidth) | ||
2582 | -{ | 2385 | +function mxShapeArrows2UTurnArrow(bounds, fill, stroke, strokewidth) { |
2583 | mxShape.call(this); | 2386 | mxShape.call(this); |
2584 | this.bounds = bounds; | 2387 | this.bounds = bounds; |
2585 | this.fill = fill; | 2388 | this.fill = fill; |
@@ -2596,13 +2399,13 @@ function mxShapeArrows2UTurnArrow(bounds, fill, stroke, strokewidth) | @@ -2596,13 +2399,13 @@ function mxShapeArrows2UTurnArrow(bounds, fill, stroke, strokewidth) | ||
2596 | mxUtils.extend(mxShapeArrows2UTurnArrow, mxActor); | 2399 | mxUtils.extend(mxShapeArrows2UTurnArrow, mxActor); |
2597 | 2400 | ||
2598 | mxShapeArrows2UTurnArrow.prototype.customProperties = [ | 2401 | mxShapeArrows2UTurnArrow.prototype.customProperties = [ |
2599 | - {name: 'dx2', dispName: 'Arrowhead Length', type: 'float', min:0, defVal:25}, | ||
2600 | - {name: 'dy', dispName: 'Arrow Width', type: 'float', min:0, defVal:11}, | ||
2601 | - {name: 'arrowHead', dispName: 'Arrowhead Width', type: 'float', min:0, defVal:43} | 2402 | + { name: 'dx2', dispName: 'Arrowhead Length', type: 'float', min: 0, defVal: 25 }, |
2403 | + { name: 'dy', dispName: 'Arrow Width', type: 'float', min: 0, defVal: 11 }, | ||
2404 | + { name: 'arrowHead', dispName: 'Arrowhead Width', type: 'float', min: 0, defVal: 43 } | ||
2602 | ]; | 2405 | ]; |
2603 | 2406 | ||
2604 | mxShapeArrows2UTurnArrow.prototype.cst = { | 2407 | mxShapeArrows2UTurnArrow.prototype.cst = { |
2605 | - U_TURN_ARROW : 'mxgraph.arrows2.uTurnArrow' | 2408 | + U_TURN_ARROW: 'mxgraph.arrows2.uTurnArrow' |
2606 | }; | 2409 | }; |
2607 | 2410 | ||
2608 | /** | 2411 | /** |
@@ -2610,15 +2413,14 @@ mxShapeArrows2UTurnArrow.prototype.cst = { | @@ -2610,15 +2413,14 @@ mxShapeArrows2UTurnArrow.prototype.cst = { | ||
2610 | * | 2413 | * |
2611 | * Paints the vertex shape. | 2414 | * Paints the vertex shape. |
2612 | */ | 2415 | */ |
2613 | -mxShapeArrows2UTurnArrow.prototype.paintVertexShape = function(c, x, y, w, h) | ||
2614 | -{ | 2416 | +mxShapeArrows2UTurnArrow.prototype.paintVertexShape = function (c, x, y, w, h) { |
2615 | c.translate(x, y); | 2417 | c.translate(x, y); |
2616 | 2418 | ||
2617 | var dy = Math.max(0, Math.min(h, parseFloat(mxUtils.getValue(this.style, 'dy', this.dy)))); | 2419 | var dy = Math.max(0, Math.min(h, parseFloat(mxUtils.getValue(this.style, 'dy', this.dy)))); |
2618 | var arrowHead = Math.max(0, Math.min(h, parseFloat(mxUtils.getValue(this.style, 'arrowHead', this.arrowHead)))); | 2420 | var arrowHead = Math.max(0, Math.min(h, parseFloat(mxUtils.getValue(this.style, 'arrowHead', this.arrowHead)))); |
2619 | var dx = (h - arrowHead / 2 + dy) / 2; | 2421 | var dx = (h - arrowHead / 2 + dy) / 2; |
2620 | var dx2 = Math.max(0, parseFloat(mxUtils.getValue(this.style, 'dx2', this.dx2))); | 2422 | var dx2 = Math.max(0, parseFloat(mxUtils.getValue(this.style, 'dx2', this.dx2))); |
2621 | - | 2423 | + |
2622 | c.begin(); | 2424 | c.begin(); |
2623 | c.moveTo(dx, 0); | 2425 | c.moveTo(dx, 0); |
2624 | c.lineTo(dx + dx2, arrowHead * 0.5); | 2426 | c.lineTo(dx + dx2, arrowHead * 0.5); |
@@ -2637,65 +2439,57 @@ mxCellRenderer.registerShape(mxShapeArrows2UTurnArrow.prototype.cst.U_TURN_ARROW | @@ -2637,65 +2439,57 @@ mxCellRenderer.registerShape(mxShapeArrows2UTurnArrow.prototype.cst.U_TURN_ARROW | ||
2637 | 2439 | ||
2638 | mxShapeArrows2UTurnArrow.prototype.constraints = null; | 2440 | mxShapeArrows2UTurnArrow.prototype.constraints = null; |
2639 | 2441 | ||
2640 | -Graph.handleFactory[mxShapeArrows2UTurnArrow.prototype.cst.U_TURN_ARROW] = function(state) | ||
2641 | -{ | ||
2642 | - var handles = [Graph.createHandle(state, ['dy'], function(bounds) | ||
2643 | - { | ||
2644 | - var arrowHead = Math.max(0, Math.min(bounds.height, parseFloat(mxUtils.getValue(this.state.style, 'arrowHead', this.arrowHead)))); | ||
2645 | - var dy = Math.max(0, Math.min(arrowHead, parseFloat(mxUtils.getValue(this.state.style, 'dy', this.dy)))); | ||
2646 | - var dx = (bounds.height - arrowHead / 2 + dy) / 2; | ||
2647 | - | ||
2648 | - return new mxPoint(bounds.x + dx, bounds.y + arrowHead / 2 - dy); | ||
2649 | - }, function(bounds, pt) | ||
2650 | - { | ||
2651 | - this.state.style['dy'] = Math.round(100 * Math.max(0, Math.min(parseFloat(mxUtils.getValue(this.state.style, 'arrowHead', this.arrowHead)) / 2, bounds.y + parseFloat(mxUtils.getValue(this.state.style, 'arrowHead', this.arrowHead)) / 2 - pt.y))) / 100; | ||
2652 | - | ||
2653 | - })]; | ||
2654 | - | ||
2655 | - var handle2 = Graph.createHandle(state, ['dx2'], function(bounds) | ||
2656 | - { | ||
2657 | - var arrowHead = Math.max(0, Math.min(bounds.height, parseFloat(mxUtils.getValue(this.state.style, 'arrowHead', this.arrowHead)))); | ||
2658 | - var dy = Math.max(0, Math.min(arrowHead, parseFloat(mxUtils.getValue(this.state.style, 'dy', this.dy)))); | ||
2659 | - var dx = (bounds.height - arrowHead / 2 + dy) / 2; | ||
2660 | - | ||
2661 | - var dx2 = Math.max(0, Math.min(bounds.width - dx, parseFloat(mxUtils.getValue(this.state.style, 'dx2', this.dx2)))); | ||
2662 | - | ||
2663 | - return new mxPoint(bounds.x + dx + dx2, bounds.y + arrowHead / 2); | ||
2664 | - }, function(bounds, pt) | ||
2665 | - { | ||
2666 | - var arrowHead = Math.max(0, Math.min(bounds.height, parseFloat(mxUtils.getValue(this.state.style, 'arrowHead', this.arrowHead)))); | ||
2667 | - var dy = Math.max(0, Math.min(arrowHead, parseFloat(mxUtils.getValue(this.state.style, 'dy', this.dy)))); | ||
2668 | - var dx = (bounds.height - arrowHead / 2 + dy) / 2; | ||
2669 | - this.state.style['dx2'] = Math.round(100 * Math.max(0, Math.min(Math.max(bounds.width, dx), pt.x - bounds.x - dx))) / 100; | ||
2670 | - }); | ||
2671 | - | 2442 | +Graph.handleFactory[mxShapeArrows2UTurnArrow.prototype.cst.U_TURN_ARROW] = function (state) { |
2443 | + var handles = [Graph.createHandle(state, ['dy'], function (bounds) { | ||
2444 | + var arrowHead = Math.max(0, Math.min(bounds.height, parseFloat(mxUtils.getValue(this.state.style, 'arrowHead', this.arrowHead)))); | ||
2445 | + var dy = Math.max(0, Math.min(arrowHead, parseFloat(mxUtils.getValue(this.state.style, 'dy', this.dy)))); | ||
2446 | + var dx = (bounds.height - arrowHead / 2 + dy) / 2; | ||
2447 | + | ||
2448 | + return new mxPoint(bounds.x + dx, bounds.y + arrowHead / 2 - dy); | ||
2449 | + }, function (bounds, pt) { | ||
2450 | + this.state.style['dy'] = Math.round(100 * Math.max(0, Math.min(parseFloat(mxUtils.getValue(this.state.style, 'arrowHead', this.arrowHead)) / 2, bounds.y + parseFloat(mxUtils.getValue(this.state.style, 'arrowHead', this.arrowHead)) / 2 - pt.y))) / 100; | ||
2451 | + | ||
2452 | + })]; | ||
2453 | + | ||
2454 | + var handle2 = Graph.createHandle(state, ['dx2'], function (bounds) { | ||
2455 | + var arrowHead = Math.max(0, Math.min(bounds.height, parseFloat(mxUtils.getValue(this.state.style, 'arrowHead', this.arrowHead)))); | ||
2456 | + var dy = Math.max(0, Math.min(arrowHead, parseFloat(mxUtils.getValue(this.state.style, 'dy', this.dy)))); | ||
2457 | + var dx = (bounds.height - arrowHead / 2 + dy) / 2; | ||
2458 | + | ||
2459 | + var dx2 = Math.max(0, Math.min(bounds.width - dx, parseFloat(mxUtils.getValue(this.state.style, 'dx2', this.dx2)))); | ||
2460 | + | ||
2461 | + return new mxPoint(bounds.x + dx + dx2, bounds.y + arrowHead / 2); | ||
2462 | + }, function (bounds, pt) { | ||
2463 | + var arrowHead = Math.max(0, Math.min(bounds.height, parseFloat(mxUtils.getValue(this.state.style, 'arrowHead', this.arrowHead)))); | ||
2464 | + var dy = Math.max(0, Math.min(arrowHead, parseFloat(mxUtils.getValue(this.state.style, 'dy', this.dy)))); | ||
2465 | + var dx = (bounds.height - arrowHead / 2 + dy) / 2; | ||
2466 | + this.state.style['dx2'] = Math.round(100 * Math.max(0, Math.min(Math.max(bounds.width, dx), pt.x - bounds.x - dx))) / 100; | ||
2467 | + }); | ||
2468 | + | ||
2672 | handles.push(handle2); | 2469 | handles.push(handle2); |
2673 | 2470 | ||
2674 | - var handle3 = Graph.createHandle(state, ['arrowHead'], function(bounds) | ||
2675 | - { | ||
2676 | - var arrowHead = Math.max(0, Math.min(bounds.height, parseFloat(mxUtils.getValue(this.state.style, 'arrowHead', this.arrowHead)))); | ||
2677 | - var dy = Math.max(0, Math.min(arrowHead, parseFloat(mxUtils.getValue(this.state.style, 'dy', this.dy)))); | ||
2678 | - var dx = (bounds.height - arrowHead / 2 + dy) / 2; | ||
2679 | - | ||
2680 | - return new mxPoint(bounds.x + dx, bounds.y + arrowHead); | ||
2681 | - }, function(bounds, pt) | ||
2682 | - { | ||
2683 | - this.state.style['arrowHead'] = Math.round(100 * Math.max(2 * parseFloat(mxUtils.getValue(this.state.style, 'dy', this.dy)), Math.min(bounds.height / 2, pt.y - bounds.y))) / 100; | ||
2684 | - }); | ||
2685 | - | 2471 | + var handle3 = Graph.createHandle(state, ['arrowHead'], function (bounds) { |
2472 | + var arrowHead = Math.max(0, Math.min(bounds.height, parseFloat(mxUtils.getValue(this.state.style, 'arrowHead', this.arrowHead)))); | ||
2473 | + var dy = Math.max(0, Math.min(arrowHead, parseFloat(mxUtils.getValue(this.state.style, 'dy', this.dy)))); | ||
2474 | + var dx = (bounds.height - arrowHead / 2 + dy) / 2; | ||
2475 | + | ||
2476 | + return new mxPoint(bounds.x + dx, bounds.y + arrowHead); | ||
2477 | + }, function (bounds, pt) { | ||
2478 | + this.state.style['arrowHead'] = Math.round(100 * Math.max(2 * parseFloat(mxUtils.getValue(this.state.style, 'dy', this.dy)), Math.min(bounds.height / 2, pt.y - bounds.y))) / 100; | ||
2479 | + }); | ||
2480 | + | ||
2686 | handles.push(handle3); | 2481 | handles.push(handle3); |
2687 | 2482 | ||
2688 | return handles; | 2483 | return handles; |
2689 | }; | 2484 | }; |
2690 | 2485 | ||
2691 | -mxShapeArrows2UTurnArrow.prototype.getConstraints = function(style, w, h) | ||
2692 | -{ | 2486 | +mxShapeArrows2UTurnArrow.prototype.getConstraints = function (style, w, h) { |
2693 | var constr = []; | 2487 | var constr = []; |
2694 | var dy = Math.max(0, Math.min(h, parseFloat(mxUtils.getValue(this.style, 'dy', this.dy)))); | 2488 | var dy = Math.max(0, Math.min(h, parseFloat(mxUtils.getValue(this.style, 'dy', this.dy)))); |
2695 | var arrowHead = Math.max(0, Math.min(h, parseFloat(mxUtils.getValue(this.style, 'arrowHead', this.arrowHead)))); | 2489 | var arrowHead = Math.max(0, Math.min(h, parseFloat(mxUtils.getValue(this.style, 'arrowHead', this.arrowHead)))); |
2696 | var dx = (h - arrowHead / 2 + dy) / 2; | 2490 | var dx = (h - arrowHead / 2 + dy) / 2; |
2697 | var dx2 = Math.max(0, parseFloat(mxUtils.getValue(this.style, 'dx2', this.dx2))); | 2491 | var dx2 = Math.max(0, parseFloat(mxUtils.getValue(this.style, 'dx2', this.dx2))); |
2698 | - | 2492 | + |
2699 | constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, dx, 0)); | 2493 | constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, dx, 0)); |
2700 | constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, dx + dx2, arrowHead * 0.5)); | 2494 | constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, dx + dx2, arrowHead * 0.5)); |
2701 | constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, dx, arrowHead)); | 2495 | constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, dx, arrowHead)); |
@@ -2707,15 +2501,14 @@ mxShapeArrows2UTurnArrow.prototype.getConstraints = function(style, w, h) | @@ -2707,15 +2501,14 @@ mxShapeArrows2UTurnArrow.prototype.getConstraints = function(style, w, h) | ||
2707 | constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, dx, h)); | 2501 | constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, dx, h)); |
2708 | constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, 0, (h + arrowHead * 0.5 - dy) * 0.5)); | 2502 | constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, 0, (h + arrowHead * 0.5 - dy) * 0.5)); |
2709 | constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, arrowHead - 2 * dy, (h + arrowHead * 0.5 - dy) * 0.5)); | 2503 | constr.push(new mxConnectionConstraint(new mxPoint(0, 0), false, null, arrowHead - 2 * dy, (h + arrowHead * 0.5 - dy) * 0.5)); |
2710 | - | 2504 | + |
2711 | return (constr); | 2505 | return (constr); |
2712 | }; | 2506 | }; |
2713 | 2507 | ||
2714 | //********************************************************************************************************************************************************** | 2508 | //********************************************************************************************************************************************************** |
2715 | //Wedge Arrow | 2509 | //Wedge Arrow |
2716 | //********************************************************************************************************************************************************** | 2510 | //********************************************************************************************************************************************************** |
2717 | -function mxShapeArrowsWedgeArrow() | ||
2718 | -{ | 2511 | +function mxShapeArrowsWedgeArrow() { |
2719 | mxArrow.call(this); | 2512 | mxArrow.call(this); |
2720 | }; | 2513 | }; |
2721 | 2514 | ||
@@ -2724,11 +2517,10 @@ mxUtils.extend(mxShapeArrowsWedgeArrow, mxArrow); | @@ -2724,11 +2517,10 @@ mxUtils.extend(mxShapeArrowsWedgeArrow, mxArrow); | ||
2724 | mxShapeArrowsWedgeArrow.prototype.useSvgBoundingBox = true; | 2517 | mxShapeArrowsWedgeArrow.prototype.useSvgBoundingBox = true; |
2725 | 2518 | ||
2726 | mxShapeArrowsWedgeArrow.prototype.customProperties = [ | 2519 | mxShapeArrowsWedgeArrow.prototype.customProperties = [ |
2727 | - {name: 'startWidth', dispName: 'Wedge Width', type: 'float', min:0, defVal:25} | 2520 | + { name: 'startWidth', dispName: 'Wedge Width', type: 'float', min: 0, defVal: 25 } |
2728 | ]; | 2521 | ]; |
2729 | 2522 | ||
2730 | -mxShapeArrowsWedgeArrow.prototype.paintEdgeShape = function(c, pts) | ||
2731 | -{ | 2523 | +mxShapeArrowsWedgeArrow.prototype.paintEdgeShape = function (c, pts) { |
2732 | var sw = Math.max(0, parseFloat(mxUtils.getValue(this.style, 'startWidth', 20))); | 2524 | var sw = Math.max(0, parseFloat(mxUtils.getValue(this.style, 'startWidth', 20))); |
2733 | 2525 | ||
2734 | // Base vector (between end points) | 2526 | // Base vector (between end points) |
@@ -2737,7 +2529,7 @@ mxShapeArrowsWedgeArrow.prototype.paintEdgeShape = function(c, pts) | @@ -2737,7 +2529,7 @@ mxShapeArrowsWedgeArrow.prototype.paintEdgeShape = function(c, pts) | ||
2737 | 2529 | ||
2738 | var dx = pe.x - p0.x; | 2530 | var dx = pe.x - p0.x; |
2739 | var dy = pe.y - p0.y; | 2531 | var dy = pe.y - p0.y; |
2740 | - var dist = Math.sqrt(dx * dx + dy * dy); | 2532 | + var dist = Math.sqrt(dx * dx + dy * dy); |
2741 | var nx = dx * sw / dist; | 2533 | var nx = dx * sw / dist; |
2742 | var ny = dy * sw / dist; | 2534 | var ny = dy * sw / dist; |
2743 | 2535 | ||
@@ -2754,8 +2546,7 @@ mxCellRenderer.registerShape('mxgraph.arrows2.wedgeArrow', mxShapeArrowsWedgeArr | @@ -2754,8 +2546,7 @@ mxCellRenderer.registerShape('mxgraph.arrows2.wedgeArrow', mxShapeArrowsWedgeArr | ||
2754 | //********************************************************************************************************************************************************** | 2546 | //********************************************************************************************************************************************************** |
2755 | //Wedge Arrow Dashed | 2547 | //Wedge Arrow Dashed |
2756 | //********************************************************************************************************************************************************** | 2548 | //********************************************************************************************************************************************************** |
2757 | -function mxShapeArrowsWedgeArrowDashed() | ||
2758 | -{ | 2549 | +function mxShapeArrowsWedgeArrowDashed() { |
2759 | mxArrowConnector.call(this); | 2550 | mxArrowConnector.call(this); |
2760 | }; | 2551 | }; |
2761 | 2552 | ||
@@ -2764,11 +2555,10 @@ mxUtils.extend(mxShapeArrowsWedgeArrowDashed, mxArrow); | @@ -2764,11 +2555,10 @@ mxUtils.extend(mxShapeArrowsWedgeArrowDashed, mxArrow); | ||
2764 | mxShapeArrowsWedgeArrowDashed.prototype.useSvgBoundingBox = true; | 2555 | mxShapeArrowsWedgeArrowDashed.prototype.useSvgBoundingBox = true; |
2765 | 2556 | ||
2766 | mxShapeArrowsWedgeArrowDashed.prototype.customProperties = [ | 2557 | mxShapeArrowsWedgeArrowDashed.prototype.customProperties = [ |
2767 | - {name: 'startWidth', dispName: 'Wedge Width', type: 'float', min:0, defVal:25} | 2558 | + { name: 'startWidth', dispName: 'Wedge Width', type: 'float', min: 0, defVal: 25 } |
2768 | ]; | 2559 | ]; |
2769 | 2560 | ||
2770 | -mxShapeArrowsWedgeArrowDashed.prototype.paintEdgeShape = function(c, pts) | ||
2771 | -{ | 2561 | +mxShapeArrowsWedgeArrowDashed.prototype.paintEdgeShape = function (c, pts) { |
2772 | var startWidth = Math.max(0, parseFloat(mxUtils.getValue(this.style, 'startWidth', 20))); | 2562 | var startWidth = Math.max(0, parseFloat(mxUtils.getValue(this.style, 'startWidth', 20))); |
2773 | var steps = 8; | 2563 | var steps = 8; |
2774 | // Base vector (between end points) | 2564 | // Base vector (between end points) |
@@ -2777,7 +2567,7 @@ mxShapeArrowsWedgeArrowDashed.prototype.paintEdgeShape = function(c, pts) | @@ -2777,7 +2567,7 @@ mxShapeArrowsWedgeArrowDashed.prototype.paintEdgeShape = function(c, pts) | ||
2777 | 2567 | ||
2778 | var dx = pe.x - p0.x; | 2568 | var dx = pe.x - p0.x; |
2779 | var dy = pe.y - p0.y; | 2569 | var dy = pe.y - p0.y; |
2780 | - var dist = Math.sqrt(dx * dx + dy * dy); | 2570 | + var dist = Math.sqrt(dx * dx + dy * dy); |
2781 | var nx = dx * startWidth / dist; | 2571 | var nx = dx * startWidth / dist; |
2782 | var ny = dy * startWidth / dist; | 2572 | var ny = dy * startWidth / dist; |
2783 | var cnx = nx; // current nx | 2573 | var cnx = nx; // current nx |
@@ -2786,30 +2576,28 @@ mxShapeArrowsWedgeArrowDashed.prototype.paintEdgeShape = function(c, pts) | @@ -2786,30 +2576,28 @@ mxShapeArrowsWedgeArrowDashed.prototype.paintEdgeShape = function(c, pts) | ||
2786 | var pcy = p0.y; // current y on edge | 2576 | var pcy = p0.y; // current y on edge |
2787 | 2577 | ||
2788 | c.begin(); | 2578 | c.begin(); |
2789 | - | ||
2790 | - for (var i = 0; i <= steps; i++) | ||
2791 | - { | 2579 | + |
2580 | + for (var i = 0; i <= steps; i++) { | ||
2792 | cnx = nx * (steps - i) / steps; | 2581 | cnx = nx * (steps - i) / steps; |
2793 | cny = ny * (steps - i) / steps; | 2582 | cny = ny * (steps - i) / steps; |
2794 | 2583 | ||
2795 | - if (i == steps) | ||
2796 | - { | 2584 | + if (i == steps) { |
2797 | cnx = nx * (steps - i * 0.98) / steps; | 2585 | cnx = nx * (steps - i * 0.98) / steps; |
2798 | cny = ny * (steps - i * 0.98) / steps; | 2586 | cny = ny * (steps - i * 0.98) / steps; |
2799 | } | 2587 | } |
2800 | - | 2588 | + |
2801 | var px1 = pcx + cny; | 2589 | var px1 = pcx + cny; |
2802 | var py1 = pcy - cnx; | 2590 | var py1 = pcy - cnx; |
2803 | var px2 = pcx - cny; | 2591 | var px2 = pcx - cny; |
2804 | var py2 = pcy + cnx; | 2592 | var py2 = pcy + cnx; |
2805 | - | 2593 | + |
2806 | c.moveTo(px1, py1); | 2594 | c.moveTo(px1, py1); |
2807 | c.lineTo(px2, py2); | 2595 | c.lineTo(px2, py2); |
2808 | - | 2596 | + |
2809 | pcx = pcx + dx / steps; | 2597 | pcx = pcx + dx / steps; |
2810 | pcy = pcy + dy / steps; | 2598 | pcy = pcy + dy / steps; |
2811 | - } | ||
2812 | - | 2599 | + } |
2600 | + | ||
2813 | c.stroke(); | 2601 | c.stroke(); |
2814 | }; | 2602 | }; |
2815 | 2603 | ||
@@ -2818,8 +2606,7 @@ mxCellRenderer.registerShape('mxgraph.arrows2.wedgeArrowDashed', mxShapeArrowsWe | @@ -2818,8 +2606,7 @@ mxCellRenderer.registerShape('mxgraph.arrows2.wedgeArrowDashed', mxShapeArrowsWe | ||
2818 | //********************************************************************************************************************************************************** | 2606 | //********************************************************************************************************************************************************** |
2819 | //Wedge Arrow Dashed v2 | 2607 | //Wedge Arrow Dashed v2 |
2820 | //********************************************************************************************************************************************************** | 2608 | //********************************************************************************************************************************************************** |
2821 | -function mxShapeArrowsWedgeArrowDashed2() | ||
2822 | -{ | 2609 | +function mxShapeArrowsWedgeArrowDashed2() { |
2823 | mxArrowConnector.call(this); | 2610 | mxArrowConnector.call(this); |
2824 | }; | 2611 | }; |
2825 | 2612 | ||
@@ -2828,12 +2615,11 @@ mxUtils.extend(mxShapeArrowsWedgeArrowDashed2, mxArrow); | @@ -2828,12 +2615,11 @@ mxUtils.extend(mxShapeArrowsWedgeArrowDashed2, mxArrow); | ||
2828 | mxShapeArrowsWedgeArrowDashed2.prototype.useSvgBoundingBox = true; | 2615 | mxShapeArrowsWedgeArrowDashed2.prototype.useSvgBoundingBox = true; |
2829 | 2616 | ||
2830 | mxShapeArrowsWedgeArrowDashed2.prototype.customProperties = [ | 2617 | mxShapeArrowsWedgeArrowDashed2.prototype.customProperties = [ |
2831 | - {name: 'startWidth', dispName: 'Wedge Width', type: 'float', min:0, defVal:25}, | ||
2832 | - {name: 'stepSize', dispName: 'Step Size', type: 'float', min:0, defVal:25} | 2618 | + { name: 'startWidth', dispName: 'Wedge Width', type: 'float', min: 0, defVal: 25 }, |
2619 | + { name: 'stepSize', dispName: 'Step Size', type: 'float', min: 0, defVal: 25 } | ||
2833 | ]; | 2620 | ]; |
2834 | 2621 | ||
2835 | -mxShapeArrowsWedgeArrowDashed2.prototype.paintEdgeShape = function(c, pts) | ||
2836 | -{ | 2622 | +mxShapeArrowsWedgeArrowDashed2.prototype.paintEdgeShape = function (c, pts) { |
2837 | var startWidth = Math.max(0, parseFloat(mxUtils.getValue(this.style, 'startWidth', 20))); | 2623 | var startWidth = Math.max(0, parseFloat(mxUtils.getValue(this.style, 'startWidth', 20))); |
2838 | var stepSize = Math.max(0, parseFloat(mxUtils.getValue(this.style, 'stepSize', 10))); | 2624 | var stepSize = Math.max(0, parseFloat(mxUtils.getValue(this.style, 'stepSize', 10))); |
2839 | 2625 | ||
@@ -2843,7 +2629,7 @@ mxShapeArrowsWedgeArrowDashed2.prototype.paintEdgeShape = function(c, pts) | @@ -2843,7 +2629,7 @@ mxShapeArrowsWedgeArrowDashed2.prototype.paintEdgeShape = function(c, pts) | ||
2843 | 2629 | ||
2844 | var dx = pe.x - p0.x; | 2630 | var dx = pe.x - p0.x; |
2845 | var dy = pe.y - p0.y; | 2631 | var dy = pe.y - p0.y; |
2846 | - var dist = Math.sqrt(dx * dx + dy * dy); | 2632 | + var dist = Math.sqrt(dx * dx + dy * dy); |
2847 | var nx = dx * startWidth / dist; | 2633 | var nx = dx * startWidth / dist; |
2848 | var ny = dy * startWidth / dist; | 2634 | var ny = dy * startWidth / dist; |
2849 | var cnx = nx; // current nx | 2635 | var cnx = nx; // current nx |
@@ -2853,30 +2639,28 @@ mxShapeArrowsWedgeArrowDashed2.prototype.paintEdgeShape = function(c, pts) | @@ -2853,30 +2639,28 @@ mxShapeArrowsWedgeArrowDashed2.prototype.paintEdgeShape = function(c, pts) | ||
2853 | var steps = Math.floor(dist / stepSize); | 2639 | var steps = Math.floor(dist / stepSize); |
2854 | 2640 | ||
2855 | c.begin(); | 2641 | c.begin(); |
2856 | - | ||
2857 | - for (var i = 0; i <= steps; i++) | ||
2858 | - { | 2642 | + |
2643 | + for (var i = 0; i <= steps; i++) { | ||
2859 | cnx = nx * (steps - i) / steps; | 2644 | cnx = nx * (steps - i) / steps; |
2860 | cny = ny * (steps - i) / steps; | 2645 | cny = ny * (steps - i) / steps; |
2861 | 2646 | ||
2862 | - if (i == steps) | ||
2863 | - { | 2647 | + if (i == steps) { |
2864 | cnx = nx * (steps - i * 0.98) / steps; | 2648 | cnx = nx * (steps - i * 0.98) / steps; |
2865 | cny = ny * (steps - i * 0.98) / steps; | 2649 | cny = ny * (steps - i * 0.98) / steps; |
2866 | } | 2650 | } |
2867 | - | 2651 | + |
2868 | var px1 = pcx + cny; | 2652 | var px1 = pcx + cny; |
2869 | var py1 = pcy - cnx; | 2653 | var py1 = pcy - cnx; |
2870 | var px2 = pcx - cny; | 2654 | var px2 = pcx - cny; |
2871 | var py2 = pcy + cnx; | 2655 | var py2 = pcy + cnx; |
2872 | - | 2656 | + |
2873 | c.moveTo(px1, py1); | 2657 | c.moveTo(px1, py1); |
2874 | c.lineTo(px2, py2); | 2658 | c.lineTo(px2, py2); |
2875 | - | 2659 | + |
2876 | pcx = pcx + dx / steps; | 2660 | pcx = pcx + dx / steps; |
2877 | pcy = pcy + dy / steps; | 2661 | pcy = pcy + dy / steps; |
2878 | - } | ||
2879 | - | 2662 | + } |
2663 | + | ||
2880 | c.stroke(); | 2664 | c.stroke(); |
2881 | }; | 2665 | }; |
2882 | 2666 |