ag-psd 30.2.0 → 31.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.
Files changed (252) hide show
  1. package/.v8-cache/v24.13.1-x64-cf738c9d/01e5e61b +0 -0
  2. package/.v8-cache/v24.13.1-x64-cf738c9d/05135617 +0 -0
  3. package/.v8-cache/v24.13.1-x64-cf738c9d/06423db9 +0 -0
  4. package/.v8-cache/v24.13.1-x64-cf738c9d/06e765df +0 -0
  5. package/.v8-cache/v24.13.1-x64-cf738c9d/0930679d +0 -0
  6. package/.v8-cache/v24.13.1-x64-cf738c9d/09519a62 +0 -0
  7. package/.v8-cache/v24.13.1-x64-cf738c9d/0a6607b0 +0 -0
  8. package/.v8-cache/v24.13.1-x64-cf738c9d/0ad8fa6e +0 -0
  9. package/.v8-cache/v24.13.1-x64-cf738c9d/0d390e10 +0 -0
  10. package/.v8-cache/v24.13.1-x64-cf738c9d/0dfa7b16 +0 -0
  11. package/.v8-cache/v24.13.1-x64-cf738c9d/0e9e09db +0 -0
  12. package/.v8-cache/v24.13.1-x64-cf738c9d/1130885f +0 -0
  13. package/.v8-cache/v24.13.1-x64-cf738c9d/1222cb8c +0 -0
  14. package/.v8-cache/v24.13.1-x64-cf738c9d/15e2c039 +0 -0
  15. package/.v8-cache/v24.13.1-x64-cf738c9d/1a2d469d +0 -0
  16. package/.v8-cache/v24.13.1-x64-cf738c9d/1b300c82 +0 -0
  17. package/.v8-cache/v24.13.1-x64-cf738c9d/1bc3d370 +0 -0
  18. package/.v8-cache/v24.13.1-x64-cf738c9d/1e44e5af +0 -0
  19. package/.v8-cache/v24.13.1-x64-cf738c9d/1efa10a1 +0 -0
  20. package/.v8-cache/v24.13.1-x64-cf738c9d/1f6c8743 +0 -0
  21. package/.v8-cache/v24.13.1-x64-cf738c9d/20b27e40 +0 -0
  22. package/.v8-cache/v24.13.1-x64-cf738c9d/257c62ba +0 -0
  23. package/.v8-cache/v24.13.1-x64-cf738c9d/25d60154 +0 -0
  24. package/.v8-cache/v24.13.1-x64-cf738c9d/26f822f3 +0 -0
  25. package/.v8-cache/v24.13.1-x64-cf738c9d/2a1e2a8d +0 -0
  26. package/.v8-cache/v24.13.1-x64-cf738c9d/2b02fded +0 -0
  27. package/.v8-cache/v24.13.1-x64-cf738c9d/2c76dc0d +0 -0
  28. package/.v8-cache/v24.13.1-x64-cf738c9d/2deb286a +0 -0
  29. package/.v8-cache/v24.13.1-x64-cf738c9d/32018e44 +0 -0
  30. package/.v8-cache/v24.13.1-x64-cf738c9d/341402c3 +0 -0
  31. package/.v8-cache/v24.13.1-x64-cf738c9d/34e0fa2e +0 -0
  32. package/.v8-cache/v24.13.1-x64-cf738c9d/3bbf643e +0 -0
  33. package/.v8-cache/v24.13.1-x64-cf738c9d/3ceff89e +0 -0
  34. package/.v8-cache/v24.13.1-x64-cf738c9d/404f5cdc +0 -0
  35. package/.v8-cache/v24.13.1-x64-cf738c9d/4087aa2b +0 -0
  36. package/.v8-cache/v24.13.1-x64-cf738c9d/4376c1f9 +0 -0
  37. package/.v8-cache/v24.13.1-x64-cf738c9d/44903df4 +0 -0
  38. package/.v8-cache/v24.13.1-x64-cf738c9d/44d58dc8 +0 -0
  39. package/.v8-cache/v24.13.1-x64-cf738c9d/4511bacf +0 -0
  40. package/.v8-cache/v24.13.1-x64-cf738c9d/47da0ce8 +0 -0
  41. package/.v8-cache/v24.13.1-x64-cf738c9d/48cd54a9 +0 -0
  42. package/.v8-cache/v24.13.1-x64-cf738c9d/4d938476 +0 -0
  43. package/.v8-cache/v24.13.1-x64-cf738c9d/4ec6d390 +0 -0
  44. package/.v8-cache/v24.13.1-x64-cf738c9d/4f5702bd +0 -0
  45. package/.v8-cache/v24.13.1-x64-cf738c9d/514cc428 +0 -0
  46. package/.v8-cache/v24.13.1-x64-cf738c9d/557d3b42 +0 -0
  47. package/.v8-cache/v24.13.1-x64-cf738c9d/56abbff7 +0 -0
  48. package/.v8-cache/v24.13.1-x64-cf738c9d/57b540ee +0 -0
  49. package/.v8-cache/v24.13.1-x64-cf738c9d/5e20c081 +0 -0
  50. package/.v8-cache/v24.13.1-x64-cf738c9d/651c4ada +0 -0
  51. package/.v8-cache/v24.13.1-x64-cf738c9d/652a0d59 +0 -0
  52. package/.v8-cache/v24.13.1-x64-cf738c9d/6a0e89ee +0 -0
  53. package/.v8-cache/v24.13.1-x64-cf738c9d/6af33b91 +0 -0
  54. package/.v8-cache/v24.13.1-x64-cf738c9d/6c2562d2 +0 -0
  55. package/.v8-cache/v24.13.1-x64-cf738c9d/6dae0cfa +0 -0
  56. package/.v8-cache/v24.13.1-x64-cf738c9d/6e2529ce +0 -0
  57. package/.v8-cache/v24.13.1-x64-cf738c9d/71df9cb3 +0 -0
  58. package/.v8-cache/v24.13.1-x64-cf738c9d/72e1d543 +0 -0
  59. package/.v8-cache/v24.13.1-x64-cf738c9d/75519c80 +0 -0
  60. package/.v8-cache/v24.13.1-x64-cf738c9d/79bf115c +0 -0
  61. package/.v8-cache/v24.13.1-x64-cf738c9d/7a39347c +0 -0
  62. package/.v8-cache/v24.13.1-x64-cf738c9d/7b83e3d3 +0 -0
  63. package/.v8-cache/v24.13.1-x64-cf738c9d/7cd71bc5 +0 -0
  64. package/.v8-cache/v24.13.1-x64-cf738c9d/7da78512 +0 -0
  65. package/.v8-cache/v24.13.1-x64-cf738c9d/7ea06cea +0 -0
  66. package/.v8-cache/v24.13.1-x64-cf738c9d/82c3b573 +0 -0
  67. package/.v8-cache/v24.13.1-x64-cf738c9d/84c186e4 +0 -0
  68. package/.v8-cache/v24.13.1-x64-cf738c9d/8607bd36 +0 -0
  69. package/.v8-cache/v24.13.1-x64-cf738c9d/87372817 +0 -0
  70. package/.v8-cache/v24.13.1-x64-cf738c9d/87cf2209 +0 -0
  71. package/.v8-cache/v24.13.1-x64-cf738c9d/882aaa05 +0 -0
  72. package/.v8-cache/v24.13.1-x64-cf738c9d/8a4d3de8 +0 -0
  73. package/.v8-cache/v24.13.1-x64-cf738c9d/8e223473 +0 -0
  74. package/.v8-cache/v24.13.1-x64-cf738c9d/92b7aefd +0 -0
  75. package/.v8-cache/v24.13.1-x64-cf738c9d/932f0770 +0 -0
  76. package/.v8-cache/v24.13.1-x64-cf738c9d/937c03a1 +0 -0
  77. package/.v8-cache/v24.13.1-x64-cf738c9d/991e4758 +0 -0
  78. package/.v8-cache/v24.13.1-x64-cf738c9d/9af658fb +0 -0
  79. package/.v8-cache/v24.13.1-x64-cf738c9d/9ed80ba5 +0 -0
  80. package/.v8-cache/v24.13.1-x64-cf738c9d/9f0dc993 +0 -0
  81. package/.v8-cache/v24.13.1-x64-cf738c9d/a19c0c4f +0 -0
  82. package/.v8-cache/v24.13.1-x64-cf738c9d/a6409d95 +0 -0
  83. package/.v8-cache/v24.13.1-x64-cf738c9d/a7e80865 +0 -0
  84. package/.v8-cache/v24.13.1-x64-cf738c9d/ac9802c6 +0 -0
  85. package/.v8-cache/v24.13.1-x64-cf738c9d/acc36e66 +0 -0
  86. package/.v8-cache/v24.13.1-x64-cf738c9d/ad11e2dc +0 -0
  87. package/.v8-cache/v24.13.1-x64-cf738c9d/b0c8fcd8 +0 -0
  88. package/.v8-cache/v24.13.1-x64-cf738c9d/b1762958 +0 -0
  89. package/.v8-cache/v24.13.1-x64-cf738c9d/b3c2fab7 +0 -0
  90. package/.v8-cache/v24.13.1-x64-cf738c9d/b5b3329b +0 -0
  91. package/.v8-cache/v24.13.1-x64-cf738c9d/b806679e +0 -0
  92. package/.v8-cache/v24.13.1-x64-cf738c9d/bc1cdd48 +0 -0
  93. package/.v8-cache/v24.13.1-x64-cf738c9d/bc7ebd1d +0 -0
  94. package/.v8-cache/v24.13.1-x64-cf738c9d/c0b789d2 +0 -0
  95. package/.v8-cache/v24.13.1-x64-cf738c9d/c314aece +0 -0
  96. package/.v8-cache/v24.13.1-x64-cf738c9d/c399a5dc +0 -0
  97. package/.v8-cache/v24.13.1-x64-cf738c9d/c681cbc8 +0 -0
  98. package/.v8-cache/v24.13.1-x64-cf738c9d/c6834ffc +0 -0
  99. package/.v8-cache/v24.13.1-x64-cf738c9d/c6f12ed5 +0 -0
  100. package/.v8-cache/v24.13.1-x64-cf738c9d/cb0f0a3d +0 -0
  101. package/.v8-cache/v24.13.1-x64-cf738c9d/cbcb7c95 +0 -0
  102. package/.v8-cache/v24.13.1-x64-cf738c9d/cdd9107c +0 -0
  103. package/.v8-cache/v24.13.1-x64-cf738c9d/cdf2c4a3 +0 -0
  104. package/.v8-cache/v24.13.1-x64-cf738c9d/cfc49f4f +0 -0
  105. package/.v8-cache/v24.13.1-x64-cf738c9d/cff9434a +0 -0
  106. package/.v8-cache/v24.13.1-x64-cf738c9d/d02dd6f7 +0 -0
  107. package/.v8-cache/v24.13.1-x64-cf738c9d/d0507bf3 +0 -0
  108. package/.v8-cache/v24.13.1-x64-cf738c9d/d60fce19 +0 -0
  109. package/.v8-cache/v24.13.1-x64-cf738c9d/d733d619 +0 -0
  110. package/.v8-cache/v24.13.1-x64-cf738c9d/d75b7803 +0 -0
  111. package/.v8-cache/v24.13.1-x64-cf738c9d/dc86f000 +0 -0
  112. package/.v8-cache/v24.13.1-x64-cf738c9d/defa4f7f +0 -0
  113. package/.v8-cache/v24.13.1-x64-cf738c9d/e03e2acd +0 -0
  114. package/.v8-cache/v24.13.1-x64-cf738c9d/e0e3f52c +0 -0
  115. package/.v8-cache/v24.13.1-x64-cf738c9d/e158d332 +0 -0
  116. package/.v8-cache/v24.13.1-x64-cf738c9d/e6735171 +0 -0
  117. package/.v8-cache/v24.13.1-x64-cf738c9d/e6745c2b +0 -0
  118. package/.v8-cache/v24.13.1-x64-cf738c9d/e6b99945 +0 -0
  119. package/.v8-cache/v24.13.1-x64-cf738c9d/e6d8ceb8 +0 -0
  120. package/.v8-cache/v24.13.1-x64-cf738c9d/e7ffec37 +0 -0
  121. package/.v8-cache/v24.13.1-x64-cf738c9d/ea33b6de +0 -0
  122. package/.v8-cache/v24.13.1-x64-cf738c9d/eaafa3c4 +0 -0
  123. package/.v8-cache/v24.13.1-x64-cf738c9d/ebb50fca +0 -0
  124. package/.v8-cache/v24.13.1-x64-cf738c9d/ec805f2e +0 -0
  125. package/.v8-cache/v24.13.1-x64-cf738c9d/edaef8f1 +0 -0
  126. package/.v8-cache/v24.13.1-x64-cf738c9d/ee4401c8 +0 -0
  127. package/.v8-cache/v24.13.1-x64-cf738c9d/eeeebdfe +0 -0
  128. package/.v8-cache/v24.13.1-x64-cf738c9d/f3d51676 +0 -0
  129. package/.v8-cache/v24.13.1-x64-cf738c9d/f7b50a75 +0 -0
  130. package/.v8-cache/v24.13.1-x64-cf738c9d/fa58ca72 +0 -0
  131. package/.v8-cache/v24.13.1-x64-cf738c9d/fc97d72d +0 -0
  132. package/.v8-cache/v24.13.1-x64-cf738c9d/fd0a2987 +0 -0
  133. package/CHANGELOG.md +6 -0
  134. package/README.md +64 -0
  135. package/TODO.md +2 -0
  136. package/dist/abr.d.ts +196 -196
  137. package/dist/abr.js +364 -365
  138. package/dist/abr.js.map +1 -1
  139. package/dist/additionalInfo.d.ts +26 -26
  140. package/dist/additionalInfo.js +3478 -3478
  141. package/dist/additionalInfo.js.map +1 -1
  142. package/dist/ase.d.ts +32 -32
  143. package/dist/ase.js +81 -82
  144. package/dist/ase.js.map +1 -1
  145. package/dist/bundle.js +12380 -12259
  146. package/dist/csh.d.ts +10 -10
  147. package/dist/csh.js +35 -36
  148. package/dist/csh.js.map +1 -1
  149. package/dist/descriptor.d.ts +601 -601
  150. package/dist/descriptor.js +2003 -2003
  151. package/dist/descriptor.js.map +1 -1
  152. package/dist/effectsHelpers.d.ts +5 -5
  153. package/dist/effectsHelpers.js +286 -287
  154. package/dist/effectsHelpers.js.map +1 -1
  155. package/dist/engineData.d.ts +2 -2
  156. package/dist/engineData.js +334 -335
  157. package/dist/engineData.js.map +1 -1
  158. package/dist/engineData2.d.ts +2 -2
  159. package/dist/engineData2.js +409 -410
  160. package/dist/engineData2.js.map +1 -1
  161. package/dist/helpers.d.ts +74 -74
  162. package/dist/helpers.js +353 -342
  163. package/dist/helpers.js.map +1 -1
  164. package/dist/imageResources.d.ts +17 -17
  165. package/dist/imageResources.js +1040 -1040
  166. package/dist/imageResources.js.map +1 -1
  167. package/dist/index.d.ts +20 -22
  168. package/dist/index.js +61 -56
  169. package/dist/index.js.map +1 -1
  170. package/dist/initializeCanvas.d.ts +1 -1
  171. package/dist/initializeCanvas.js +9 -10
  172. package/dist/initializeCanvas.js.map +1 -1
  173. package/dist/jpeg.d.ts +1 -1
  174. package/dist/jpeg.js +1020 -1021
  175. package/dist/jpeg.js.map +1 -1
  176. package/dist/psd.d.ts +1877 -1873
  177. package/dist/psd.js +45 -45
  178. package/dist/psd.js.map +1 -1
  179. package/dist/psdReader.d.ts +52 -45
  180. package/dist/psdReader.js +1385 -1282
  181. package/dist/psdReader.js.map +1 -1
  182. package/dist/psdWriter.d.ts +34 -34
  183. package/dist/psdWriter.js +834 -824
  184. package/dist/psdWriter.js.map +1 -1
  185. package/dist/text.d.ts +179 -179
  186. package/dist/text.js +552 -553
  187. package/dist/text.js.map +1 -1
  188. package/dist/utf8.d.ts +4 -6
  189. package/dist/utf8.js +156 -157
  190. package/dist/utf8.js.map +1 -1
  191. package/dist-es/abr.d.ts +196 -196
  192. package/dist-es/abr.js +364 -361
  193. package/dist-es/abr.js.map +1 -1
  194. package/dist-es/additionalInfo.d.ts +26 -26
  195. package/dist-es/additionalInfo.js +3478 -3472
  196. package/dist-es/additionalInfo.js.map +1 -1
  197. package/dist-es/ase.d.ts +32 -32
  198. package/dist-es/ase.js +81 -78
  199. package/dist-es/ase.js.map +1 -1
  200. package/dist-es/csh.d.ts +10 -10
  201. package/dist-es/csh.js +35 -32
  202. package/dist-es/csh.js.map +1 -1
  203. package/dist-es/descriptor.d.ts +601 -601
  204. package/dist-es/descriptor.js +2003 -1970
  205. package/dist-es/descriptor.js.map +1 -1
  206. package/dist-es/effectsHelpers.d.ts +5 -5
  207. package/dist-es/effectsHelpers.js +286 -282
  208. package/dist-es/effectsHelpers.js.map +1 -1
  209. package/dist-es/engineData.d.ts +2 -2
  210. package/dist-es/engineData.js +334 -330
  211. package/dist-es/engineData.js.map +1 -1
  212. package/dist-es/engineData2.d.ts +2 -2
  213. package/dist-es/engineData2.js +409 -406
  214. package/dist-es/engineData2.js.map +1 -1
  215. package/dist-es/helpers.d.ts +74 -74
  216. package/dist-es/helpers.js +353 -324
  217. package/dist-es/helpers.js.map +1 -1
  218. package/dist-es/imageResources.d.ts +17 -17
  219. package/dist-es/imageResources.js +1040 -1037
  220. package/dist-es/imageResources.js.map +1 -1
  221. package/dist-es/index.d.ts +20 -22
  222. package/dist-es/index.js +61 -33
  223. package/dist-es/index.js.map +1 -1
  224. package/dist-es/initializeCanvas.d.ts +1 -1
  225. package/dist-es/initializeCanvas.js +9 -6
  226. package/dist-es/initializeCanvas.js.map +1 -1
  227. package/dist-es/jpeg.d.ts +1 -1
  228. package/dist-es/jpeg.js +1020 -1017
  229. package/dist-es/jpeg.js.map +1 -1
  230. package/dist-es/psd.d.ts +1877 -1873
  231. package/dist-es/psd.js +45 -42
  232. package/dist-es/psd.js.map +1 -1
  233. package/dist-es/psdReader.d.ts +52 -45
  234. package/dist-es/psdReader.js +1385 -1244
  235. package/dist-es/psdReader.js.map +1 -1
  236. package/dist-es/psdWriter.d.ts +34 -34
  237. package/dist-es/psdWriter.js +834 -794
  238. package/dist-es/psdWriter.js.map +1 -1
  239. package/dist-es/text.d.ts +179 -179
  240. package/dist-es/text.js +552 -548
  241. package/dist-es/text.js.map +1 -1
  242. package/dist-es/utf8.d.ts +4 -6
  243. package/dist-es/utf8.js +156 -150
  244. package/dist-es/utf8.js.map +1 -1
  245. package/package.json +4 -3
  246. package/src/helpers.ts +13 -3
  247. package/src/index.ts +4 -6
  248. package/src/psd.ts +4 -0
  249. package/src/psdReader.ts +136 -43
  250. package/src/psdWriter.ts +42 -23
  251. package/tsconfig-es6.json +2 -1
  252. package/tsconfig.json +1 -0
