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