Rev 519 | Details | Compare with Previous | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
259 | daniel-mar | 1 | /* |
2 | This file is part of "Filter Foundry", a filter plugin for Adobe Photoshop |
||
536 | daniel-mar | 3 | Copyright (C) 2003-2009 Toby Thain, toby@telegraphics.net |
472 | daniel-mar | 4 | Copyright (C) 2018-2022 Daniel Marschall, ViaThinkSoft |
259 | daniel-mar | 5 | |
6 | This program is free software; you can redistribute it and/or modify |
||
7 | it under the terms of the GNU General Public License as published by |
||
8 | the Free Software Foundation; either version 2 of the License, or |
||
9 | (at your option) any later version. |
||
10 | |||
11 | This program is distributed in the hope that it will be useful, |
||
12 | but WITHOUT ANY WARRANTY; without even the implied warranty of |
||
13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||
14 | GNU General Public License for more details. |
||
15 | |||
16 | You should have received a copy of the GNU General Public License |
||
17 | along with this program; if not, write to the Free Software |
||
18 | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
||
19 | */ |
||
20 | |||
21 | // This RC file is for Windows only. |
||
22 | // The PiPL_body contains the properties which are added to PIPL and TPLT (PIPL-Template). |
||
23 | // PIPL will additionally receive name, catg and hstm |
||
519 | daniel-mar | 24 | // Attention: This file may only contain 8 properties. If this number changes, |
259 | daniel-mar | 25 | // please also change PiPL.rc |
26 | |||
513 | daniel-mar | 27 | /* Filter module */ |
28 | VENDORID, LC(k,i,n,d), NULLID, 4L, LC(8,B,F,M), |
||
259 | daniel-mar | 29 | |
513 | daniel-mar | 30 | /* Version Number */ |
31 | VENDORID, LC(v,e,r,s), NULLID, 4L, latestFilterSubVersion, latestFilterVersion, |
||
259 | daniel-mar | 32 | |
519 | daniel-mar | 33 | /* Priority (0 = default) */ |
34 | VENDORID, LC(p,r,t,y), NULLID, 4L, NULLID, |
||
513 | daniel-mar | 35 | |
36 | /* Supported modes */ |
||
514 | daniel-mar | 37 | VENDORID, LC(m,o,d,e), NULLID, 4L, /* First byte: */ /*doesSupportBitmap|*/ |
38 | doesSupportGrayScale| |
||
519 | daniel-mar | 39 | /*doesSupportIndexedColor|*/ |
514 | daniel-mar | 40 | doesSupportRGBColor| |
41 | doesSupportCMYKColor| |
||
42 | doesSupportHSLColor| |
||
43 | doesSupportHSBColor| |
||
44 | doesSupportMultichannel| |
||
45 | /* Second byte: */ doesSupportDuotone| |
||
46 | doesSupportLABColor, |
||
47 | /* 3rd & 4th byte: */ 0, |
||
513 | daniel-mar | 48 | |
259 | daniel-mar | 49 | /* We need this to enable the plugin for BigDocuments */ |
513 | daniel-mar | 50 | VENDORID, LC(m,s,3,2), NULLID, 8L, 2000000L, 2000000L, |
259 | daniel-mar | 51 | |
517 | daniel-mar | 52 | /* Required host (' ' = ANY) */ |
513 | daniel-mar | 53 | /* Commented out, because there is a risk that a badly programmed host will think that ' '!='8BIM' and doesn't load the plugin then?!*/ |
517 | daniel-mar | 54 | //VENDORID, LC(h,o,s,t), NULLID, 4L, ANY, |
472 | daniel-mar | 55 | |
513 | daniel-mar | 56 | /* "FilterLayerSupport" (Allows smart filters) */ |
57 | /* TODO: It seems to work, but are we really fully supporting Smart Filters?! */ |
||
58 | VENDORID, LC(f,l,l,y), NULLID, 4L, 0x80L, |
||
59 | |||
60 | /* Enable info */ |
||
519 | daniel-mar | 61 | /* Note: Length 116 must be divisible by 4 */ |
515 | daniel-mar | 62 | /* "Plug-in Resource Guide.pdf", pages 61-62 */ |
519 | daniel-mar | 63 | VENDORID, LC(e,n,b,l), NULLID, 116L, "in (PSHOP_ImageMode, GrayScaleMode, RGBMode, CMYKMode, HSLMode, HSBMode, MultichannelMode, DuotoneMode, LabMode)\0\0\0\0", |
513 | daniel-mar | 64 | |
65 | /* MonitorScalingAware */ |
||
66 | /* TODO: Do we support it? For now, commented out */ |
||
67 | //VENDORID, LC(p,m,s,a), NULLID, 4L, 1L, |
||
68 | |||
259 | daniel-mar | 69 | /* FilterCaseInfo - in all cases: |
70 | inStraightData, |
||
71 | outStraightData, |
||
72 | doNotWriteOutsideSelection, |
||
73 | doesNotFilterLayerMasks, |
||
74 | worksWithBlankData, |
||
75 | doNotCopySourceToDestination */ |
||
76 | VENDORID, LC(f,i,c,i), NULLID, 28L, |
||
77 | |||
78 | /* Filter Case 1: filterCaseFlatImageNoSelection [A background layer or a flat image] */ |
||
472 | daniel-mar | 79 | "\001", // inputHandling [Preprocessing actions on the image data] = 01h (filterDataHandlingNone) |
80 | "\001", // outputHandling [Postprocessing actions on the image data] = 01h (filterDataHandlingNone) |
||
81 | "\003", // flags1 [Flags for how the filter case information should be treated] = 03h (in Filter Factory: 00h) |
||
82 | // 1 PIFilterDontCopyToDestinationBit = true (in Filter Factory: false) |
||
83 | // 2 PIFilterWorksWithBlankDataBit = true (in Filter Factory: false) |
||
84 | // 4 PIFilterFiltersLayerMaskBit = false |
||
85 | // 8 PIFilterWritesOutsideSelectionBit = false |
||
86 | "\000", // flags2 [Reserved] = 00h |
||
259 | daniel-mar | 87 | |
88 | /* Filter Case 2: filterCaseFlatImageWithSelection [No transparency data, but a selection may be present] */ |
||
472 | daniel-mar | 89 | "\001", // inputHandling [Preprocessing actions on the image data] = 01h (filterDataHandlingNone) |
90 | "\001", // outputHandling [Postprocessing actions on the image data] = 01h (filterDataHandlingNone) |
||
91 | "\003", // flags1 [Flags for how the filter case information should be treated] = 03h (in Filter Factory: 00h) |
||
92 | // 1 PIFilterDontCopyToDestinationBit = true (in Filter Factory: false) |
||
93 | // 2 PIFilterWorksWithBlankDataBit = true (in Filter Factory: false) |
||
94 | // 4 PIFilterFiltersLayerMaskBit = false |
||
95 | // 8 PIFilterWritesOutsideSelectionBit = false |
||
96 | "\000", // flags2 [Reserved] = 00h |
||
259 | daniel-mar | 97 | |
98 | /* Filter Case 3: filterCaseFloatingSelection [Image data with an accompanying mask] */ |
||
472 | daniel-mar | 99 | "\001", // inputHandling [Preprocessing actions on the image data] = 01h (filterDataHandlingNone, in Filter Factory: 0Ah filterDataHandlingBackgroundZap) |
100 | "\001", // outputHandling [Postprocessing actions on the image data] = 01h (filterDataHandlingNone) |
||
101 | "\003", // flags1 [Flags for how the filter case information should be treated] = 03h (in Filter Factory: 00h) |
||
102 | // 1 PIFilterDontCopyToDestinationBit = true (in Filter Factory: false) |
||
103 | // 2 PIFilterWorksWithBlankDataBit = true (in Filter Factory: false) |
||
104 | // 4 PIFilterFiltersLayerMaskBit = false |
||
105 | // 8 PIFilterWritesOutsideSelectionBit = false |
||
106 | "\000", // flags2 [Reserved] = 00h |
||
259 | daniel-mar | 107 | |
108 | /* Filter Case 4: filterCaseEditableTransparencyNoSelection [Layer with transparency editing enabled and no selection] */ |
||
472 | daniel-mar | 109 | "\001", // inputHandling [Preprocessing actions on the image data] = 01h (filterDataHandlingNone, in Filter Factory: 0Ah filterDataHandlingBackgroundZap) |
110 | "\001", // outputHandling [Postprocessing actions on the image data] = 01h (filterDataHandlingNone) |
||
111 | "\003", // flags1 [Flags for how the filter case information should be treated] = 03h (in Filter Factory: 02h) |
||
112 | // 1 PIFilterDontCopyToDestinationBit = true (in Filter Factory: false) |
||
113 | // 2 PIFilterWorksWithBlankDataBit = true |
||
114 | // 4 PIFilterFiltersLayerMaskBit = false |
||
115 | // 8 PIFilterWritesOutsideSelectionBit = false |
||
116 | "\000", // flags2 [Reserved] = 00h |
||
259 | daniel-mar | 117 | |
118 | /* Filter Case 5: filterCaseEditableTransparencyWithSelection [Layer with transparency editing enabled and a selection] */ |
||
472 | daniel-mar | 119 | "\001", // inputHandling [Preprocessing actions on the image data] = 01h (filterDataHandlingNone, in Filter Factory: 0Ah filterDataHandlingBackgroundZap) |
120 | "\001", // outputHandling [Postprocessing actions on the image data] = 01h (filterDataHandlingNone) |
||
121 | "\003", // flags1 [Flags for how the filter case information should be treated] = 03h (in Filter Factory: 02h) |
||
122 | // 1 PIFilterDontCopyToDestinationBit = true (in Filter Factory: false) |
||
123 | // 2 PIFilterWorksWithBlankDataBit = true |
||
124 | // 4 PIFilterFiltersLayerMaskBit = false |
||
125 | // 8 PIFilterWritesOutsideSelectionBit = false |
||
126 | "\000", // flags2 [Reserved] = 00h |
||
259 | daniel-mar | 127 | |
128 | /* Filter Case 6: filterCaseProtectedTransparencyNoSelection [Layer with transparency editing disabled and no selection] */ |
||
472 | daniel-mar | 129 | "\001", // inputHandling [Preprocessing actions on the image data] = 01h (filterDataHandlingNone, in Filter Factory: 00h filterDataHandlingCantFilter) |
130 | "\001", // outputHandling [Postprocessing actions on the image data] = 01h (filterDataHandlingNone, in Filter Factory: 00h filterDataHandlingCantFilter) |
||
131 | "\003", // flags1 [Flags for how the filter case information should be treated] = 03h (in Filter Factory: 00h) |
||
132 | // 1 PIFilterDontCopyToDestinationBit = true (in Filter Factory: false) |
||
133 | // 2 PIFilterWorksWithBlankDataBit = true (in Filter Factory: false) |
||
134 | // 4 PIFilterFiltersLayerMaskBit = false |
||
135 | // 8 PIFilterWritesOutsideSelectionBit = false |
||
136 | "\000", // flags2 [Reserved] = 00h |
||
259 | daniel-mar | 137 | |
138 | /* Filter Case 7: filterCaseProtectedTransparencyWithSelection [Layer with transparency editing disabled and a selection] */ |
||
472 | daniel-mar | 139 | "\001", // inputHandling [Preprocessing actions on the image data] = 01h (filterDataHandlingNone, in Filter Factory: 00h filterDataHandlingCantFilter) |
140 | "\001", // outputHandling [Postprocessing actions on the image data] = 01h (filterDataHandlingNone, in Filter Factory: 00h filterDataHandlingCantFilter) |
||
141 | "\003", // flags1 [Flags for how the filter case information should be treated] = 03h (in Filter Factory: 00h) |
||
142 | // 1 PIFilterDontCopyToDestinationBit = true (in Filter Factory: false) |
||
143 | // 2 PIFilterWorksWithBlankDataBit = true (in Filter Factory: false) |
||
144 | // 4 PIFilterFiltersLayerMaskBit = false |
||
145 | // 8 PIFilterWritesOutsideSelectionBit = false |
||
146 | "\000", // flags2 [Reserved] = 00h |