Subversion Repositories filter_foundry

Rev

Rev 515 | Rev 519 | 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
517 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
 
517 daniel-mar 63
/* Required host ('    ' = ANY) */
513 daniel-mar 64
/* 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 65
//VENDORID, LC(h,o,s,t), NULLID, 4L, ANY,
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 */
515 daniel-mar 72
/* Note: Length 136 must be divisible by 4 */
73
/* "Plug-in Resource Guide.pdf", pages 61-62 */
514 daniel-mar 74
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 75
 
76
/* MonitorScalingAware */
77
/* TODO: Do we support it? For now, commented out */
78
//VENDORID, LC(p,m,s,a), NULLID, 4L, 1L,
79
 
259 daniel-mar 80
/* FilterCaseInfo - in all cases:
81
	   inStraightData,
82
	   outStraightData,
83
	   doNotWriteOutsideSelection,
84
	   doesNotFilterLayerMasks,
85
	   worksWithBlankData,
86
	   doNotCopySourceToDestination */
87
VENDORID, LC(f,i,c,i), NULLID, 28L,
88
 
89
	/* Filter Case 1: filterCaseFlatImageNoSelection [A background layer or a flat image] */
472 daniel-mar 90
	"\001", // inputHandling [Preprocessing actions on the image data] = 01h (filterDataHandlingNone)
91
	"\001", // outputHandling [Postprocessing actions on the image data] = 01h (filterDataHandlingNone)
92
	"\003", // flags1 [Flags for how the filter case information should be treated] = 03h (in Filter Factory: 00h)
93
	        //       1 PIFilterDontCopyToDestinationBit  = true (in Filter Factory: false)
94
	        //       2 PIFilterWorksWithBlankDataBit     = true (in Filter Factory: false)
95
	        //       4 PIFilterFiltersLayerMaskBit       = false
96
	        //       8 PIFilterWritesOutsideSelectionBit = false
97
	"\000", // flags2 [Reserved] = 00h
259 daniel-mar 98
 
99
	/* Filter Case 2: filterCaseFlatImageWithSelection [No transparency data, but a selection may be present] */
472 daniel-mar 100
	"\001", // inputHandling [Preprocessing actions on the image data] = 01h (filterDataHandlingNone)
101
	"\001", // outputHandling [Postprocessing actions on the image data] = 01h (filterDataHandlingNone)
102
	"\003", // flags1 [Flags for how the filter case information should be treated] = 03h (in Filter Factory: 00h)
103
			//       1 PIFilterDontCopyToDestinationBit  = true (in Filter Factory: false)
104
			//       2 PIFilterWorksWithBlankDataBit     = true (in Filter Factory: false)
105
			//       4 PIFilterFiltersLayerMaskBit       = false
106
			//       8 PIFilterWritesOutsideSelectionBit = false
107
	"\000", // flags2 [Reserved] = 00h
259 daniel-mar 108
 
109
	/* Filter Case 3: filterCaseFloatingSelection [Image data with an accompanying mask] */
472 daniel-mar 110
	"\001", // inputHandling [Preprocessing actions on the image data] = 01h (filterDataHandlingNone, in Filter Factory: 0Ah filterDataHandlingBackgroundZap)
111
	"\001", // outputHandling [Postprocessing actions on the image data] = 01h (filterDataHandlingNone)
112
	"\003", // flags1 [Flags for how the filter case information should be treated] = 03h (in Filter Factory: 00h)
113
			//       1 PIFilterDontCopyToDestinationBit  = true (in Filter Factory: false)
114
			//       2 PIFilterWorksWithBlankDataBit     = true (in Filter Factory: false)
115
			//       4 PIFilterFiltersLayerMaskBit       = false
116
			//       8 PIFilterWritesOutsideSelectionBit = false
117
	"\000", // flags2 [Reserved] = 00h
259 daniel-mar 118
 
