Subversion Repositories filter_foundry

Rev

Rev 526 | 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-2021 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
*/

#include "PIResDefines.h"
#include "PIActions.h"

#include "ui.h"
#include "version.h"

#define LC(a,b,c,d) #d, #c, #b, #a

/* 8BIM = Adobe Photoshop */
#define VENDORID LC(8,B,I,M)

#define NULLID 0L

#define doesSupportBitmap           128 // flagSupportsBitmap
#define doesSupportGrayScale         64 // flagSupportsGrayScale
#define doesSupportIndexedColor      32 // flagSupportsIndexedColor
#define doesSupportRGBColor          16 // flagSupportsRGBColor
#define doesSupportCMYKColor          8 // flagSupportsCMYKColor
#define doesSupportHSLColor           4 // flagSupportsHSLColor
#define doesSupportHSBColor           2 // flagSupportsHSBColor
#define doesSupportMultichannel       1 // 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 !

/* Note: make_win.c writes language 0. So, this should be language 0, too,
   otherwise the standalone filter would have 2 languages for this resource. */
LANGUAGE LANG_NEUTRAL,SUBLANG_NEUTRAL
16000  PIPL  DISCARDABLE
BEGIN
        0x0001,     /* Reserved (for Photoshop) */
        0L,         /* kCurrentPiPLVersion */
        14L,        /* Property Count */

        VENDORID, LC(c,a,t,g), NULLID, 16L, "\014Telegraphics\0\0\0",    /* PString */
        VENDORID, LC(n,a,m,e), NULLID, 20L, "\021Filter Foundry...\0\0", /* PString */

        /* Component { MainComponentVersion, "Filter Foundry" }, */
        /* Note: Length 20 must be divisible by 4 */
        VENDORID, LC(c,m,p,t), NULLID, 20L, MainComponentVersion, "Filter Foundry\0\0", /* CString */

        /* HasTerminology { plugInClassID, plugInEventID, AETE_ID, ""  }, */
        VENDORID, LC(h,s,t,m), NULLID, 16L, /* = 3*4 + 2 + sizeof(c string) + padding */
        0L,                /* version */
        LC(F,l,t,r),       /* Class ID, always required.  Must be eventFilter='Fltr' to show up in "Actions" tab. (PITerminology.h:eventFilter) */
        LC(f,i,F,o),       /* Event ID, or typeNULL if not Filter/Color Picker/Selection. */
        AETE_ID,           /* Dictionary ('AETE') resource ID. (only 2 bytes long!) */
        /*"Telegraphics FilterFoundry\0\0\0\0"*/
        /* Unique scope string, C format, long padded. If set, the plugin will only communicate with the host (Photoshop), not with AppleScript. */
        /* Beginning with 1.7.0.2, we accept AppleScript, since the AETE keys are now randomly chosen for each standalone plugin. */
        "\0\0"

        #ifdef _WIN64
                VENDORID, LC(8,6,6,4), NULLID, 12L, "PluginMain\0\0",  /* Entrypoint Name (Long Word padded C String) */
        #else
                VENDORID, LC(w,x,8,6), NULLID, 12L, "PluginMain\0\0",  /* Entrypoint Name (Long Word padded C String) */
        #endif

        // Here come 8 properties: kind, vers, prty, mode, ms32, flly, enbl, fici
        #include "PiPL_body.rc"

        /* Object Identifier attribute */
        /* Note that 'ViaT' is not an official creator code for ViaThinkSoft and it is unclear where a creator code can be aquired from... */
        /* 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",
END

LANGUAGE LANG_NEUTRAL,SUBLANG_NEUTRAL
16032  TPLT  DISCARDABLE
BEGIN
        0x0001,       /* Reserved (for Photoshop) */
        0L,           /* kCurrentPiPLVersion */
        9L,           /* Property Count */
        VENDORID, LC(w,x,8,6), NULLID, 12L, "PluginMain\0\0",  /* Entrypoint Name (Long Word padded C String) */

        // Here come 8 properties: kind, vers, prty, mode, ms32, flly, enbl, fici
        #include "PiPL_body.rc"
END

LANGUAGE LANG_NEUTRAL,SUBLANG_NEUTRAL
16064  TPLT  DISCARDABLE
BEGIN
        0x0001,       /* Reserved (for Photoshop) */
        0L,           /* kCurrentPiPLVersion */
        9L,           /* Property Count */
        VENDORID, LC(8,6,6,4), NULLID, 12L, "PluginMain\0\0",  /* Entrypoint Name (Long Word padded C String) */

        // Here come 8 properties: kind, vers, prty, mode, ms32, flly, enbl, fici
        #include "PiPL_body.rc"
END