Rev 514 | Rev 517 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed
/*
This file is part of "Filter Foundry", a filter plugin for Adobe Photoshop
Copyright (C) 2003-2009 Toby Thain, toby@telegraphics.com.au
Copyright (C) 2018-2022 Daniel Marschall, ViaThinkSoft
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
// This RC file is for Windows only.
// The PiPL_body contains the properties which are added to PIPL and TPLT (PIPL-Template).
// PIPL will additionally receive name, catg and hstm
// Attention: This file may only contain 8 properties. If this number changes,
// please also change PiPL.rc
/* Filter module */
VENDORID, LC(k,i,n,d), NULLID, 4L, LC(8,B,F,M),
/* Version Number */
VENDORID, LC(v,e,r,s), NULLID, 4L, latestFilterSubVersion, latestFilterVersion,
#ifndef doesSupportBitmap
#define doesSupportBitmap flagSupportsBitmap
#define doesSupportGrayScale flagSupportsGrayScale
#define doesSupportIndexedColor flagSupportsIndexedColor
#define doesSupportRGBColor flagSupportsRGBColor
#define doesSupportCMYKColor flagSupportsCMYKColor
#define doesSupportHSLColor flagSupportsHSLColor
#define doesSupportHSBColor flagSupportsHSBColor
#define doesSupportMultichannel flagSupportsMultichannel
#define doesSupportDuotone 32768 // (flagSupportsDuotone << 8) RC doesn't know <<8, nor *256 !
#define doesSupportLABColor 16384 // (flagSupportsLABColor << 8) RC doesn't know <<8, nor *256 !
#endif
/* Supported modes */
/* Second byte: */
VENDORID, LC(m,o,d,e), NULLID, 4L, /* First byte: */ /*doesSupportBitmap|*/
doesSupportGrayScale|
doesSupportIndexedColor|
doesSupportRGBColor|
doesSupportCMYKColor|
doesSupportHSLColor|
doesSupportHSBColor|
doesSupportMultichannel|
/* Second byte: */ doesSupportDuotone|
doesSupportLABColor,
/* 3rd & 4th byte: */ 0,
/* We need this to enable the plugin for BigDocuments */
VENDORID, LC(m,s,3,2), NULLID, 8L, 2000000L, 2000000L,
/* Required host (' ' = any) */
/* Commented out, because there is a risk that a badly programmed host will think that ' '!='8BIM' and doesn't load the plugin then?!*/
//VENDORID, LC(h,o,s,t), NULLID, 4L, 0x20202020L,
/* "FilterLayerSupport" (Allows smart filters) */
/* TODO: It seems to work, but are we really fully supporting Smart Filters?! */
VENDORID, LC(f,l,l,y), NULLID, 4L, 0x80L,
/* Enable info */
/* Note: Length 136 must be divisible by 4 */
/* "Plug-in Resource Guide.pdf", pages 61-62 */
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",
/* Object Identifier attribute */
/* Note that 'ViaT' is not a official creator code for ViaThinkSoft and it is unclear where a creator code can be aquired from... */
/* TODO: In the future, create individual OIDs for standalone filters, i.e. via hash */
/* Note: Length 24 must be divisible by 4 */
LC(V,i,a,T), LC(O,b,I,d), NULLID, 24L, "1.3.6.1.4.1.37476.2.72\0\0",
/* MonitorScalingAware */
/* TODO: Do we support it? For now, commented out */
//VENDORID, LC(p,m,s,a), NULLID, 4L, 1L,
/* FilterCaseInfo - in all cases:
inStraightData,
outStraightData,
doNotWriteOutsideSelection,
doesNotFilterLayerMasks,
worksWithBlankData,
doNotCopySourceToDestination */
VENDORID, LC(f,i,c,i), NULLID, 28L,
/* Filter Case 1: filterCaseFlatImageNoSelection [A background layer or a flat image] */
"\001", // inputHandling [Preprocessing actions on the image data] = 01h (filterDataHandlingNone)
"\001", // outputHandling [Postprocessing actions on the image data] = 01h (filterDataHandlingNone)
"\003", // flags1 [Flags for how the filter case information should be treated] = 03h (in Filter Factory: 00h)
// 1 PIFilterDontCopyToDestinationBit = true (in Filter Factory: false)
// 2 PIFilterWorksWithBlankDataBit = true (in Filter Factory: false)
// 4 PIFilterFiltersLayerMaskBit = false
// 8 PIFilterWritesOutsideSelectionBit = false
"\000", // flags2 [Reserved] = 00h
/* Filter Case 2: filterCaseFlatImageWithSelection [No transparency data, but a selection may be present] */
"\001", // inputHandling [Preprocessing actions on the image data] = 01h (filterDataHandlingNone)
"\001", // outputHandling [Postprocessing actions on the image data] = 01h (filterDataHandlingNone)
"\003", // flags1 [Flags for how the filter case information should be treated] = 03h (in Filter Factory: 00h)
// 1 PIFilterDontCopyToDestinationBit = true (in Filter Factory: false)
// 2 PIFilterWorksWithBlankDataBit = true (in Filter Factory: false)
// 4 PIFilterFiltersLayerMaskBit = false
// 8 PIFilterWritesOutsideSelectionBit = false
"\000", // flags2 [Reserved] = 00h
/* Filter Case 3: filterCaseFloatingSelection [Image data with an accompanying mask] */
"\001", // inputHandling [Preprocessing actions on the image data] = 01h (filterDataHandlingNone, in Filter Factory: 0Ah filterDataHandlingBackgroundZap)
"\001", // outputHandling [Postprocessing actions on the image data] = 01h (filterDataHandlingNone)
"\003", // flags1 [Flags for how the filter case information should be treated] = 03h (in Filter Factory: 00h)
// 1 PIFilterDontCopyToDestinationBit = true (in Filter Factory: false)
// 2 PIFilterWorksWithBlankDataBit = true (in Filter Factory: false)
// 4 PIFilterFiltersLayerMaskBit = false
// 8 PIFilterWritesOutsideSelectionBit = false
"\000", // flags2 [Reserved] = 00h
/* Filter Case 4: filterCaseEditableTransparencyNoSelection [Layer with transparency editing enabled and no selection] */
"\001", // inputHandling [Preprocessing actions on the image data] = 01h (filterDataHandlingNone, in Filter Factory: 0Ah filterDataHandlingBackgroundZap)
"\001", // outputHandling [Postprocessing actions on the image data] = 01h (filterDataHandlingNone)
"\003", // flags1 [Flags for how the filter case information should be treated] = 03h (in Filter Factory: 02h)
// 1 PIFilterDontCopyToDestinationBit = true (in Filter Factory: false)
// 2 PIFilterWorksWithBlankDataBit = true
// 4 PIFilterFiltersLayerMaskBit = false
// 8 PIFilterWritesOutsideSelectionBit = false
"\000", // flags2 [Reserved] = 00h
/* Filter Case 5: filterCaseEditableTransparencyWithSelection [Layer with transparency editing enabled and a selection] */
"\001", // inputHandling [Preprocessing actions on the image data] = 01h (filterDataHandlingNone, in Filter Factory: 0Ah filterDataHandlingBackgroundZap)
"\001", // outputHandling [Postprocessing actions on the image data] = 01h (filterDataHandlingNone)
"\003", // flags1 [Flags for how the filter case information should be treated] = 03h (in Filter Factory: 02h)
// 1 PIFilterDontCopyToDestinationBit = true (in Filter Factory: false)
// 2 PIFilterWorksWithBlankDataBit = true
// 4 PIFilterFiltersLayerMaskBit = false
// 8 PIFilterWritesOutsideSelectionBit = false
"\000", // flags2 [Reserved] = 00h
/* Filter Case 6: filterCaseProtectedTransparencyNoSelection [Layer with transparency editing disabled and no selection] */
"\001", // inputHandling [Preprocessing actions on the image data] = 01h (filterDataHandlingNone, in Filter Factory: 00h filterDataHandlingCantFilter)
"\001", // outputHandling [Postprocessing actions on the image data] = 01h (filterDataHandlingNone, in Filter Factory: 00h filterDataHandlingCantFilter)
"\003", // flags1 [Flags for how the filter case information should be treated] = 03h (in Filter Factory: 00h)
// 1 PIFilterDontCopyToDestinationBit = true (in Filter Factory: false)
// 2 PIFilterWorksWithBlankDataBit = true (in Filter Factory: false)
// 4 PIFilterFiltersLayerMaskBit = false
// 8 PIFilterWritesOutsideSelectionBit = false
"\000", // flags2 [Reserved] = 00h
/* Filter Case 7: filterCaseProtectedTransparencyWithSelection [Layer with transparency editing disabled and a selection] */
"\001", // inputHandling [Preprocessing actions on the image data] = 01h (filterDataHandlingNone, in Filter Factory: 00h filterDataHandlingCantFilter)
"\001", // outputHandling [Postprocessing actions on the image data] = 01h (filterDataHandlingNone, in Filter Factory: 00h filterDataHandlingCantFilter)
"\003", // flags1 [Flags for how the filter case information should be treated] = 03h (in Filter Factory: 00h)
// 1 PIFilterDontCopyToDestinationBit = true (in Filter Factory: false)
// 2 PIFilterWorksWithBlankDataBit = true (in Filter Factory: false)
// 4 PIFilterFiltersLayerMaskBit = false
// 8 PIFilterWritesOutsideSelectionBit = false
"\000", // flags2 [Reserved] = 00h