119
	/* Filter Case 4: filterCaseEditableTransparencyNoSelection [Layer with transparency editing enabled and no selection] */
472 daniel-mar 120
	"\001", // inputHandling [Preprocessing actions on the image data] = 01h (filterDataHandlingNone, in Filter Factory: 0Ah filterDataHandlingBackgroundZap)
121
	"\001", // outputHandling [Postprocessing actions on the image data] = 01h (filterDataHandlingNone)
122
	"\003", // flags1 [Flags for how the filter case information should be treated] = 03h (in Filter Factory: 02h)
123
			//       1 PIFilterDontCopyToDestinationBit  = true (in Filter Factory: false)
124
			//       2 PIFilterWorksWithBlankDataBit     = true
125
			//       4 PIFilterFiltersLayerMaskBit       = false
126
			//       8 PIFilterWritesOutsideSelectionBit = false
127
	"\000", // flags2 [Reserved] = 00h
259 daniel-mar 128
 
129
	/* Filter Case 5: filterCaseEditableTransparencyWithSelection [Layer with transparency editing enabled and a selection] */
472 daniel-mar 130
	"\001", // inputHandling [Preprocessing actions on the image data] = 01h (filterDataHandlingNone, in Filter Factory: 0Ah filterDataHandlingBackgroundZap)
131
	"\001", // outputHandling [Postprocessing actions on the image data] = 01h (filterDataHandlingNone)
132
	"\003", // flags1 [Flags for how the filter case information should be treated] = 03h (in Filter Factory: 02h)
133
			//       1 PIFilterDontCopyToDestinationBit  = true (in Filter Factory: false)
134
			//       2 PIFilterWorksWithBlankDataBit     = true
135
			//       4 PIFilterFiltersLayerMaskBit       = false
136
			//       8 PIFilterWritesOutsideSelectionBit = false
137
	"\000", // flags2 [Reserved] = 00h
259 daniel-mar 138
 
139
	/* Filter Case 6: filterCaseProtectedTransparencyNoSelection [Layer with transparency editing disabled and no selection] */
472 daniel-mar 140
	"\001", // inputHandling [Preprocessing actions on the image data] = 01h (filterDataHandlingNone, in Filter Factory: 00h filterDataHandlingCantFilter)
141
	"\001", // outputHandling [Postprocessing actions on the image data] = 01h (filterDataHandlingNone, in Filter Factory: 00h filterDataHandlingCantFilter)
142
	"\003", // flags1 [Flags for how the filter case information should be treated] = 03h (in Filter Factory: 00h)
143
			//       1 PIFilterDontCopyToDestinationBit  = true (in Filter Factory: false)
144
			//       2 PIFilterWorksWithBlankDataBit     = true (in Filter Factory: false)
145
			//       4 PIFilterFiltersLayerMaskBit       = false
146
			//       8 PIFilterWritesOutsideSelectionBit = false
147
	"\000", // flags2 [Reserved] = 00h
259 daniel-mar 148
 
149
	/* Filter Case 7: filterCaseProtectedTransparencyWithSelection [Layer with transparency editing disabled and a selection] */
472 daniel-mar 150
	"\001", // inputHandling [Preprocessing actions on the image data] = 01h (filterDataHandlingNone, in Filter Factory: 00h filterDataHandlingCantFilter)
151
	"\001", // outputHandling [Postprocessing actions on the image data] = 01h (filterDataHandlingNone, in Filter Factory: 00h filterDataHandlingCantFilter)
152
	"\003", // flags1 [Flags for how the filter case information should be treated] = 03h (in Filter Factory: 00h)
153
			//       1 PIFilterDontCopyToDestinationBit  = true (in Filter Factory: false)
154
			//       2 PIFilterWorksWithBlankDataBit     = true (in Filter Factory: false)
155
			//       4 PIFilterFiltersLayerMaskBit       = false
156
	        //       8 PIFilterWritesOutsideSelectionBit = false
157
	"\000", // flags2 [Reserved] = 00h