Subversion Repositories filter_foundry

Rev

Rev 472 | Rev 514 | 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
24
// Attention: This file may only contain 5 properties. If this number changes,
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
 
513 daniel-mar 33
 
34
 
35
#define doesSupportsBitmap         flagSupportsBitmap
36
#define doesSupportsGrayScale      flagSupportsGrayScale
37
#define doesSupportsIndexedColor   flagSupportsIndexedColor
38
#define doesSupportsRGBColor       flagSupportsRGBColor
39
#define doesSupportsCMYKColor      flagSupportsCMYKColor
40
#define doesSupportsHSLColor       flagSupportsHSLColor
41
#define doesSupportsHSBColor       flagSupportsHSBColor
42
#define doesSupportsMultichannel   flagSupportsMultichannel
43
#define doesSupportsDuotone        32768 // (flagSupportsDuotone << 8)    RC doesn't know <<8, nor *256 !
44
#define doesSupportsLABColor       16384 // (flagSupportsLABColor << 8)   RC doesn't know <<8, nor *256 !
45
 
46
/* Supported modes */
47
/* Second byte:    */
48
VENDORID, LC(m,o,d,e), NULLID, 4L, /* First byte:     */ /*doesSupportsBitmap|*/
49
                                                         doesSupportsGrayScale|
50
                                                         doesSupportsIndexedColor|
51
                                                         doesSupportsRGBColor|
52
                                                         doesSupportsCMYKColor|
53
                                                         doesSupportsHSLColor|
54
                                                         doesSupportsHSBColor|
55
                                                         doesSupportsMultichannel|
56
                                   /* Second byte: */    doesSupportsDuotone|
57
                                                         doesSupportsLABColor,
58
                                                         /* 3rd & 4th byte: */ 0,
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 */
72
VENDORID, LC(e,n,b,l), NULLID, 4L, 134L, "in (PSHOP_ImageMode, GrayScaleMode, IndexedColorMode, RGBMode, CMYKMode, HSLMode, HSBMode, MultichannelMode, DuotoneMode, LabMode)\0\0\0\0"
73
 
74
/* "Component". Values taken from Clouds.8BF */
75
/* TODO: What is this? Commented out to be sure */
76
//VENDORID, LC(c,m,p,t), NULLID, 4L, 18L, 0x00170301L, "FilterFoundry\0"
77
 
78
/* MonitorScalingAware */
79
/* TODO: Do we support it? For now, commented out */
80
//VENDORID, LC(p,m,s,a), NULLID, 4L, 1L,
81
 
259 daniel-mar 82
/* FilterCaseInfo - in all cases:
83
	   inStraightData,
84
	   outStraightData,
85
	   doNotWriteOutsideSelection,
86
	   doesNotFilterLayerMasks,
87
	   worksWithBlankData,
88
	   doNotCopySourceToDestination */
89
VENDORID, LC(f,i,c,i), NULLID, 28L,
90
 
91
	/* Filter Case 1: filterCaseFlatImageNoSelection [A background layer or a flat image] */
472 daniel-mar 92
	"\001", // inputHandling [Preprocessing actions on the image data] = 01h (filterDataHandlingNone)
93
	"\001", // outputHandling [Postprocessing actions on the image data] = 01h (filterDataHandlingNone)
94
	"\003", // flags1 [Flags for how the filter case information should be treated] = 03h (in Filter Factory: 00h)
95
	        //       1 PIFilterDontCopyToDestinationBit  = true (in Filter Factory: false)
96
	        //       2 PIFilterWorksWithBlankDataBit     = true (in Filter Factory: false)
97
	        //       4 PIFilterFiltersLayerMaskBit       = false
98
	        //       8 PIFilterWritesOutsideSelectionBit = false
99
	"\000", // flags2 [Reserved] = 00h
259 daniel-mar 100
 
101
	/* Filter Case 2: filterCaseFlatImageWithSelection [No transparency data, but a selection may be present] */
472 daniel-mar 102
	"\001", // inputHandling [Preprocessing actions on the image data] = 01h (filterDataHandlingNone)
103
	"\001", // outputHandling [Postprocessing actions on the image data] = 01h (filterDataHandlingNone)
104
	"\003", // flags1 [Flags for how the filter case information should be treated] = 03h (in Filter Factory: 00h)
105
			//       1 PIFilterDontCopyToDestinationBit  = true (in Filter Factory: false)
106
			//       2 PIFilterWorksWithBlankDataBit     = true (in Filter Factory: false)
107
			//       4 PIFilterFiltersLayerMaskBit       = false
108
			//       8 PIFilterWritesOutsideSelectionBit = false
109
	"\000", // flags2 [Reserved] = 00h
259 daniel-mar 110
 
111
	/* Filter Case 3: filterCaseFloatingSelection [Image data with an accompanying mask] */
