Subversion Repositories filter_foundry

Rev

Rev 519 | 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.net
    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,

/* Priority (0 = default) */
VENDORID, LC(p,r,t,y), NULLID, 4L, NULLID,

/* Supported modes */
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, ANY,

/* "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 116 must be divisible by 4 */
/* "Plug-in Resource Guide.pdf", pages 61-62 */
VENDORID, LC(e,n,b,l), NULLID, 116L, "in (PSHOP_ImageMode, GrayScaleMode, RGBMode, CMYKMode, HSLMode, HSBMode, MultichannelMode, DuotoneMode, LabMode)\0\0\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