ag-psd 16.0.0 → 17.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -10,8 +10,8 @@ var __assign = (this && this.__assign) || function () {
10
10
  return __assign.apply(this, arguments);
11
11
  };
12
12
  import { createEnum } from './helpers';
13
- import { readSignature, readUnicodeString, readUint32, readUint8, readFloat64, readBytes, readAsciiString, readInt32, readFloat32, readInt32LE, readUnicodeStringWithLength } from './psdReader';
14
- import { writeSignature, writeBytes, writeUint32, writeFloat64, writeUint8, writeUnicodeStringWithPadding, writeInt32, writeFloat32, writeUnicodeString } from './psdWriter';
13
+ import { readSignature, readUnicodeString, readUint32, readUint8, readFloat64, readBytes, readAsciiString, readInt32, readFloat32, readInt32LE, readUnicodeStringWithLengthLE } from './psdReader';
14
+ import { writeSignature, writeBytes, writeUint32, writeFloat64, writeUint8, writeUnicodeStringWithPadding, writeInt32, writeFloat32, writeUnicodeString, writeInt32LE, writeUnicodeStringWithoutLengthLE } from './psdWriter';
15
15
  function revMap(map) {
16
16
  var result = {};
17
17
  Object.keys(map).forEach(function (key) { return result[map[key]] = key; });
@@ -109,11 +109,15 @@ var fieldToExtType = {
109
109
  Anch: makeType('', 'Pnt '),
110
110
  'Fwd ': makeType('', 'Pnt '),
111
111
  'Bwd ': makeType('', 'Pnt '),
112
+ FlrC: makeType('', 'Pnt '),
112
113
  meshBoundaryPath: makeType('', 'pathClass'),
113
114
  filterFX: makeType('', 'filterFXStyle'),
114
115
  Fltr: makeType('', 'rigidTransform'),
115
116
  FrgC: makeType('', 'RGBC'),
116
117
  BckC: makeType('', 'RGBC'),
118
+ sdwM: makeType('Parameters', 'adaptCorrectTones'),
119
+ hglM: makeType('Parameters', 'adaptCorrectTones'),
120
+ customShape: makeType('', 'customShape'),
117
121
  };
118
122
  var fieldToArrayExtType = {
119
123
  'Crv ': makeType('', 'CrPt'),
@@ -142,15 +146,20 @@ var fieldToArrayExtType = {
142
146
  pathComponents: makeType('', 'PaCm'),
143
147
  filterFXList: makeType('', 'filterFX'),
144
148
  puppetShapeList: makeType('', 'puppetShape'),
149
+ channelDenoise: makeType('', 'channelDenoiseParams'),
150
+ ShrP: makeType('', 'Pnt '),
145
151
  };
146
152
  var typeToField = {
147
153
  'TEXT': [
148
154
  'Txt ', 'printerName', 'Nm ', 'Idnt', 'blackAndWhitePresetFileName', 'LUT3DFileName',
149
155
  'presetFileName', 'curvesPresetFileName', 'mixerPresetFileName', 'placed', 'description', 'reason',
150
156
  'artboardPresetName', 'json', 'clipID', 'relPath', 'fullPath', 'mediaDescriptor', 'Msge',
151
- 'altTag', 'url', 'cellText',
157
+ 'altTag', 'url', 'cellText', 'preset', 'KnNm', 'FPth',
158
+ ],
159
+ 'tdta': [
160
+ 'EngineData', 'LUT3DFileData', 'indexArray', 'originalVertexArray', 'deformedVertexArray',
161
+ 'LqMe',
152
162
  ],
153
- 'tdta': ['EngineData', 'LUT3DFileData', 'indexArray', 'originalVertexArray', 'deformedVertexArray'],
154
163
  'long': [
155
164
  'TextIndex', 'RndS', 'Mdpn', 'Smth', 'Lctn', 'strokeStyleVersion', 'LaID', 'Vrsn', 'Cnt ',
156
165
  'Brgh', 'Cntr', 'means', 'vibrance', 'Strt', 'bwPresetKind', 'presetKind', 'comp', 'compID', 'originalCompID',
@@ -161,16 +170,19 @@ var typeToField = {
161
170
  'numBefore', 'numAfter', 'Spcn', 'minOpacity', 'maxOpacity', 'BlnM', 'sheetID', 'gblA', 'globalAltitude',
162
171
  'descVersion', 'frameReaderType', 'LyrI', 'zoomOrigin', 'fontSize', 'Rds ', 'sliceID',
163
172
  'topOutset', 'leftOutset', 'bottomOutset', 'rightOutset', 'filterID', 'meshQuality',
164
- 'meshExpansion', 'meshRigidity', 'VrsM', 'VrsN',
173
+ 'meshExpansion', 'meshRigidity', 'VrsM', 'VrsN', 'NmbG', 'WLMn', 'WLMx', 'AmMn', 'AmMx', 'SclH', 'SclV',
174
+ 'Lvl ', 'TlNm', 'TlOf', 'FlRs', 'Thsh', 'ShrS', 'ShrE', 'FlRs', 'Vrnc', 'Strg', 'ExtS', 'ExtD',
175
+ 'HrzS', 'VrtS', 'NmbR', 'EdgF', 'Ang1', 'Ang2', 'Ang3', 'Ang4',
165
176
  ],
166
177
  'enum': [
167
- 'textGridding', 'Ornt', 'warpStyle', 'warpRotate', 'Inte', 'Bltn', 'ClrS',
168
- 'sdwM', 'hglM', 'bvlT', 'bvlS', 'bvlD', 'Md ', 'glwS', 'GrdF', 'GlwT',
178
+ 'textGridding', 'Ornt', 'warpStyle', 'warpRotate', 'Inte', 'Bltn', 'ClrS', 'BlrQ',
179
+ 'bvlT', 'bvlS', 'bvlD', 'Md ', 'glwS', 'GrdF', 'GlwT', 'RplS', 'BlrM', 'SmBM',
169
180
  'strokeStyleLineCapType', 'strokeStyleLineJoinType', 'strokeStyleLineAlignment',
170
181
  'strokeStyleBlendMode', 'PntT', 'Styl', 'lookupType', 'LUTFormat', 'dataOrder',
171
182
  'tableOrder', 'enableCompCore', 'enableCompCoreGPU', 'compCoreSupport', 'compCoreGPUSupport', 'Engn',
172
183
  'enableCompCoreThreads', 'gs99', 'FrDs', 'trackID', 'animInterpStyle', 'horzAlign',
173
- 'vertAlign', 'bgColorType', 'shapeOperation',
184
+ 'vertAlign', 'bgColorType', 'shapeOperation', 'UndA', 'Wvtp', 'Drct', 'WndM', 'Edg ', 'FlCl', 'IntE',
185
+ 'IntC', 'Cnvr', 'Fl ', 'Dstr', 'MztT', 'Lns ', 'ExtT', 'DspM', 'ExtR', 'ZZTy', 'SphM', 'SmBQ',
174
186
  ],
175
187
  'bool': [
176
188
  'PstS', 'printSixteenBit', 'masterFXSwitch', 'enab', 'uglg', 'antialiasGloss',
@@ -182,7 +194,8 @@ var typeToField = {
182
194
  'present', 'showInDialog', 'overprint', 'sheetDisclosed', 'lightsDisclosed', 'meshesDisclosed',
183
195
  'materialsDisclosed', 'hasMotion', 'muted', 'Effc', 'selected', 'autoScope', 'fillCanvas',
184
196
  'cellTextIsHTML', 'Smoo', 'Clsp', 'validAtPosition', 'rigidType', 'hasoptions', 'filterMaskEnable',
185
- 'filterMaskLinked', 'filterMaskExtendWithWhite',
197
+ 'filterMaskLinked', 'filterMaskExtendWithWhite', 'removeJPEGArtifact', 'Mnch', 'ExtF', 'ExtM',
198
+ 'moreAccurate', 'GpuY', 'LIWy',
186
199
  ],
187
200
  'doub': [
188
201
  'warpValue', 'warpPerspective', 'warpPerspectiveOther', 'Intr', 'Wdth', 'Hght',
@@ -192,10 +205,10 @@ var typeToField = {
192
205
  'PuX0', 'PuX1', 'PuX2', 'PuX3', 'PuY0', 'PuY1', 'PuY2', 'PuY3'
193
206
  ],
194
207
  'UntF': [
195
- 'Scl ', 'sdwO', 'hglO', 'lagl', 'Lald', 'srgR', 'blur', 'Sftn', 'Opct', 'Dstn', 'Angl',
208
+ 'sdwO', 'hglO', 'lagl', 'Lald', 'srgR', 'blur', 'Sftn', 'Opct', 'Dstn', 'Angl',
196
209
  'Ckmt', 'Nose', 'Inpr', 'ShdN', 'strokeStyleLineWidth', 'strokeStyleLineDashOffset',
197
210
  'strokeStyleOpacity', 'H ', 'Top ', 'Left', 'Btom', 'Rght', 'Rslt',
198
- 'topRight', 'topLeft', 'bottomLeft', 'bottomRight',
211
+ 'topRight', 'topLeft', 'bottomLeft', 'bottomRight', 'ClNs', 'Shrp',
199
212
  ],
200
213
  'VlLs': [
201
214
  'Crv ', 'Clrs', 'Mnm ', 'Mxm ', 'Trns', 'pathList', 'strokeStyleLineDashSet', 'FrLs', 'slices',
@@ -203,10 +216,12 @@ var typeToField = {
203
216
  'solidFillMulti', 'frameFXMulti', 'innerShadowMulti', 'dropShadowMulti', 'FrIn', 'FSts', 'FsFr',
204
217
  'sheetTimelineOptions', 'audioClipList', 'trackList', 'globalTrackList', 'keyList', 'audioClipList',
205
218
  'warpValues', 'selectedPin', 'Pts ', 'SbpL', 'pathComponents', 'pinOffsets', 'posFinalPins',
206
- 'pinVertexIndices', 'PinP', 'PnRt', 'PnOv', 'PnDp', 'filterFXList', 'puppetShapeList',
219
+ 'pinVertexIndices', 'PinP', 'PnRt', 'PnOv', 'PnDp', 'filterFXList', 'puppetShapeList', 'ShrP',
220
+ 'channelDenoise', 'Mtrx',
207
221
  ],
208
222
  'ObAr': ['meshPoints', 'quiltSliceX', 'quiltSliceY'],
209
- 'obj ': ['null'],
223
+ 'obj ': ['null', 'Chnl'],
224
+ 'Pth ': ['DspF'],
210
225
  };
211
226
  var channels = [
212
227
  'Rd ', 'Grn ', 'Bl ', 'Yllw', 'Ylw ', 'Cyn ', 'Mgnt', 'Blck', 'Gry ', 'Lmnc', 'A ', 'B ',
@@ -245,6 +260,9 @@ var fieldToArrayType = {
245
260
  PnDp: 'doub',
246
261
  filterFXList: 'Objc',
247
262
  puppetShapeList: 'Objc',
263
+ ShrP: 'Objc',
264
+ channelDenoise: 'Objc',
265
+ Mtrx: 'long',
248
266
  };
249
267
  var fieldToType = {};
250
268
  for (var _i = 0, _a = Object.keys(typeToField); _i < _a.length; _i++) {
@@ -319,11 +337,12 @@ function writeAsciiStringOrClassId(writer, value) {
319
337
  }
320
338
  }
321
339
  export function readDescriptorStructure(reader) {
322
- var object = {};
323
- // object.__struct =
340
+ // const struct =
324
341
  readClassStructure(reader);
342
+ // const object: any = { _name: struct.name, _classID: struct.classID };
343
+ var object = {};
344
+ // console.log('>> ', struct);
325
345
  var itemsCount = readUint32(reader);
326
- // console.log('//', object.__struct);
327
346
  for (var i = 0; i < itemsCount; i++) {
328
347
  var key = readAsciiStringOrClassId(reader);
329
348
  var type = readSignature(reader);
@@ -341,21 +360,60 @@ export function writeDescriptorStructure(writer, name, classId, value, root) {
341
360
  writeUnicodeStringWithPadding(writer, name);
342
361
  writeAsciiStringOrClassId(writer, classId);
343
362
  var keys = Object.keys(value);
344
- writeUint32(writer, keys.length);
363
+ var keyCount = keys.length;
364
+ if ('_name' in value)
365
+ keyCount--;
366
+ if ('_classID' in value)
367
+ keyCount--;
368
+ writeUint32(writer, keyCount);
345
369
  for (var _i = 0, keys_1 = keys; _i < keys_1.length; _i++) {
346
370
  var key = keys_1[_i];
371
+ if (key === '_name' || key === '_classID')
372
+ continue;
347
373
  var type = getTypeByKey(key, value[key], root, value);
348
374
  var extType = fieldToExtType[key];
349
375
  if (key === 'origin') {
350
376
  type = root === 'slices' ? 'enum' : 'Objc';
351
377
  }
378
+ else if ((key === 'Cyn ' || key === 'Mgnt' || key === 'Ylw ' || key === 'Blck') && value._classID === 'CMYC') {
379
+ type = 'doub';
380
+ }
381
+ else if (/^PN[a-z][a-z]$/.test(key)) {
382
+ type = 'TEXT';
383
+ }
384
+ else if (/^PT[a-z][a-z]$/.test(key)) {
385
+ type = 'long';
386
+ }
387
+ else if (/^PF[a-z][a-z]$/.test(key)) {
388
+ type = 'doub';
389
+ }
390
+ else if (key === 'ClSz' || key === 'Rds ' || key === 'Amnt') {
391
+ type = typeof value[key] === 'number' ? 'long' : 'UntF';
392
+ }
393
+ else if ((key === 'sdwM' || key === 'hglM') && typeof value[key] === 'string') {
394
+ type = 'enum';
395
+ }
396
+ else if (key === 'blur' && typeof value[key] === 'string') {
397
+ type = 'enum';
398
+ }
399
+ else if (key === 'Angl' && typeof value[key] === 'number') {
400
+ type = 'doub'; // ???
401
+ }
352
402
  else if (key === 'bounds' && root === 'slices') {
353
403
  type = 'Objc';
354
404
  extType = makeType('', 'Rct1');
355
405
  }
356
- else if (key === 'Scl ' && 'Hrzn' in value[key]) {
357
- type = 'Objc';
358
- extType = nullType;
406
+ else if (key === 'Scl ') {
407
+ if (typeof value[key] === 'object' && 'Hrzn' in value[key]) {
408
+ type = 'Objc';
409
+ extType = nullType;
410
+ }
411
+ else if (typeof value[key] === 'number') {
412
+ type = 'long';
413
+ }
414
+ else {
415
+ type = 'UntF';
416
+ }
359
417
  }
360
418
  else if (key === 'audioClipGroupList' && keys.length === 1) {
361
419
  type = 'VlLs';
@@ -363,7 +421,13 @@ export function writeDescriptorStructure(writer, name, classId, value, root) {
363
421
  else if ((key === 'Strt' || key === 'Brgh') && 'H ' in value) {
364
422
  type = 'doub';
365
423
  }
366
- else if (key === 'Strt') {
424
+ else if (key === 'Wdth' && typeof value[key] === 'object') {
425
+ type = 'UntF';
426
+ }
427
+ else if (key === 'Ofst' && typeof value[key] === 'number') {
428
+ type = 'long';
429
+ }
430
+ else if (key === 'Strt' && typeof value[key] === 'object') {
367
431
  type = 'Objc';
368
432
  extType = nullType;
369
433
  }
@@ -482,11 +546,11 @@ function readOSType(reader, type) {
482
546
  return items;
483
547
  }
484
548
  case 'Pth ': { // File path
485
- /*const length =*/ readInt32(reader);
549
+ /*const length =*/ readInt32(reader); // total size of all fields below
486
550
  var sig = readSignature(reader);
487
- /*const pathSize =*/ readInt32LE(reader);
551
+ /*const pathSize =*/ readInt32LE(reader); // the same as length
488
552
  var charsCount = readInt32LE(reader);
489
- var path = readUnicodeStringWithLength(reader, charsCount);
553
+ var path = readUnicodeStringWithLengthLE(reader, charsCount);
490
554
  return { sig: sig, path: path };
491
555
  }
492
556
  default:
@@ -504,12 +568,19 @@ function writeOSType(writer, type, value, key, extType, root) {
504
568
  writeReferenceStructure(writer, key, value);
505
569
  break;
506
570
  case 'Objc': // Descriptor
507
- case 'GlbO': // GlobalObject same as Descriptor
571
+ case 'GlbO': { // GlobalObject same as Descriptor
572
+ if (typeof value !== 'object')
573
+ throw new Error("Invalid struct value: ".concat(JSON.stringify(value), ", key: ").concat(key));
508
574
  if (!extType)
509
575
  throw new Error("Missing ext type for: '".concat(key, "' (").concat(JSON.stringify(value), ")"));
510
- writeDescriptorStructure(writer, extType.name, extType.classID, value, root);
576
+ var name_1 = value._name || extType.name;
577
+ var classID = value._classID || extType.classID;
578
+ writeDescriptorStructure(writer, name_1, classID, value, root);
511
579
  break;
580
+ }
512
581
  case 'VlLs': // List
582
+ if (!Array.isArray(value))
583
+ throw new Error("Invalid list value: ".concat(JSON.stringify(value), ", key: ").concat(key));
513
584
  writeInt32(writer, value.length);
514
585
  for (var i = 0; i < value.length; i++) {
515
586
  var type_3 = fieldToArrayType[key];
@@ -520,6 +591,8 @@ function writeOSType(writer, type, value, key, extType, root) {
520
591
  }
521
592
  break;
522
593
  case 'doub': // Double
594
+ if (typeof value !== 'number')
595
+ throw new Error("Invalid number value: ".concat(JSON.stringify(value), ", key: ").concat(key));
523
596
  writeFloat64(writer, value);
524
597
  break;
525
598
  case 'UntF': // Unit double
@@ -538,17 +611,23 @@ function writeOSType(writer, type, value, key, extType, root) {
538
611
  writeUnicodeStringWithPadding(writer, value);
539
612
  break;
540
613
  case 'enum': { // Enumerated
614
+ if (typeof value !== 'string')
615
+ throw new Error("Invalid enum value: ".concat(JSON.stringify(value), ", key: ").concat(key));
541
616
  var _a = value.split('.'), _type = _a[0], val = _a[1];
542
617
  writeAsciiStringOrClassId(writer, _type);
543
618
  writeAsciiStringOrClassId(writer, val);
544
619
  break;
545
620
  }
546
621
  case 'long': // Integer
622
+ if (typeof value !== 'number')
623
+ throw new Error("Invalid integer value: ".concat(JSON.stringify(value), ", key: ").concat(key));
547
624
  writeInt32(writer, value);
548
625
  break;
549
626
  // case 'comp': // Large Integer
550
627
  // writeLargeInteger(reader);
551
628
  case 'bool': // Boolean
629
+ if (typeof value !== 'boolean')
630
+ throw new Error("Invalid boolean value: ".concat(JSON.stringify(value), ", key: ").concat(key));
552
631
  writeUint8(writer, value ? 1 : 0);
553
632
  break;
554
633
  // case 'type': // Class
@@ -579,8 +658,15 @@ function writeOSType(writer, type, value, key, extType, root) {
579
658
  }
580
659
  break;
581
660
  }
582
- // case 'Pth ': // File path
583
- // writeFilePath(reader);
661
+ case 'Pth ': { // File path
662
+ var length_5 = 4 + 4 + 4 + value.path.length * 2;
663
+ writeInt32(writer, length_5);
664
+ writeSignature(writer, value.sig);
665
+ writeInt32LE(writer, length_5);
666
+ writeInt32LE(writer, value.path.length);
667
+ writeUnicodeStringWithoutLengthLE(writer, value.path);
668
+ break;
669
+ }
584
670
  default:
585
671
  throw new Error("Not implemented descriptor OSType: ".concat(type));
586
672
  }
@@ -671,7 +757,6 @@ function writeReferenceStructure(writer, _key, items) {
671
757
  function readClassStructure(reader) {
672
758
  var name = readUnicodeString(reader);
673
759
  var classID = readAsciiStringOrClassId(reader);
674
- // console.log({ name, classID });
675
760
  return { name: name, classID: classID };
676
761
  }
677
762
  function writeClassStructure(writer, name, classID) {
@@ -845,7 +930,8 @@ function parseKeyList(keyList, logMissingFeatures) {
845
930
  var keys = [];
846
931
  for (var j = 0; j < keyList.length; j++) {
847
932
  var key = keyList[j];
848
- var time = key.time, selected = key.selected, animKey = key.animKey;
933
+ var _a = key.time, denominator = _a.denominator, numerator = _a.numerator, selected = key.selected, animKey = key.animKey;
934
+ var time = { numerator: numerator, denominator: denominator };
849
935
  var interpolation = animInterpStyleEnum.decode(key.animInterpStyle);
850
936
  switch (animKey.Type) {
851
937
  case 'keyType.Opct':
@@ -1092,6 +1178,9 @@ function parseEffectObject(obj, reportErrors) {
1092
1178
  case 'antialiasGloss':
1093
1179
  result[key] = val;
1094
1180
  break;
1181
+ case '_name':
1182
+ case '_classID':
1183
+ break;
1095
1184
  default:
1096
1185
  reportErrors && console.log("Invalid effect key: '".concat(key, "', value:"), val);
1097
1186
  }
@@ -1441,25 +1530,25 @@ export function parseColor(color) {
1441
1530
  }
1442
1531
  export function serializeColor(color) {
1443
1532
  if (!color) {
1444
- return { 'Rd ': 0, 'Grn ': 0, 'Bl ': 0 };
1533
+ return { _name: '', _classID: 'RGBC', 'Rd ': 0, 'Grn ': 0, 'Bl ': 0 };
1445
1534
  }
1446
1535
  else if ('r' in color) {
1447
- return { 'Rd ': color.r || 0, 'Grn ': color.g || 0, 'Bl ': color.b || 0 };
1536
+ return { _name: '', _classID: 'RGBC', 'Rd ': color.r || 0, 'Grn ': color.g || 0, 'Bl ': color.b || 0 };
1448
1537
  }
1449
1538
  else if ('fr' in color) {
1450
- return { redFloat: color.fr, greenFloat: color.fg, blueFloat: color.fb };
1539
+ return { _name: '', _classID: 'XXXX', redFloat: color.fr, greenFloat: color.fg, blueFloat: color.fb };
1451
1540
  }
1452
1541
  else if ('h' in color) {
1453
- return { 'H ': unitsAngle(color.h * 360), Strt: color.s || 0, Brgh: color.b || 0 };
1542
+ return { _name: '', _classID: 'HSBC', 'H ': unitsAngle(color.h * 360), Strt: color.s || 0, Brgh: color.b || 0 };
1454
1543
  }
1455
1544
  else if ('c' in color) {
1456
- return { 'Cyn ': color.c || 0, Mgnt: color.m || 0, 'Ylw ': color.y || 0, Blck: color.k || 0 };
1545
+ return { _name: '', _classID: 'CMYC', 'Cyn ': color.c || 0, Mgnt: color.m || 0, 'Ylw ': color.y || 0, Blck: color.k || 0 };
1457
1546
  }
1458
1547
  else if ('l' in color) {
1459
- return { Lmnc: color.l || 0, 'A ': color.a || 0, 'B ': color.b || 0 };
1548
+ return { _name: '', _classID: 'LABC', Lmnc: color.l || 0, 'A ': color.a || 0, 'B ': color.b || 0 };
1460
1549
  }
1461
1550
  else if ('k' in color) {
1462
- return { 'Gry ': color.k };
1551
+ return { _name: '', _classID: 'GRYC', 'Gry ': color.k };
1463
1552
  }
1464
1553
  else {
1465
1554
  throw new Error('Invalid color value');
@@ -1514,6 +1603,9 @@ export function unitsAngle(value) {
1514
1603
  export function unitsPercent(value) {
1515
1604
  return { units: 'Percent', value: Math.round((value || 0) * 100) };
1516
1605
  }
1606
+ export function unitsPercentF(value) {
1607
+ return { units: 'Percent', value: (value || 0) * 100 };
1608
+ }
1517
1609
  export function unitsValue(x, key) {
1518
1610
  if (x == null)
1519
1611
  return { units: 'Pixels', value: 0 };
@@ -1528,6 +1620,10 @@ export function unitsValue(x, key) {
1528
1620
  }
1529
1621
  return { units: units, value: value };
1530
1622
  }
1623
+ export function frac(_a) {
1624
+ var numerator = _a.numerator, denominator = _a.denominator;
1625
+ return { numerator: numerator, denominator: denominator };
1626
+ }
1531
1627
  export var textGridding = createEnum('textGridding', 'none', {
1532
1628
  none: 'None',
1533
1629
  round: 'Rnd ',
@@ -1649,6 +1745,7 @@ export var ClrS = createEnum('ClrS', 'rgb', {
1649
1745
  rgb: 'RGBC',
1650
1746
  hsb: 'HSBl',
1651
1747
  lab: 'LbCl',
1748
+ hsl: 'HSLC',
1652
1749
  });
1653
1750
  export var FStl = createEnum('FStl', 'outside', {
1654
1751
  outside: 'OutF',
@@ -1695,4 +1792,140 @@ export var strokeStyleLineAlignment = createEnum('strokeStyleLineAlignment', 'in
1695
1792
  center: 'strokeStyleAlignCenter',
1696
1793
  outside: 'strokeStyleAlignOutside',
1697
1794
  });
1795
+ export var BlrM = createEnum('BlrM', 'ispinmage', {
1796
+ spin: 'Spn ',
1797
+ zoom: 'Zm ',
1798
+ });
1799
+ export var BlrQ = createEnum('BlrQ', 'good', {
1800
+ draft: 'Drft',
1801
+ good: 'Gd ',
1802
+ best: 'Bst ',
1803
+ });
1804
+ export var SmBM = createEnum('SmBM', 'normal', {
1805
+ normal: 'SBMN',
1806
+ 'edge only': 'SBME',
1807
+ 'overlay edge': 'SBMO',
1808
+ });
1809
+ export var SmBQ = createEnum('SmBQ', 'medium', {
1810
+ low: 'SBQL',
1811
+ medium: 'SBQM',
1812
+ high: 'SBQH',
1813
+ });
1814
+ export var DspM = createEnum('DspM', 'stretch to fit', {
1815
+ 'stretch to fit': 'StrF',
1816
+ 'tile': 'Tile',
1817
+ });
1818
+ export var UndA = createEnum('UndA', 'repeat edge pixels', {
1819
+ 'wrap around': 'WrpA',
1820
+ 'repeat edge pixels': 'RptE',
1821
+ });
1822
+ export var Cnvr = createEnum('Cnvr', 'rectangular to polar', {
1823
+ 'rectangular to polar': 'RctP',
1824
+ 'polar to rectangular': 'PlrR',
1825
+ });
1826
+ export var RplS = createEnum('RplS', 'medium', {
1827
+ small: 'Sml ',
1828
+ medium: 'Mdm ',
1829
+ large: 'Lrg ',
1830
+ });
1831
+ export var SphM = createEnum('SphM', 'normal', {
1832
+ 'normal': 'Nrml',
1833
+ 'horizontal only': 'HrzO',
1834
+ 'vertical only': 'VrtO',
1835
+ });
1836
+ export var Wvtp = createEnum('Wvtp', 'sine', {
1837
+ sine: 'WvSn',
1838
+ triangle: 'WvTr',
1839
+ square: 'WvSq',
1840
+ });
1841
+ export var ZZTy = createEnum('ZZTy', 'pond ripples', {
1842
+ 'around center': 'ArnC',
1843
+ 'out from center': 'OtFr',
1844
+ 'pond ripples': 'PndR',
1845
+ });
1846
+ export var Dstr = createEnum('Dstr', 'uniform', {
1847
+ uniform: 'Unfr',
1848
+ gaussian: 'Gsn ',
1849
+ });
1850
+ export var Chnl = createEnum('Chnl', 'composite', {
1851
+ red: 'Rd ',
1852
+ green: 'Grn ',
1853
+ blue: 'Bl ',
1854
+ composite: 'Cmps',
1855
+ });
1856
+ export var MztT = createEnum('MztT', 'fine dots', {
1857
+ 'fine dots': 'FnDt',
1858
+ 'medium dots': 'MdmD',
1859
+ 'grainy dots': 'GrnD',
1860
+ 'coarse dots': 'CrsD',
1861
+ 'short lines': 'ShrL',
1862
+ 'medium lines': 'MdmL',
1863
+ 'long lines': 'LngL',
1864
+ 'short strokes': 'ShSt',
1865
+ 'medium strokes': 'MdmS',
1866
+ 'long strokes': 'LngS',
1867
+ });
1868
+ export var Lns = createEnum('Lns ', '50-300mm zoom', {
1869
+ '50-300mm zoom': 'Zm ',
1870
+ '32mm prime': 'Nkn ',
1871
+ '105mm prime': 'Nkn1',
1872
+ 'movie prime': 'PnVs',
1873
+ });
1874
+ export var blurType = createEnum('blurType', 'gaussian blur', {
1875
+ 'gaussian blur': 'GsnB',
1876
+ 'lens blur': 'lensBlur',
1877
+ 'motion blur': 'MtnB',
1878
+ });
1879
+ export var DfsM = createEnum('DfsM', 'normal', {
1880
+ 'normal': 'Nrml',
1881
+ 'darken only': 'DrkO',
1882
+ 'lighten only': 'LghO',
1883
+ 'anisotropic': 'anisotropic',
1884
+ });
1885
+ export var ExtT = createEnum('ExtT', 'blocks', {
1886
+ blocks: 'Blks',
1887
+ pyramids: 'Pyrm',
1888
+ });
1889
+ export var ExtR = createEnum('ExtR', 'random', {
1890
+ random: 'Rndm',
1891
+ 'level-based': 'LvlB',
1892
+ });
1893
+ export var FlCl = createEnum('FlCl', 'background color', {
1894
+ 'background color': 'FlBc',
1895
+ 'foreground color': 'FlFr',
1896
+ 'inverse image': 'FlIn',
1897
+ 'unaltered image': 'FlSm',
1898
+ });
1899
+ export var CntE = createEnum('CntE', 'upper', {
1900
+ lower: 'Lwr ',
1901
+ upper: 'Upr ',
1902
+ });
1903
+ export var WndM = createEnum('WndM', 'wind', {
1904
+ wind: 'Wnd ',
1905
+ blast: 'Blst',
1906
+ stagger: 'Stgr',
1907
+ });
1908
+ export var Drct = createEnum('Drct', 'from the right', {
1909
+ left: 'Left',
1910
+ right: 'Rght',
1911
+ });
1912
+ export var IntE = createEnum('IntE', 'odd lines', {
1913
+ 'odd lines': 'ElmO',
1914
+ 'even lines': 'ElmE',
1915
+ });
1916
+ export var IntC = createEnum('IntC', 'interpolation', {
1917
+ duplication: 'CrtD',
1918
+ interpolation: 'CrtI',
1919
+ });
1920
+ export var FlMd = createEnum('FlMd', 'wrap around', {
1921
+ 'set to transparent': 'Bckg',
1922
+ 'repeat edge pixels': 'Rpt ',
1923
+ 'wrap around': 'Wrp ',
1924
+ });
1925
+ export var prjM = createEnum('prjM', 'fisheye', {
1926
+ 'fisheye': 'fisP',
1927
+ 'perspective': 'perP',
1928
+ 'auto': 'auto',
1929
+ 'full spherical': 'fusP',
1930
+ });
1698
1931
  //# sourceMappingURL=descriptor.js.map