ag-psd 28.0.1 → 28.1.1

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.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,8 @@
1
1
  # Changelog
2
2
 
3
+ ## v28.1.0
4
+ - Added support for reading and writing `choke` parameter for layer effects
5
+
3
6
  ## v28.0.0
4
7
  - **BREAKING CHANGE:** Removed `layersGroup` and `layerGroupsEnabledId` properties from `imageResources` and instead added `linkGroup` and `linkGroupEnabled` fields to layers.
5
8
 
package/README.md CHANGED
@@ -164,18 +164,13 @@ Browser has to support `OffscreenCanvas` and `bitmaprenderer` context.
164
164
  importScripts('bundle.js');
165
165
 
166
166
  const createCanvas = (width, height) => {
167
- const canvas = new OffscreenCanvas(width, height);
168
- canvas.width = width;
169
- canvas.height = height;
170
- return canvas;
167
+ return new OffscreenCanvas(width, height);
171
168
  };
172
169
 
173
170
  const createCanvasFromData = (data) => {
174
171
  const image = new Image();
175
172
  image.src = 'data:image/jpeg;base64,' + agPsd.byteArrayToBase64(data);
176
173
  const canvas = new OffscreenCanvas(image.width, image.height);
177
- canvas.width = image.width;
178
- canvas.height = image.height;
179
174
  canvas.getContext('2d').drawImage(image, 0, 0);
180
175
  return canvas;
181
176
  };
@@ -227,18 +222,13 @@ xhr.send();
227
222
  importScripts('bundle.js');
228
223
 
229
224
  const createCanvas = (width, height) => {
230
- const canvas = new OffscreenCanvas(width, height);
231
- canvas.width = width;
232
- canvas.height = height;
233
- return canvas;
225
+ return OffscreenCanvas(width, height);
234
226
  };
235
227
 
236
228
  const createCanvasFromData = (data) => {
237
229
  const image = new Image();
238
230
  image.src = 'data:image/jpeg;base64,' + agPsd.byteArrayToBase64(data);
239
231
  const canvas = new OffscreenCanvas(image.width, image.height);
240
- canvas.width = image.width;
241
- canvas.height = image.height;
242
232
  canvas.getContext('2d').drawImage(image, 0, 0);
243
233
  return canvas;
244
234
  };
@@ -2402,6 +2402,26 @@ addHandler('pths', hasKey('pathList'), function (reader, target) {
2402
2402
  (0, descriptor_1.writeVersionAndDescriptor)(writer, '', 'pathsDataClass', desc);
2403
2403
  });
2404
2404
  addHandler('lyvr', hasKey('version'), function (reader, target) { return target.version = (0, psdReader_1.readUint32)(reader); }, function (writer, target) { return (0, psdWriter_1.writeUint32)(writer, target.version); });
2405
+ addHandler('lfxs', function () { return false; }, // TODO: not sure when we actually need to write this section
2406
+ // NOTE: this might be insufficient
2407
+ // target => target.effects !== undefined && (
2408
+ // !!target.effects.dropShadow?.some(e => e.choke) ||
2409
+ // !!target.effects.innerShadow?.some(e => e.choke) ||
2410
+ // !!target.effects.outerGlow?.choke ||
2411
+ // !!target.effects.innerGlow?.choke
2412
+ // ),
2413
+ function (reader, target, left) {
2414
+ var version = (0, psdReader_1.readUint32)(reader);
2415
+ if (version !== 0)
2416
+ throw new Error("Invalid lfxs version");
2417
+ var desc = (0, descriptor_1.readVersionAndDescriptor)(reader);
2418
+ target.effects = (0, descriptor_1.parseEffects)(desc, !!reader.logMissingFeatures);
2419
+ (0, psdReader_1.skipBytes)(reader, left());
2420
+ }, function (writer, target, _, options) {
2421
+ var desc = (0, descriptor_1.serializeEffects)(target.effects, !!options.logMissingFeatures, true);
2422
+ (0, psdWriter_1.writeUint32)(writer, 0); // version
2423
+ (0, descriptor_1.writeVersionAndDescriptor)(writer, '', 'null', desc);
2424
+ });
2405
2425
  function adjustmentType(type) {
2406
2426
  return function (target) { return !!target.adjustment && target.adjustment.type === type; };
2407
2427
  }
@@ -2863,7 +2883,8 @@ addHandler('thrs', adjustmentType('threshold'), function (reader, target, left)
2863
2883
  });
2864
2884
  var grdmColorModels = ['', '', '', 'rgb', 'hsb', '', 'lab'];
2865
2885
  addHandler('grdm', adjustmentType('gradient map'), function (reader, target, left) {
2866
- if ((0, psdReader_1.readUint16)(reader) !== 1)
2886
+ var version = (0, psdReader_1.readUint16)(reader);
2887
+ if (version !== 1 && version !== 3)
2867
2888
  throw new Error('Invalid grdm version');
2868
2889
  var info = {
2869
2890
  type: 'gradient map',
@@ -2871,6 +2892,12 @@ addHandler('grdm', adjustmentType('gradient map'), function (reader, target, lef
2871
2892
  };
2872
2893
  info.reverse = !!(0, psdReader_1.readUint8)(reader);
2873
2894
  info.dither = !!(0, psdReader_1.readUint8)(reader);
2895
+ var hasMethod = !!(0, psdReader_1.readUint8)(reader);
2896
+ reader.offset--;
2897
+ if (hasMethod) {
2898
+ var method = (0, psdReader_1.readSignature)(reader);
2899
+ info.method = descriptor_1.gradientInterpolationMethodType.decode(method);
2900
+ }
2874
2901
  info.name = (0, psdReader_1.readUnicodeString)(reader);
2875
2902
  info.colorStops = [];
2876
2903
  info.opacityStops = [];
@@ -2930,9 +2957,12 @@ addHandler('grdm', adjustmentType('gradient map'), function (reader, target, lef
2930
2957
  }, function (writer, target) {
2931
2958
  var _a, _b, _c;
2932
2959
  var info = target.adjustment;
2933
- (0, psdWriter_1.writeUint16)(writer, 1); // version
2960
+ (0, psdWriter_1.writeUint16)(writer, info.method !== undefined ? 3 : 1); // version
2934
2961
  (0, psdWriter_1.writeUint8)(writer, info.reverse ? 1 : 0);
2935
2962
  (0, psdWriter_1.writeUint8)(writer, info.dither ? 1 : 0);
2963
+ if (info.method !== undefined) {
2964
+ (0, psdWriter_1.writeSignature)(writer, descriptor_1.gradientInterpolationMethodType.encode(info.method));
2965
+ }
2936
2966
  (0, psdWriter_1.writeUnicodeStringWithPadding)(writer, info.name || '');
2937
2967
  (0, psdWriter_1.writeUint16)(writer, info.colorStops && info.colorStops.length || 0);
2938
2968
  var interpolation = Math.round(((_a = info.smoothness) !== null && _a !== void 0 ? _a : 1) * 4096);