@@ -1,288 +1,287 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.writeEffects = exports.readEffects = void 0;
4
- const helpers_1 = require("./helpers");
5
- const psdReader_1 = require("./psdReader");
6
- const psdWriter_1 = require("./psdWriter");
7
- const bevelStyles = [
8
- undefined, 'outer bevel', 'inner bevel', 'emboss', 'pillow emboss', 'stroke emboss'
9
- ];
10
- function readBlendMode(reader) {
11
- (0, psdReader_1.checkSignature)(reader, '8BIM');
12
- return helpers_1.toBlendMode[(0, psdReader_1.readSignature)(reader)] || 'normal';
13
- }
14
- function writeBlendMode(writer, mode) {
15
- (0, psdWriter_1.writeSignature)(writer, '8BIM');
16
- (0, psdWriter_1.writeSignature)(writer, helpers_1.fromBlendMode[mode] || 'norm');
17
- }
18
- function readFixedPoint8(reader) {
19
- return (0, psdReader_1.readUint8)(reader) / 0xff;
20
- }
21
- function writeFixedPoint8(writer, value) {
22
- (0, psdWriter_1.writeUint8)(writer, Math.round(value * 0xff) | 0);
23
- }
24
- function readEffects(reader) {
25
- const version = (0, psdReader_1.readUint16)(reader);
26
- if (version !== 0)
27
- throw new Error(`Invalid effects layer version: ${version}`);
28
- const effectsCount = (0, psdReader_1.readUint16)(reader);
29
- const effects = {};
30
- for (let i = 0; i < effectsCount; i++) {
31
- (0, psdReader_1.checkSignature)(reader, '8BIM');
32
- const type = (0, psdReader_1.readSignature)(reader);
33
- switch (type) {
34
- case 'cmnS': { // common state (see See Effects layer, common state info)
35
- const size = (0, psdReader_1.readUint32)(reader);
36
- const version = (0, psdReader_1.readUint32)(reader);
37
- const visible = !!(0, psdReader_1.readUint8)(reader);
38
- (0, psdReader_1.skipBytes)(reader, 2);
39
- if (size !== 7 || version !== 0 || !visible)
40
- throw new Error(`Invalid effects common state`);
41
- break;
42
- }
43
- case 'dsdw': // drop shadow (see See Effects layer, drop shadow and inner shadow info)
44
- case 'isdw': { // inner shadow (see See Effects layer, drop shadow and inner shadow info)
45
- const blockSize = (0, psdReader_1.readUint32)(reader);
46
- const version = (0, psdReader_1.readUint32)(reader);
47
- if (blockSize !== 41 && blockSize !== 51)
48
- throw new Error(`Invalid shadow size: ${blockSize}`);
49
- if (version !== 0 && version !== 2)
50
- throw new Error(`Invalid shadow version: ${version}`);
51
- const size = (0, psdReader_1.readFixedPoint32)(reader);
52
- (0, psdReader_1.readFixedPoint32)(reader); // intensity
53
- const angle = (0, psdReader_1.readFixedPoint32)(reader);
54
- const distance = (0, psdReader_1.readFixedPoint32)(reader);
55
- const color = (0, psdReader_1.readColor)(reader);
56
- const blendMode = readBlendMode(reader);
57
- const enabled = !!(0, psdReader_1.readUint8)(reader);
58
- const useGlobalLight = !!(0, psdReader_1.readUint8)(reader);
59
- const opacity = readFixedPoint8(reader);
60
- if (blockSize >= 51)
61
- (0, psdReader_1.readColor)(reader); // native color
62
- const shadowInfo = {
63
- size: { units: 'Pixels', value: size },
64
- distance: { units: 'Pixels', value: distance },
65
- angle, color, blendMode, enabled, useGlobalLight, opacity
66
- };
67
- if (type === 'dsdw') {
68
- effects.dropShadow = [shadowInfo];
69
- }
70
- else {
71
- effects.innerShadow = [shadowInfo];
72
- }
73
- break;
74
- }
75
- case 'oglw': { // outer glow (see See Effects layer, outer glow info)
76
- const blockSize = (0, psdReader_1.readUint32)(reader);
77
- const version = (0, psdReader_1.readUint32)(reader);
78
- if (blockSize !== 32 && blockSize !== 42)
79
- throw new Error(`Invalid outer glow size: ${blockSize}`);
80
- if (version !== 0 && version !== 2)
81
- throw new Error(`Invalid outer glow version: ${version}`);
82
- const size = (0, psdReader_1.readFixedPoint32)(reader);
83
- (0, psdReader_1.readFixedPoint32)(reader); // intensity
84
- const color = (0, psdReader_1.readColor)(reader);
85
- const blendMode = readBlendMode(reader);
86
- const enabled = !!(0, psdReader_1.readUint8)(reader);
87
- const opacity = readFixedPoint8(reader);
88
- if (blockSize >= 42)
89
- (0, psdReader_1.readColor)(reader); // native color
90
- effects.outerGlow = {
91
- size: { units: 'Pixels', value: size },
92
- color, blendMode, enabled, opacity
93
- };
94
- break;
95
- }
96
- case 'iglw': { // inner glow (see See Effects layer, inner glow info)
97
- const blockSize = (0, psdReader_1.readUint32)(reader);
98
- const version = (0, psdReader_1.readUint32)(reader);
99
- if (blockSize !== 32 && blockSize !== 43)
100
- throw new Error(`Invalid inner glow size: ${blockSize}`);
101
- if (version !== 0 && version !== 2)
102
- throw new Error(`Invalid inner glow version: ${version}`);
103
- const size = (0, psdReader_1.readFixedPoint32)(reader);
104
- (0, psdReader_1.readFixedPoint32)(reader); // intensity
105
- const color = (0, psdReader_1.readColor)(reader);
106
- const blendMode = readBlendMode(reader);
107
- const enabled = !!(0, psdReader_1.readUint8)(reader);
108
- const opacity = readFixedPoint8(reader);
109
- if (blockSize >= 43) {
110
- (0, psdReader_1.readUint8)(reader); // inverted
111
- (0, psdReader_1.readColor)(reader); // native color
112
- }
113
- effects.innerGlow = {
114
- size: { units: 'Pixels', value: size },
115
- color, blendMode, enabled, opacity
116
- };
117
- break;
118
- }
119
- case 'bevl': { // bevel (see See Effects layer, bevel info)
120
- const blockSize = (0, psdReader_1.readUint32)(reader);
121
- const version = (0, psdReader_1.readUint32)(reader);
122
- if (blockSize !== 58 && blockSize !== 78)
123
- throw new Error(`Invalid bevel size: ${blockSize}`);
124
- if (version !== 0 && version !== 2)
125
- throw new Error(`Invalid bevel version: ${version}`);
126
- const angle = (0, psdReader_1.readFixedPoint32)(reader);
127
- const strength = (0, psdReader_1.readFixedPoint32)(reader);
128
- const size = (0, psdReader_1.readFixedPoint32)(reader);
129
- const highlightBlendMode = readBlendMode(reader);
130
- const shadowBlendMode = readBlendMode(reader);
131
- const highlightColor = (0, psdReader_1.readColor)(reader);
132
- const shadowColor = (0, psdReader_1.readColor)(reader);
133
- const style = bevelStyles[(0, psdReader_1.readUint8)(reader)] || 'inner bevel';
134
- const highlightOpacity = readFixedPoint8(reader);
135
- const shadowOpacity = readFixedPoint8(reader);
136
- const enabled = !!(0, psdReader_1.readUint8)(reader);
137
- const useGlobalLight = !!(0, psdReader_1.readUint8)(reader);
138
- const direction = (0, psdReader_1.readUint8)(reader) ? 'down' : 'up';
139
- if (blockSize >= 78) {
140
- (0, psdReader_1.readColor)(reader); // real highlight color
141
- (0, psdReader_1.readColor)(reader); // real shadow color
142
- }
143
- effects.bevel = {
144
- size: { units: 'Pixels', value: size },
145
- angle, strength, highlightBlendMode, shadowBlendMode, highlightColor, shadowColor,
146
- style, highlightOpacity, shadowOpacity, enabled, useGlobalLight, direction,
147
- };
148
- break;
149
- }
150
- case 'sofi': { // solid fill (Photoshop 7.0) (see See Effects layer, solid fill (added in Photoshop 7.0))
151
- const size = (0, psdReader_1.readUint32)(reader);
152
- const version = (0, psdReader_1.readUint32)(reader);
153
- if (size !== 34)
154
- throw new Error(`Invalid effects solid fill info size: ${size}`);
155
- if (version !== 2)
156
- throw new Error(`Invalid effects solid fill info version: ${version}`);
157
- const blendMode = readBlendMode(reader);
158
- const color = (0, psdReader_1.readColor)(reader);
159
- const opacity = readFixedPoint8(reader);
160
- const enabled = !!(0, psdReader_1.readUint8)(reader);
161
- (0, psdReader_1.readColor)(reader); // native color
162
- effects.solidFill = [{ blendMode, color, opacity, enabled }];
163
- break;
164
- }
165
- default:
166
- throw new Error(`Invalid effect type: '${type}'`);
167
- }
168
- }
169
- return effects;
170
- }
171
- exports.readEffects = readEffects;
172
- function writeShadowInfo(writer, shadow) {
173
- var _a;
174
- (0, psdWriter_1.writeUint32)(writer, 51);
175
- (0, psdWriter_1.writeUint32)(writer, 2);
176
- (0, psdWriter_1.writeFixedPoint32)(writer, shadow.size && shadow.size.value || 0);
177
- (0, psdWriter_1.writeFixedPoint32)(writer, 0); // intensity
178
- (0, psdWriter_1.writeFixedPoint32)(writer, shadow.angle || 0);
179
- (0, psdWriter_1.writeFixedPoint32)(writer, shadow.distance && shadow.distance.value || 0);
180
- (0, psdWriter_1.writeColor)(writer, shadow.color);
181
- writeBlendMode(writer, shadow.blendMode);
182
- (0, psdWriter_1.writeUint8)(writer, shadow.enabled ? 1 : 0);
183
- (0, psdWriter_1.writeUint8)(writer, shadow.useGlobalLight ? 1 : 0);
184
- writeFixedPoint8(writer, (_a = shadow.opacity) !== null && _a !== void 0 ? _a : 1);
185
- (0, psdWriter_1.writeColor)(writer, shadow.color); // native color
186
- }
187
- function writeEffects(writer, effects) {
188
- var _a, _b, _c, _d, _e, _f;
189
- const dropShadow = (_a = effects.dropShadow) === null || _a === void 0 ? void 0 : _a[0];
190
- const innerShadow = (_b = effects.innerShadow) === null || _b === void 0 ? void 0 : _b[0];
191
- const outerGlow = effects.outerGlow;
192
- const innerGlow = effects.innerGlow;
193
- const bevel = effects.bevel;
194
- const solidFill = (_c = effects.solidFill) === null || _c === void 0 ? void 0 : _c[0];
195
- let count = 1;
196
- if (dropShadow)
197
- count++;
198
- if (innerShadow)
199
- count++;
200
- if (outerGlow)
201
- count++;
202
- if (innerGlow)
203
- count++;
204
- if (bevel)
205
- count++;
206
- if (solidFill)
207
- count++;
208
- (0, psdWriter_1.writeUint16)(writer, 0);
209
- (0, psdWriter_1.writeUint16)(writer, count);
210
- (0, psdWriter_1.writeSignature)(writer, '8BIM');
211
- (0, psdWriter_1.writeSignature)(writer, 'cmnS');
212
- (0, psdWriter_1.writeUint32)(writer, 7); // size
213
- (0, psdWriter_1.writeUint32)(writer, 0); // version
214
- (0, psdWriter_1.writeUint8)(writer, 1); // visible
215
- (0, psdWriter_1.writeZeros)(writer, 2);
216
- if (dropShadow) {
217
- (0, psdWriter_1.writeSignature)(writer, '8BIM');
218
- (0, psdWriter_1.writeSignature)(writer, 'dsdw');
219
- writeShadowInfo(writer, dropShadow);
220
- }
221
- if (innerShadow) {
222
- (0, psdWriter_1.writeSignature)(writer, '8BIM');
223
- (0, psdWriter_1.writeSignature)(writer, 'isdw');
224
- writeShadowInfo(writer, innerShadow);
225
- }
226
- if (outerGlow) {
227
- (0, psdWriter_1.writeSignature)(writer, '8BIM');
228
- (0, psdWriter_1.writeSignature)(writer, 'oglw');
229
- (0, psdWriter_1.writeUint32)(writer, 42);
230
- (0, psdWriter_1.writeUint32)(writer, 2);
231
- (0, psdWriter_1.writeFixedPoint32)(writer, ((_d = outerGlow.size) === null || _d === void 0 ? void 0 : _d.value) || 0);
232
- (0, psdWriter_1.writeFixedPoint32)(writer, 0); // intensity
233
- (0, psdWriter_1.writeColor)(writer, outerGlow.color);
234
- writeBlendMode(writer, outerGlow.blendMode);
235
- (0, psdWriter_1.writeUint8)(writer, outerGlow.enabled ? 1 : 0);
236
- writeFixedPoint8(writer, outerGlow.opacity || 0);
237
- (0, psdWriter_1.writeColor)(writer, outerGlow.color);
238
- }
239
- if (innerGlow) {
240
- (0, psdWriter_1.writeSignature)(writer, '8BIM');
241
- (0, psdWriter_1.writeSignature)(writer, 'iglw');
242
- (0, psdWriter_1.writeUint32)(writer, 43);
243
- (0, psdWriter_1.writeUint32)(writer, 2);
244
- (0, psdWriter_1.writeFixedPoint32)(writer, ((_e = innerGlow.size) === null || _e === void 0 ? void 0 : _e.value) || 0);
245
- (0, psdWriter_1.writeFixedPoint32)(writer, 0); // intensity
246
- (0, psdWriter_1.writeColor)(writer, innerGlow.color);
247
- writeBlendMode(writer, innerGlow.blendMode);
248
- (0, psdWriter_1.writeUint8)(writer, innerGlow.enabled ? 1 : 0);
249
- writeFixedPoint8(writer, innerGlow.opacity || 0);
250
- (0, psdWriter_1.writeUint8)(writer, 0); // inverted
251
- (0, psdWriter_1.writeColor)(writer, innerGlow.color);
252
- }
253
- if (bevel) {
254
- (0, psdWriter_1.writeSignature)(writer, '8BIM');
255
- (0, psdWriter_1.writeSignature)(writer, 'bevl');
256
- (0, psdWriter_1.writeUint32)(writer, 78);
257
- (0, psdWriter_1.writeUint32)(writer, 2);
258
- (0, psdWriter_1.writeFixedPoint32)(writer, bevel.angle || 0);
259
- (0, psdWriter_1.writeFixedPoint32)(writer, bevel.strength || 0);
260
- (0, psdWriter_1.writeFixedPoint32)(writer, ((_f = bevel.size) === null || _f === void 0 ? void 0 : _f.value) || 0);
261
- writeBlendMode(writer, bevel.highlightBlendMode);
262
- writeBlendMode(writer, bevel.shadowBlendMode);
263
- (0, psdWriter_1.writeColor)(writer, bevel.highlightColor);
264
- (0, psdWriter_1.writeColor)(writer, bevel.shadowColor);
265
- const style = bevelStyles.indexOf(bevel.style);
266
- (0, psdWriter_1.writeUint8)(writer, style <= 0 ? 1 : style);
267
- writeFixedPoint8(writer, bevel.highlightOpacity || 0);
268
- writeFixedPoint8(writer, bevel.shadowOpacity || 0);
269
- (0, psdWriter_1.writeUint8)(writer, bevel.enabled ? 1 : 0);
270
- (0, psdWriter_1.writeUint8)(writer, bevel.useGlobalLight ? 1 : 0);
271
- (0, psdWriter_1.writeUint8)(writer, bevel.direction === 'down' ? 1 : 0);
272
- (0, psdWriter_1.writeColor)(writer, bevel.highlightColor);
273
- (0, psdWriter_1.writeColor)(writer, bevel.shadowColor);
274
- }
275
- if (solidFill) {
276
- (0, psdWriter_1.writeSignature)(writer, '8BIM');
277
- (0, psdWriter_1.writeSignature)(writer, 'sofi');
278
- (0, psdWriter_1.writeUint32)(writer, 34);
279
- (0, psdWriter_1.writeUint32)(writer, 2);
280
- writeBlendMode(writer, solidFill.blendMode);
281
- (0, psdWriter_1.writeColor)(writer, solidFill.color);
282
- writeFixedPoint8(writer, solidFill.opacity || 0);
283
- (0, psdWriter_1.writeUint8)(writer, solidFill.enabled ? 1 : 0);
284
- (0, psdWriter_1.writeColor)(writer, solidFill.color);
285
- }
286
- }
287
- exports.writeEffects = writeEffects;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.readEffects = readEffects;
4
+ exports.writeEffects = writeEffects;
5
+ const helpers_1 = require("./helpers");
6
+ const psdReader_1 = require("./psdReader");
7
+ const psdWriter_1 = require("./psdWriter");
8
+ const bevelStyles = [
9
+ undefined, 'outer bevel', 'inner bevel', 'emboss', 'pillow emboss', 'stroke emboss'
10
+ ];
11
+ function readBlendMode(reader) {
12
+ (0, psdReader_1.checkSignature)(reader, '8BIM');
13
+ return helpers_1.toBlendMode[(0, psdReader_1.readSignature)(reader)] || 'normal';
14
+ }
15
+ function writeBlendMode(writer, mode) {
16
+ (0, psdWriter_1.writeSignature)(writer, '8BIM');
17
+ (0, psdWriter_1.writeSignature)(writer, helpers_1.fromBlendMode[mode] || 'norm');
18
+ }
19
+ function readFixedPoint8(reader) {
20
+ return (0, psdReader_1.readUint8)(reader) / 0xff;
21
+ }
22
+ function writeFixedPoint8(writer, value) {
23
+ (0, psdWriter_1.writeUint8)(writer, Math.round(value * 0xff) | 0);
24
+ }
25
+ function readEffects(reader) {
26
+ const version = (0, psdReader_1.readUint16)(reader);
27
+ if (version !== 0)
28
+ throw new Error(`Invalid effects layer version: ${version}`);
29
+ const effectsCount = (0, psdReader_1.readUint16)(reader);
30
+ const effects = {};
31
+ for (let i = 0; i < effectsCount; i++) {
32
+ (0, psdReader_1.checkSignature)(reader, '8BIM');
33
+ const type = (0, psdReader_1.readSignature)(reader);
34
+ switch (type) {
35
+ case 'cmnS': { // common state (see See Effects layer, common state info)
36
+ const size = (0, psdReader_1.readUint32)(reader);
37
+ const version = (0, psdReader_1.readUint32)(reader);
38
+ const visible = !!(0, psdReader_1.readUint8)(reader);
39
+ (0, psdReader_1.skipBytes)(reader, 2);
40
+ if (size !== 7 || version !== 0 || !visible)
41
+ throw new Error(`Invalid effects common state`);
42
+ break;
43
+ }
44
+ case 'dsdw': // drop shadow (see See Effects layer, drop shadow and inner shadow info)
45
+ case 'isdw': { // inner shadow (see See Effects layer, drop shadow and inner shadow info)
46
+ const blockSize = (0, psdReader_1.readUint32)(reader);
47
+ const version = (0, psdReader_1.readUint32)(reader);
48
+ if (blockSize !== 41 && blockSize !== 51)
49
+ throw new Error(`Invalid shadow size: ${blockSize}`);
50
+ if (version !== 0 && version !== 2)
51
+ throw new Error(`Invalid shadow version: ${version}`);
52
+ const size = (0, psdReader_1.readFixedPoint32)(reader);
53
+ (0, psdReader_1.readFixedPoint32)(reader); // intensity
54
+ const angle = (0, psdReader_1.readFixedPoint32)(reader);
55
+ const distance = (0, psdReader_1.readFixedPoint32)(reader);
56
+ const color = (0, psdReader_1.readColor)(reader);
57
+ const blendMode = readBlendMode(reader);
58
+ const enabled = !!(0, psdReader_1.readUint8)(reader);
59
+ const useGlobalLight = !!(0, psdReader_1.readUint8)(reader);
60
+ const opacity = readFixedPoint8(reader);
61
+ if (blockSize >= 51)
62
+ (0, psdReader_1.readColor)(reader); // native color
63
+ const shadowInfo = {
64
+ size: { units: 'Pixels', value: size },
65
+ distance: { units: 'Pixels', value: distance },
66
+ angle, color, blendMode, enabled, useGlobalLight, opacity
67
+ };
68
+ if (type === 'dsdw') {
69
+ effects.dropShadow = [shadowInfo];
70
+ }
71
+ else {
72
+ effects.innerShadow = [shadowInfo];
73
+ }
74
+ break;
75
+ }
76
+ case 'oglw': { // outer glow (see See Effects layer, outer glow info)
77
+ const blockSize = (0, psdReader_1.readUint32)(reader);
78
+ const version = (0, psdReader_1.readUint32)(reader);
79
+ if (blockSize !== 32 && blockSize !== 42)
80
+ throw new Error(`Invalid outer glow size: ${blockSize}`);
81
+ if (version !== 0 && version !== 2)
82
+ throw new Error(`Invalid outer glow version: ${version}`);
83
+ const size = (0, psdReader_1.readFixedPoint32)(reader);
84
+ (0, psdReader_1.readFixedPoint32)(reader); // intensity
85
+ const color = (0, psdReader_1.readColor)(reader);
86
+ const blendMode = readBlendMode(reader);
87
+ const enabled = !!(0, psdReader_1.readUint8)(reader);
88
+ const opacity = readFixedPoint8(reader);
89
+ if (blockSize >= 42)
90
+ (0, psdReader_1.readColor)(reader); // native color
91
+ effects.outerGlow = {
92
+ size: { units: 'Pixels', value: size },
93
+ color, blendMode, enabled, opacity
94
+ };
95
+ break;
96
+ }
97
+ case 'iglw': { // inner glow (see See Effects layer, inner glow info)
98
+ const blockSize = (0, psdReader_1.readUint32)(reader);
99
+ const version = (0, psdReader_1.readUint32)(reader);
100
+ if (blockSize !== 32 && blockSize !== 43)
101
+ throw new Error(`Invalid inner glow size: ${blockSize}`);
102
+ if (version !== 0 && version !== 2)
103
+ throw new Error(`Invalid inner glow version: ${version}`);
104
+ const size = (0, psdReader_1.readFixedPoint32)(reader);
105
+ (0, psdReader_1.readFixedPoint32)(reader); // intensity
106
+ const color = (0, psdReader_1.readColor)(reader);
107
+ const blendMode = readBlendMode(reader);
108
+ const enabled = !!(0, psdReader_1.readUint8)(reader);
109
+ const opacity = readFixedPoint8(reader);
110
+ if (blockSize >= 43) {
111
+ (0, psdReader_1.readUint8)(reader); // inverted
112
+ (0, psdReader_1.readColor)(reader); // native color
113
+ }
114
+ effects.innerGlow = {
115
+ size: { units: 'Pixels', value: size },
116
+ color, blendMode, enabled, opacity
117
+ };
118
+ break;
119
+ }
120
+ case 'bevl': { // bevel (see See Effects layer, bevel info)
121
+ const blockSize = (0, psdReader_1.readUint32)(reader);
122
+ const version = (0, psdReader_1.readUint32)(reader);
123
+ if (blockSize !== 58 && blockSize !== 78)
124
+ throw new Error(`Invalid bevel size: ${blockSize}`);
125
+ if (version !== 0 && version !== 2)
126
+ throw new Error(`Invalid bevel version: ${version}`);
127
+ const angle = (0, psdReader_1.readFixedPoint32)(reader);
128
+ const strength = (0, psdReader_1.readFixedPoint32)(reader);
129
+ const size = (0, psdReader_1.readFixedPoint32)(reader);
130
+ const highlightBlendMode = readBlendMode(reader);
131
+ const shadowBlendMode = readBlendMode(reader);
132
+ const highlightColor = (0, psdReader_1.readColor)(reader);
133
+ const shadowColor = (0, psdReader_1.readColor)(reader);
134
+ const style = bevelStyles[(0, psdReader_1.readUint8)(reader)] || 'inner bevel';
135
+ const highlightOpacity = readFixedPoint8(reader);
136
+ const shadowOpacity = readFixedPoint8(reader);
137
+ const enabled = !!(0, psdReader_1.readUint8)(reader);
138
+ const useGlobalLight = !!(0, psdReader_1.readUint8)(reader);
139
+ const direction = (0, psdReader_1.readUint8)(reader) ? 'down' : 'up';
140
+ if (blockSize >= 78) {
141
+ (0, psdReader_1.readColor)(reader); // real highlight color
142
+ (0, psdReader_1.readColor)(reader); // real shadow color
143
+ }
144
+ effects.bevel = {
145
+ size: { units: 'Pixels', value: size },
146
+ angle, strength, highlightBlendMode, shadowBlendMode, highlightColor, shadowColor,
147
+ style, highlightOpacity, shadowOpacity, enabled, useGlobalLight, direction,
148
+ };
149
+ break;
150
+ }
151
+ case 'sofi': { // solid fill (Photoshop 7.0) (see See Effects layer, solid fill (added in Photoshop 7.0))
152
+ const size = (0, psdReader_1.readUint32)(reader);
153
+ const version = (0, psdReader_1.readUint32)(reader);
154
+ if (size !== 34)
155
+ throw new Error(`Invalid effects solid fill info size: ${size}`);
156
+ if (version !== 2)
157
+ throw new Error(`Invalid effects solid fill info version: ${version}`);
158
+ const blendMode = readBlendMode(reader);
159
+ const color = (0, psdReader_1.readColor)(reader);
160
+ const opacity = readFixedPoint8(reader);
161
+ const enabled = !!(0, psdReader_1.readUint8)(reader);
162
+ (0, psdReader_1.readColor)(reader); // native color
163
+ effects.solidFill = [{ blendMode, color, opacity, enabled }];
164
+ break;
165
+ }
166
+ default:
167
+ throw new Error(`Invalid effect type: '${type}'`);
168
+ }
169
+ }
170
+ return effects;
171
+ }
172
+ function writeShadowInfo(writer, shadow) {
173
+ var _a;
174
+ (0, psdWriter_1.writeUint32)(writer, 51);
175
+ (0, psdWriter_1.writeUint32)(writer, 2);
176
+ (0, psdWriter_1.writeFixedPoint32)(writer, shadow.size && shadow.size.value || 0);
177
+ (0, psdWriter_1.writeFixedPoint32)(writer, 0); // intensity
178
+ (0, psdWriter_1.writeFixedPoint32)(writer, shadow.angle || 0);
179
+ (0, psdWriter_1.writeFixedPoint32)(writer, shadow.distance && shadow.distance.value || 0);
180
+ (0, psdWriter_1.writeColor)(writer, shadow.color);
181
+ writeBlendMode(writer, shadow.blendMode);
182
+ (0, psdWriter_1.writeUint8)(writer, shadow.enabled ? 1 : 0);
183
+ (0, psdWriter_1.writeUint8)(writer, shadow.useGlobalLight ? 1 : 0);
184
+ writeFixedPoint8(writer, (_a = shadow.opacity) !== null && _a !== void 0 ? _a : 1);
185
+ (0, psdWriter_1.writeColor)(writer, shadow.color); // native color
186
+ }
187
+ function writeEffects(writer, effects) {
188
+ var _a, _b, _c, _d, _e, _f;
189
+ const dropShadow = (_a = effects.dropShadow) === null || _a === void 0 ? void 0 : _a[0];
190
+ const innerShadow = (_b = effects.innerShadow) === null || _b === void 0 ? void 0 : _b[0];
191
+ const outerGlow = effects.outerGlow;
192
+ const innerGlow = effects.innerGlow;
193
+ const bevel = effects.bevel;
194
+ const solidFill = (_c = effects.solidFill) === null || _c === void 0 ? void 0 : _c[0];
195
+ let count = 1;
196
+ if (dropShadow)
197
+ count++;
198
+ if (innerShadow)
199
+ count++;
200
+ if (outerGlow)
201
+ count++;
202
+ if (innerGlow)
203
+ count++;
204
+ if (bevel)
205
+ count++;
206
+ if (solidFill)
207
+ count++;
208
+ (0, psdWriter_1.writeUint16)(writer, 0);
209
+ (0, psdWriter_1.writeUint16)(writer, count);
210
+ (0, psdWriter_1.writeSignature)(writer, '8BIM');
211
+ (0, psdWriter_1.writeSignature)(writer, 'cmnS');
212
+ (0, psdWriter_1.writeUint32)(writer, 7); // size
213
+ (0, psdWriter_1.writeUint32)(writer, 0); // version
214
+ (0, psdWriter_1.writeUint8)(writer, 1); // visible
215
+ (0, psdWriter_1.writeZeros)(writer, 2);
216
+ if (dropShadow) {
217
+ (0, psdWriter_1.writeSignature)(writer, '8BIM');
218
+ (0, psdWriter_1.writeSignature)(writer, 'dsdw');
219
+ writeShadowInfo(writer, dropShadow);
220
+ }
221
+ if (innerShadow) {
222
+ (0, psdWriter_1.writeSignature)(writer, '8BIM');
223
+ (0, psdWriter_1.writeSignature)(writer, 'isdw');
224
+ writeShadowInfo(writer, innerShadow);
225
+ }
226
+ if (outerGlow) {
227
+ (0, psdWriter_1.writeSignature)(writer, '8BIM');
228
+ (0, psdWriter_1.writeSignature)(writer, 'oglw');
229
+ (0, psdWriter_1.writeUint32)(writer, 42);
230
+ (0, psdWriter_1.writeUint32)(writer, 2);
231
+ (0, psdWriter_1.writeFixedPoint32)(writer, ((_d = outerGlow.size) === null || _d === void 0 ? void 0 : _d.value) || 0);
232
+ (0, psdWriter_1.writeFixedPoint32)(writer, 0); // intensity
233
+ (0, psdWriter_1.writeColor)(writer, outerGlow.color);
234
+ writeBlendMode(writer, outerGlow.blendMode);
235
+ (0, psdWriter_1.writeUint8)(writer, outerGlow.enabled ? 1 : 0);
236
+ writeFixedPoint8(writer, outerGlow.opacity || 0);
237
+ (0, psdWriter_1.writeColor)(writer, outerGlow.color);
238
+ }
239
+ if (innerGlow) {
240
+ (0, psdWriter_1.writeSignature)(writer, '8BIM');
241
+ (0, psdWriter_1.writeSignature)(writer, 'iglw');
242
+ (0, psdWriter_1.writeUint32)(writer, 43);
243
+ (0, psdWriter_1.writeUint32)(writer, 2);
244
+ (0, psdWriter_1.writeFixedPoint32)(writer, ((_e = innerGlow.size) === null || _e === void 0 ? void 0 : _e.value) || 0);
245
+ (0, psdWriter_1.writeFixedPoint32)(writer, 0); // intensity
246
+ (0, psdWriter_1.writeColor)(writer, innerGlow.color);
247
+ writeBlendMode(writer, innerGlow.blendMode);
248
+ (0, psdWriter_1.writeUint8)(writer, innerGlow.enabled ? 1 : 0);
249
+ writeFixedPoint8(writer, innerGlow.opacity || 0);
250
+ (0, psdWriter_1.writeUint8)(writer, 0); // inverted
251
+ (0, psdWriter_1.writeColor)(writer, innerGlow.color);
252
+ }
253
+ if (bevel) {
254
+ (0, psdWriter_1.writeSignature)(writer, '8BIM');
255
+ (0, psdWriter_1.writeSignature)(writer, 'bevl');
256
+ (0, psdWriter_1.writeUint32)(writer, 78);
257
+ (0, psdWriter_1.writeUint32)(writer, 2);
258
+ (0, psdWriter_1.writeFixedPoint32)(writer, bevel.angle || 0);
259
+ (0, psdWriter_1.writeFixedPoint32)(writer, bevel.strength || 0);
260
+ (0, psdWriter_1.writeFixedPoint32)(writer, ((_f = bevel.size) === null || _f === void 0 ? void 0 : _f.value) || 0);
261
+ writeBlendMode(writer, bevel.highlightBlendMode);
262
+ writeBlendMode(writer, bevel.shadowBlendMode);
263
+ (0, psdWriter_1.writeColor)(writer, bevel.highlightColor);
264
+ (0, psdWriter_1.writeColor)(writer, bevel.shadowColor);
265
+ const style = bevelStyles.indexOf(bevel.style);
266
+ (0, psdWriter_1.writeUint8)(writer, style <= 0 ? 1 : style);
267
+ writeFixedPoint8(writer, bevel.highlightOpacity || 0);
268
+ writeFixedPoint8(writer, bevel.shadowOpacity || 0);
269
+ (0, psdWriter_1.writeUint8)(writer, bevel.enabled ? 1 : 0);
270
+ (0, psdWriter_1.writeUint8)(writer, bevel.useGlobalLight ? 1 : 0);
271
+ (0, psdWriter_1.writeUint8)(writer, bevel.direction === 'down' ? 1 : 0);
272
+ (0, psdWriter_1.writeColor)(writer, bevel.highlightColor);
273
+ (0, psdWriter_1.writeColor)(writer, bevel.shadowColor);
274
+ }
275
+ if (solidFill) {
276
+ (0, psdWriter_1.writeSignature)(writer, '8BIM');
277
+ (0, psdWriter_1.writeSignature)(writer, 'sofi');
278
+ (0, psdWriter_1.writeUint32)(writer, 34);
279
+ (0, psdWriter_1.writeUint32)(writer, 2);
280
+ writeBlendMode(writer, solidFill.blendMode);
281
+ (0, psdWriter_1.writeColor)(writer, solidFill.color);
282
+ writeFixedPoint8(writer, solidFill.opacity || 0);
283
+ (0, psdWriter_1.writeUint8)(writer, solidFill.enabled ? 1 : 0);
284
+ (0, psdWriter_1.writeColor)(writer, solidFill.color);
285
+ }
286
+ }
288
287
  //# sourceMappingURL=effectsHelpers.js.map