472 daniel-mar 112
	"\001", // inputHandling [Preprocessing actions on the image data] = 01h (filterDataHandlingNone, in Filter Factory: 0Ah filterDataHandlingBackgroundZap)
113
	"\001", // outputHandling [Postprocessing actions on the image data] = 01h (filterDataHandlingNone)
114
	"\003", // flags1 [Flags for how the filter case information should be treated] = 03h (in Filter Factory: 00h)
115
			//       1 PIFilterDontCopyToDestinationBit  = true (in Filter Factory: false)
116
			//       2 PIFilterWorksWithBlankDataBit     = true (in Filter Factory: false)
117
			//       4 PIFilterFiltersLayerMaskBit       = false
118
			//       8 PIFilterWritesOutsideSelectionBit = false
119
	"\000", // flags2 [Reserved] = 00h
259 daniel-mar 120
 
121
	/* Filter Case 4: filterCaseEditableTransparencyNoSelection [Layer with transparency editing enabled and no selection] */
472 daniel-mar 122
	"\001", // inputHandling [Preprocessing actions on the image data] = 01h (filterDataHandlingNone, in Filter Factory: 0Ah filterDataHandlingBackgroundZap)
123
	"\001", // outputHandling [Postprocessing actions on the image data] = 01h (filterDataHandlingNone)
124
	"\003", // flags1 [Flags for how the filter case information should be treated] = 03h (in Filter Factory: 02h)
125
			//       1 PIFilterDontCopyToDestinationBit  = true (in Filter Factory: false)
126
			//       2 PIFilterWorksWithBlankDataBit     = true
127
			//       4 PIFilterFiltersLayerMaskBit       = false
128
			//       8 PIFilterWritesOutsideSelectionBit = false
129
	"\000", // flags2 [Reserved] = 00h
259 daniel-mar 130
 
131
	/* Filter Case 5: filterCaseEditableTransparencyWithSelection [Layer with transparency editing enabled and a selection] */
472 daniel-mar 132
	"\001", // inputHandling [Preprocessing actions on the image data] = 01h (filterDataHandlingNone, in Filter Factory: 0Ah filterDataHandlingBackgroundZap)
133
	"\001", // outputHandling [Postprocessing actions on the image data] = 01h (filterDataHandlingNone)
134
	"\003", // flags1 [Flags for how the filter case information should be treated] = 03h (in Filter Factory: 02h)
135
			//       1 PIFilterDontCopyToDestinationBit  = true (in Filter Factory: false)
136
			//       2 PIFilterWorksWithBlankDataBit     = true
137
			//       4 PIFilterFiltersLayerMaskBit       = false
138
			//       8 PIFilterWritesOutsideSelectionBit = false
139
	"\000", // flags2 [Reserved] = 00h
259 daniel-mar 140
 
141
	/* Filter Case 6: filterCaseProtectedTransparencyNoSelection [Layer with transparency editing disabled and no selection] */
472 daniel-mar 142
	"\001", // inputHandling [Preprocessing actions on the image data] = 01h (filterDataHandlingNone, in Filter Factory: 00h filterDataHandlingCantFilter)
143
	"\001", // outputHandling [Postprocessing actions on the image data] = 01h (filterDataHandlingNone, in Filter Factory: 00h filterDataHandlingCantFilter)
144
	"\003", // flags1 [Flags for how the filter case information should be treated] = 03h (in Filter Factory: 00h)
145
			//       1 PIFilterDontCopyToDestinationBit  = true (in Filter Factory: false)
146
			//       2 PIFilterWorksWithBlankDataBit     = true (in Filter Factory: false)
147
			//       4 PIFilterFiltersLayerMaskBit       = false
148
			//       8 PIFilterWritesOutsideSelectionBit = false
149
	"\000", // flags2 [Reserved] = 00h
259 daniel-mar 150
 
151
	/* Filter Case 7: filterCaseProtectedTransparencyWithSelection [Layer with transparency editing disabled and a selection] */
472 daniel-mar 152
	"\001", // inputHandling [Preprocessing actions on the image data] = 01h (filterDataHandlingNone, in Filter Factory: 00h filterDataHandlingCantFilter)
153
	"\001", // outputHandling [Postprocessing actions on the image data] = 01h (filterDataHandlingNone, in Filter Factory: 00h filterDataHandlingCantFilter)
154
	"\003", // flags1 [Flags for how the filter case information should be treated] = 03h (in Filter Factory: 00h)
155
			//       1 PIFilterDontCopyToDestinationBit  = true (in Filter Factory: false)
156
			//       2 PIFilterWorksWithBlankDataBit     = true (in Filter Factory: false)
157
			//       4 PIFilterFiltersLayerMaskBit       = false
158
	        //       8 PIFilterWritesOutsideSelectionBit = false
159
	"\000", // flags2 [Reserved] = 00h