Adobe 26001360 Scripting Guide - Page 488

Illustrator. Item, PathItem.StrokeColor

Page 488 highlights

488 Changes InThe Object Model for Illustrator CS Properties which had previously been of type Illustrator.Color because they might hold one of several specific color types, such as Document.FillColor, PathItem.StrokeColor, etc. are now type Object. The current run-time type of the reference is now obtained using TypeName(objectRef). • A new color class, NoColor, has been added - which is used to emulate the not filled/not stroked/no color assigned state an art item can be assigned. Swatch "[None]"is a preexisting example of the use of 'NoColor'. • A reference to an Illustrator.PageItem class object can no longer be directly obtained. PageItem is the abstract base class for all page/art item types. The PageItems collection now returns a reference to a concrete PageItem-derived class such as PathItem, GroupItem, etc. when asked for a contained item. This makes the COM implementation more consistent with the existing JavaScript implementation. The only direct impact on existing scripts is that variables explicitly declared 'Dim pgItem As PageItem' must be changed to 'As Object' or 'As Variant'. The type (as a string) of an object reference can easily be determined using TypeName(objectReference). See section "Deprecated" on page 489 for other PageItem-related information. • The MultiScript framework now treats all integral values as long and floating point values as double. That treatment includes the type of object model properties as well as method return values. • A new Delete() method has been implemented for all all art items which simplifies the syntax for calling Delete() and makes the object model more consistent with other COM automation object models. This method is intended to replace the Remove() method. See Remove() in section "Deprecated" on page 489 for more information. • A new Move() method has been implemented for layers and all art items which provides a direct way to specify both target container as well as relative position in a single call. This method replaces a set of 4 methods. See MoveBefore() in section Deprecated (below). A new enumeration, AiElementPlacement, has also been added to provide a mechanism for specifying both move and duplicate target positioning. • The Duplicate() method has been enhanced to provide a direct way to specify both target container as well as relative position in a single call. Previously, an item had to be first duplicated and then repositioned (moved) in 2 separate operations. • Error message handling has been made more robust with the objective of providing better context information in the messages. For example, rather than simply returning a generic error when the value passed in a method call is not valid, the error handling system will now attempt to report which argument was not valid. The specific text of some error messages will have changed as a result. 12 Aug 03

  • 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
  • 316
  • 317
  • 318
  • 319
  • 320
  • 321
  • 322
  • 323
  • 324
  • 325
  • 326
  • 327
  • 328
  • 329
  • 330
  • 331
  • 332
  • 333
  • 334
  • 335
  • 336
  • 337
  • 338
  • 339
  • 340
  • 341
  • 342
  • 343
  • 344
  • 345
  • 346
  • 347
  • 348
  • 349
  • 350
  • 351
  • 352
  • 353
  • 354
  • 355
  • 356
  • 357
  • 358
  • 359
  • 360
  • 361
  • 362
  • 363
  • 364
  • 365
  • 366
  • 367
  • 368
  • 369
  • 370
  • 371
  • 372
  • 373
  • 374
  • 375
  • 376
  • 377
  • 378
  • 379
  • 380
  • 381
  • 382
  • 383
  • 384
  • 385
  • 386
  • 387
  • 388
  • 389
  • 390
  • 391
  • 392
  • 393
  • 394
  • 395
  • 396
  • 397
  • 398
  • 399
  • 400
  • 401
  • 402
  • 403
  • 404
  • 405
  • 406
  • 407
  • 408
  • 409
  • 410
  • 411
  • 412
  • 413
  • 414
  • 415
  • 416
  • 417
  • 418
  • 419
  • 420
  • 421
  • 422
  • 423
  • 424
  • 425
  • 426
  • 427
  • 428
  • 429
  • 430
  • 431
  • 432
  • 433
  • 434
  • 435
  • 436
  • 437
  • 438
  • 439
  • 440
  • 441
  • 442
  • 443
  • 444
  • 445
  • 446
  • 447
  • 448
  • 449
  • 450
  • 451
  • 452
  • 453
  • 454
  • 455
  • 456
  • 457
  • 458
  • 459
  • 460
  • 461
  • 462
  • 463
  • 464
  • 465
  • 466
  • 467
  • 468
  • 469
  • 470
  • 471
  • 472
  • 473
  • 474
  • 475
  • 476
  • 477
  • 478
  • 479
  • 480
  • 481
  • 482
  • 483
  • 484
  • 485
  • 486
  • 487
  • 488
  • 489
  • 490
  • 491
  • 492

Changes InThe Object Model for Illustrator CS
488
12 Aug 03
Properties which had previously been of type
Illustrator.Color
because they
might hold one of several specific color types, such as
Document.FillColor
,
PathItem.StrokeColor
, etc. are now type
Object
. The current run-time type of the
reference is now obtained using
TypeName(objectRef)
.
A new color class,
NoColor
, has been added – which is used to emulate the not filled/not
stroked/no color assigned state an art item can be assigned. Swatch “[None]” is a pre-
existing example of the use of ‘
NoColor
’.
A reference to an
Illustrator.PageItem
class object can no longer be directly
obtained.
PageItem
is the abstract base class for all page/art item types. The PageItems
collection now returns a reference to a concrete PageItem-derived class such as
PathItem
,
GroupItem
, etc. when asked for a contained item. This makes the COM
implementation more consistent with the existing JavaScript implementation. The only
direct impact on existing scripts is that variables explicitly declared ‘
Dim
pgItem
As
PageItem
’ must be changed to ‘
As
Object
’ or ‘
As
Variant
’.
The type (as a string) of an object reference can easily be determined using
TypeName(objectReference). See section “Deprecated” on page 489 for other
PageItem
-related information.
The MultiScript framework now treats all integral values as long and floating point values
as double. That treatment includes the type of object model properties as well as method
return values.
A new
Delete()
method has been implemented for all all art items which simplifies the
syntax for calling
Delete()
and makes the object model more consistent with other
COM automation object models. This method is intended to replace the
Remove()
method. See
Remove()
in section “Deprecated” on page 489 for more information.
A new
Move()
method has been implemented for layers and all art items which provides
a direct way to specify both target container as well as relative position in a single call.
This method replaces a set of 4 methods. See
MoveBefore()
in section
Deprecated
(below).
A new enumeration,
AiElementPlacement
, has also been added to provide a
mechanism for
specifying both move and duplicate target positioning.
The
Duplicate()
method has been enhanced to provide a direct way to specify both
target container as well as relative position in a single call. Previously, an item had to be
first duplicated and then repositioned (moved) in 2 separate operations.
Error message
handling has been made more robust with the objective of providing
better context information in the messages. For example, rather than simply returning a
generic error when the value passed in a method call is not valid, the error handling
system will now attempt to report
which
argument was not valid. The specific text of
some error messages will have changed as a result.