Subversion Repositories filter_foundry

Rev

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