Rev 513 | Rev 515 | Go to most recent revision | 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 |
||
3 | Copyright (C) 2003-2009 Toby Thain, toby@telegraphics.com.au |
||
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 |
||
514 | daniel-mar | 24 | // Attention: This file may only contain 7 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 | |
514 | daniel-mar | 33 | #ifndef doesSupportBitmap |
34 | #define doesSupportBitmap flagSupportsBitmap |
||
35 | #define doesSupportGrayScale flagSupportsGrayScale |
||
36 | #define doesSupportIndexedColor flagSupportsIndexedColor |
||
37 | #define doesSupportRGBColor flagSupportsRGBColor |
||
38 | #define doesSupportCMYKColor flagSupportsCMYKColor |
||
39 | #define doesSupportHSLColor flagSupportsHSLColor |
||
40 | #define doesSupportHSBColor flagSupportsHSBColor |
||
41 | #define doesSupportMultichannel flagSupportsMultichannel |
||
42 | #define doesSupportDuotone 32768 // (flagSupportsDuotone << 8) RC doesn't know <<8, nor *256 ! |
||
43 | #define doesSupportLABColor 16384 // (flagSupportsLABColor << 8) RC doesn't know <<8, nor *256 ! |
||
44 | #endif |
||
513 | daniel-mar | 45 | |
46 | /* Supported modes */ |
||
47 | /* Second byte: */ |
||
514 | daniel-mar | 48 | VENDORID, LC(m,o,d,e), NULLID, 4L, /* First byte: */ /*doesSupportBitmap|*/ |
49 | doesSupportGrayScale| |
||
50 | doesSupportIndexedColor| |
||
51 | doesSupportRGBColor| |
||
52 | doesSupportCMYKColor| |
||
53 | doesSupportHSLColor| |
||
54 | doesSupportHSBColor| |
||
55 | doesSupportMultichannel| |
||
56 | /* Second byte: */ doesSupportDuotone| |
||
57 | doesSupportLABColor, |
||
58 | /* 3rd & 4th byte: */ 0, |
||
513 | daniel-mar | 59 | |
259 | daniel-mar | 60 | /* We need this to enable the plugin for BigDocuments */ |
513 | daniel-mar | 61 | VENDORID, LC(m,s,3,2), NULLID, 8L, 2000000L, 2000000L, |
259 | daniel-mar | 62 | |
513 | daniel-mar | 63 | /* Required host (' ' = any) */ |
64 | /* Commented out, because there is a risk that a badly programmed host will think that ' '!='8BIM' and doesn't load the plugin then?!*/ |
||
65 | //VENDORID, LC(h,o,s,t), NULLID, 4L, 0x20202020L, |
||
472 | daniel-mar | 66 | |
513 | daniel-mar | 67 | /* "FilterLayerSupport" (Allows smart filters) */ |
68 | /* TODO: It seems to work, but are we really fully supporting Smart Filters?! */ |
||
69 | VENDORID, LC(f,l,l,y), NULLID, 4L, 0x80L, |
||
70 | |||
71 | /* Enable info */ |
||
514 | daniel-mar | 72 | /* Note: 136 must divisible by 4 */ |
73 | VENDORID, LC(e,n,b,l), NULLID, 136L, "in (PSHOP_ImageMode, GrayScaleMode, IndexedColorMode, RGBMode, CMYKMode, HSLMode, HSBMode, MultichannelMode, DuotoneMode, LabMode)\0\0\0\0\0\0", |
||
513 | daniel-mar | 74 | |
75 | /* "Component". Values taken from Clouds.8BF */ |
||
76 | /* TODO: What is this? Commented out to be sure */ |
||
514 | daniel-mar | 77 | /* Note: 20 must divisible by 4 */ |
78 | //VENDORID, LC(c,m,p,t), NULLID, 20L, 0x00170301L, "FilterFoundry\0\0\0", |
||
513 | daniel-mar | 79 | |
80 | /* MonitorScalingAware */ |
||
81 | /* TODO: Do we support it? For now, commented out */ |
||
82 | //VENDORID, LC(p,m,s,a), NULLID, 4L, 1L, |
||
83 | |||
259 | daniel-mar | 84 | /* FilterCaseInfo - in all cases: |
85 | inStraightData, |
||
86 | outStraightData, |
||
87 | doNotWriteOutsideSelection, |
||
88 | doesNotFilterLayerMasks, |
||
89 | worksWithBlankData, |
||
90 | doNotCopySourceToDestination */ |
||
91 | VENDORID, LC(f,i,c,i), NULLID, 28L, |
||
92 | |||
93 | /* Filter Case 1: filterCaseFlatImageNoSelection [A background layer or a flat image] */ |
||
472 | daniel-mar | 94 | "\001", // inputHandling [Preprocessing actions on the image data] = 01h (filterDataHandlingNone) |
95 | "\001", // outputHandling [Postprocessing actions on the image data] = 01h (filterDataHandlingNone) |
||
96 | "\003", // flags1 [Flags for how the filter case information should be treated] = 03h (in Filter Factory: 00h) |
||
97 | // 1 PIFilterDontCopyToDestinationBit = true (in Filter Factory: false) |
||
98 | // 2 PIFilterWorksWithBlankDataBit = true (in Filter Factory: false) |
||
99 | // 4 PIFilterFiltersLayerMaskBit = false |
||
100 | // 8 PIFilterWritesOutsideSelectionBit = false |
||
101 | "\000", // flags2 [Reserved] = 00h |
||
259 | daniel-mar | 102 | |
103 | /* Filter Case 2: filterCaseFlatImageWithSelection [No transparency data, but a selection may be present] */ |
||
472 | daniel-mar | 104 | "\001", // inputHandling [Preprocessing actions on the image data] = 01h (filterDataHandlingNone) |
105 | "\001", // outputHandling [Postprocessing actions on the image data] = 01h (filterDataHandlingNone) |
||
106 | "\003", // flags1 [Flags for how the filter case information should be treated] = 03h (in Filter Factory: 00h) |
||
107 | // 1 PIFilterDontCopyToDestinationBit = true (in Filter Factory: false) |
||
108 | // 2 PIFilterWorksWithBlankDataBit = true (in Filter Factory: false) |
||
109 | // 4 PIFilterFiltersLayerMaskBit = false |
||
110 | // 8 PIFilterWritesOutsideSelectionBit = false |
||
111 | "\000", // flags2 [Reserved] = 00h |
||
259 | daniel-mar | 112 | |
113 | /* Filter Case 3: filterCaseFloatingSelection [Image data with an accompanying mask] */ |
||
472 | daniel-mar | 114 | "\001", // inputHandling [Preprocessing actions on the image data] = 01h (filterDataHandlingNone, in Filter Factory: 0Ah filterDataHandlingBackgroundZap) |
115 | "\001", // outputHandling [Postprocessing actions on the image data] = 01h (filterDataHandlingNone) |
||
116 | "\003", // flags1 [Flags for how the filter case information should be treated] = 03h (in Filter Factory: 00h) |
||
117 | // 1 PIFilterDontCopyToDestinationBit = true (in Filter Factory: false) |
||
118 | // 2 PIFilterWorksWithBlankDataBit = true (in Filter Factory: false) |
||
119 | // 4 PIFilterFiltersLayerMaskBit = false |
||
120 | // 8 PIFilterWritesOutsideSelectionBit = false |
||
121 | "\000", // flags2 [Reserved] = 00h |
||
259 | daniel-mar | 122 | |
123 | /* Filter Case 4: filterCaseEditableTransparencyNoSelection [Layer with transparency editing enabled and no selection] */ |
||
472 | daniel-mar | 124 | "\001", // inputHandling [Preprocessing actions on the image data] = 01h (filterDataHandlingNone, in Filter Factory: 0Ah filterDataHandlingBackgroundZap) |
125 | "\001", // outputHandling [Postprocessing actions on the image data] = 01h (filterDataHandlingNone) |
||
126 | "\003", // flags1 [Flags for how the filter case information should be treated] = 03h (in Filter Factory: 02h) |
||
127 | // 1 PIFilterDontCopyToDestinationBit = true (in Filter Factory: false) |
||
128 | // 2 PIFilterWorksWithBlankDataBit = true |
||
129 | // 4 PIFilterFiltersLayerMaskBit = false |
||
130 | // 8 PIFilterWritesOutsideSelectionBit = false |
||
131 | "\000", // flags2 [Reserved] = 00h |
||
259 | daniel-mar | 132 | |
133 | /* Filter Case 5: filterCaseEditableTransparencyWithSelection [Layer with transparency editing enabled and a selection] */ |
||
472 | daniel-mar | 134 | "\001", // inputHandling [Preprocessing actions on the image data] = 01h (filterDataHandlingNone, in Filter Factory: 0Ah filterDataHandlingBackgroundZap) |
135 | "\001", // outputHandling [Postprocessing actions on the image data] = 01h (filterDataHandlingNone) |
||
136 | "\003", // flags1 [Flags for how the filter case information should be treated] = 03h (in Filter Factory: 02h) |
||
137 | // 1 PIFilterDontCopyToDestinationBit = true (in Filter Factory: false) |
||
138 | // 2 PIFilterWorksWithBlankDataBit = true |
||
139 | // 4 PIFilterFiltersLayerMaskBit = false |
||
140 | // 8 PIFilterWritesOutsideSelectionBit = false |
||
141 | "\000", // flags2 [Reserved] = 00h |
||
259 | daniel-mar | 142 | |
143 | /* Filter Case 6: filterCaseProtectedTransparencyNoSelection [Layer with transparency editing disabled and no selection] */ |
||
472 | daniel-mar | 144 | "\001", // inputHandling [Preprocessing actions on the image data] = 01h (filterDataHandlingNone, in Filter Factory: 00h filterDataHandlingCantFilter) |
145 | "\001", // outputHandling [Postprocessing actions on the image data] = 01h (filterDataHandlingNone, in Filter Factory: 00h filterDataHandlingCantFilter) |
||
146 | "\003", // flags1 [Flags for how the filter case information should be treated] = 03h (in Filter Factory: 00h) |
||
147 | // 1 PIFilterDontCopyToDestinationBit = true (in Filter Factory: false) |
||
148 | // 2 PIFilterWorksWithBlankDataBit = true (in Filter Factory: false) |
||
149 | // 4 PIFilterFiltersLayerMaskBit = false |
||
150 | // 8 PIFilterWritesOutsideSelectionBit = false |
||
151 | "\000", // flags2 [Reserved] = 00h |
||
259 | daniel-mar | 152 | |
153 | /* Filter Case 7: filterCaseProtectedTransparencyWithSelection [Layer with transparency editing disabled and a selection] */ |
||
472 | daniel-mar | 154 | "\001", // inputHandling [Preprocessing actions on the image data] = 01h (filterDataHandlingNone, in Filter Factory: 00h filterDataHandlingCantFilter) |
155 | "\001", // outputHandling [Postprocessing actions on the image data] = 01h (filterDataHandlingNone, in Filter Factory: 00h filterDataHandlingCantFilter) |
||
156 | "\003", // flags1 [Flags for how the filter case information should be treated] = 03h (in Filter Factory: 00h) |
||
157 | // 1 PIFilterDontCopyToDestinationBit = true (in Filter Factory: false) |
||
158 | // 2 PIFilterWorksWithBlankDataBit = true (in Filter Factory: false) |
||
159 | // 4 PIFilterFiltersLayerMaskBit = false |
||
160 | // 8 PIFilterWritesOutsideSelectionBit = false |
||
161 | "\000", // flags2 [Reserved] = 00h |