Adobe 38039927 Extended User Guide - Page 284

Switch statements

Page 284 highlights

ADOBE FIREWORKS CS3 280 Extending Guide Function BeginDragControlPoint() Description Tells Fireworks what to do when the user clicks and holds the mouse button on a control point. Fireworks can change the object as the user moves the mouse (for example, using the RegisterMove method of the SmartShape object; for more information about how to get the properties of a smartShape object, see "ContourNode object" on page 211), or wait until after a mouse event to change the object. The following example uses the RegisterMove method to set the properties for the object on the mouse-down event so that the user can preview changes during the drag operation: DragControlPoint() EndDragControlPoint() SmartShapeEdited() function BeginDragControlPoint() { switch (smartShape.currentControlPointIndex) { case 0: var parms = smartShape.GetDefaultMoveParms(); smartShape.elem.controlPoints[0].RegisterMove(parms); smartShape.elem.elements[0].contours[0].nodes[0].RegisterMove(parms); break; } } This function is called every time the mouse moves during a drag operation. Fireworks can change the object as the user moves the mouse or wait until the mouse event ends to change the object. If the BeginDragControlPoint() function specifies control points or other points, Fireworks will not call the DragControlPoint() function. Tells Fireworks how to draw the final Auto Shape, after a drag operation is complete. If Fireworks handled shape changes through the BeginDragControlPoint() function, then you can use the end result of that function as a starting point. In that case, the code need not reflect every change in shape, but just the changes that aren't handled by BeginDragControlPoint(). This function is called when any changes have been made to the Auto Shape that might change the shape's behavior (such as removing a node inside an Auto Shape object). These functions correspond directly with the messages listed in "Fireworks messages" on page 278. To invoke your own function names in response to Fireworks messages, you need to write a switch() statement. Switch statements If you take a look at some existing Auto Shapes (in the Configuration/Auto Shapes folder and in the Configuration/Auto Shape Tools folders), you'll notice a switch() statement near the beginning of the file. The Auto Shape JavaScript code in these files uses a switch() statement as the initial message handler in the file. The switch() statement sorts the messages sent by Fireworks so each message (that is useful to the particular Auto Shape) invokes a corresponding function.

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78
  • 79
  • 80
  • 81
  • 82
  • 83
  • 84
  • 85
  • 86
  • 87
  • 88
  • 89
  • 90
  • 91
  • 92
  • 93
  • 94
  • 95
  • 96
  • 97
  • 98
  • 99
  • 100
  • 101
  • 102
  • 103
  • 104
  • 105
  • 106
  • 107
  • 108
  • 109
  • 110
  • 111
  • 112
  • 113
  • 114
  • 115
  • 116
  • 117
  • 118
  • 119
  • 120
  • 121
  • 122
  • 123
  • 124
  • 125
  • 126
  • 127
  • 128
  • 129
  • 130
  • 131
  • 132
  • 133
  • 134
  • 135
  • 136
  • 137
  • 138
  • 139
  • 140
  • 141
  • 142
  • 143
  • 144
  • 145
  • 146
  • 147
  • 148
  • 149
  • 150
  • 151
  • 152
  • 153
  • 154
  • 155
  • 156
  • 157
  • 158
  • 159
  • 160
  • 161
  • 162
  • 163
  • 164
  • 165
  • 166
  • 167
  • 168
  • 169
  • 170
  • 171
  • 172
  • 173
  • 174
  • 175
  • 176
  • 177
  • 178
  • 179
  • 180
  • 181
  • 182
  • 183
  • 184
  • 185
  • 186
  • 187
  • 188
  • 189
  • 190
  • 191
  • 192
  • 193
  • 194
  • 195
  • 196
  • 197
  • 198
  • 199
  • 200
  • 201
  • 202
  • 203
  • 204
  • 205
  • 206
  • 207
  • 208
  • 209
  • 210
  • 211
  • 212
  • 213
  • 214
  • 215
  • 216
  • 217
  • 218
  • 219
  • 220
  • 221
  • 222
  • 223
  • 224
  • 225
  • 226
  • 227
  • 228
  • 229
  • 230
  • 231
  • 232
  • 233
  • 234
  • 235
  • 236
  • 237
  • 238
  • 239
  • 240
  • 241
  • 242
  • 243
  • 244
  • 245
  • 246
  • 247
  • 248
  • 249
  • 250
  • 251
  • 252
  • 253
  • 254
  • 255
  • 256
  • 257
  • 258
  • 259
  • 260
  • 261
  • 262
  • 263
  • 264
  • 265
  • 266
  • 267
  • 268
  • 269
  • 270
  • 271
  • 272
  • 273
  • 274
  • 275
  • 276
  • 277
  • 278
  • 279
  • 280
  • 281
  • 282
  • 283
  • 284
  • 285
  • 286
  • 287
  • 288
  • 289
  • 290
  • 291
  • 292
  • 293
  • 294
  • 295
  • 296
  • 297
  • 298
  • 299
  • 300
  • 301
  • 302
  • 303
  • 304
  • 305
  • 306
  • 307
  • 308
  • 309
  • 310
  • 311
  • 312
  • 313
  • 314
  • 315

ADOBE FIREWORKS CS3
Extending Guide
280
These functions correspond directly with the messages listed in “Fireworks messages” on page 278. To invoke your
own function names in response to Fireworks messages, you need to write a
switch()
statement.
Switch statements
If you take a look at some existing Auto Shapes (in the Configuration/Auto Shapes folder and in the Configu-
ration/Auto Shape Tools folders), you’ll notice a
switch()
statement near the beginning of the file. The Auto Shape
JavaScript code in these files uses a
switch()
statement as the initial message handler in the file. The
switch()
statement sorts the messages sent by Fireworks so each message (that is useful to the particular Auto Shape) invokes
a corresponding function.
BeginDragCon-
trolPoint()
Tells Fireworks what to do when the user clicks and holds the mouse button on a
control point. Fireworks can change the object as the user moves the mouse (for
example, using the RegisterMove method of the SmartShape object; for more
information about how to get the properties of a smartShape object, see
“ContourNode object” on page 211), or wait until after a mouse event to change
the object.
The following example uses the RegisterMove method to set the properties for the
object on the mouse-down event so that the user can preview changes during the
drag operation:
function BeginDragControlPoint()
{
switch (smartShape.currentControlPointIndex) {
case 0:
var parms = smartShape.GetDefaultMoveParms();
smartShape.elem.controlPoints[0].Register-
Move(parms);
smart-
Shape.elem.elements[0].contours[0].nodes[0].Regis-
terMove(parms);
break;
}
}
DragControlPoint()
This function is called every time the mouse moves during a drag operation. Fire-
works can change the object as the user moves the mouse or wait until the mouse
event ends to change the object.
If the
BeginDragControlPoint()
function specifies control points or other
points, Fireworks will not call the
DragControlPoint()
function.
EndDragCon-
trolPoint()
Tells Fireworks how to draw the final Auto Shape, after a drag operation is
complete. If Fireworks handled shape changes through the
BeginDragCon-
trolPoint()
function, then you can use the end result of that function as a
starting point. In that case, the code need not reflect every change in shape, but
just the changes that aren’t handled by
BeginDragControlPoint()
.
SmartShapeEdited()
This function is called when any changes have been made to the Auto Shape that
might change the shape’s behavior (such as removing a node inside an Auto
Shape object).
Function
Description