Rev 525 | Go to most recent revision | Only display areas with differences | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 525 | Rev 526 | ||
---|---|---|---|
1 | /* |
1 | /* |
2 | This file is part of "Filter Foundry", a filter plugin for Adobe Photoshop |
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 |
3 | Copyright (C) 2003-2009 Toby Thain, toby@telegraphics.com.au |
4 | Copyright (C) 2018-2021 Daniel Marschall, ViaThinkSoft |
4 | Copyright (C) 2018-2021 Daniel Marschall, ViaThinkSoft |
5 | 5 | ||
6 | This program is free software; you can redistribute it and/or modify |
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 |
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 |
8 | the Free Software Foundation; either version 2 of the License, or |
9 | (at your option) any later version. |
9 | (at your option) any later version. |
10 | 10 | ||
11 | This program is distributed in the hope that it will be useful, |
11 | This program is distributed in the hope that it will be useful, |
12 | but WITHOUT ANY WARRANTY; without even the implied warranty of |
12 | but WITHOUT ANY WARRANTY; without even the implied warranty of |
13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
14 | GNU General Public License for more details. |
14 | GNU General Public License for more details. |
15 | 15 | ||
16 | You should have received a copy of the GNU General Public License |
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 |
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 |
18 | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
19 | */ |
19 | */ |
20 | 20 | ||
21 | #include "PIResDefines.h" |
21 | #include "PIResDefines.h" |
22 | #include "PIActions.h" |
22 | #include "PIActions.h" |
23 | 23 | ||
24 | #include "ui.h" |
24 | #include "ui.h" |
25 | #include "version.h" |
25 | #include "version.h" |
26 | 26 | ||
27 | #define LC(a,b,c,d) #d, #c, #b, #a |
27 | #define LC(a,b,c,d) #d, #c, #b, #a |
28 | 28 | ||
29 | /* 8BIM = Adobe Photoshop */ |
29 | /* 8BIM = Adobe Photoshop */ |
30 | #define VENDORID LC(8,B,I,M) |
30 | #define VENDORID LC(8,B,I,M) |
31 | 31 | ||
32 | #define NULLID 0L |
32 | #define NULLID 0L |
33 | 33 | ||
34 | #define doesSupportBitmap 128 // flagSupportsBitmap |
34 | #define doesSupportBitmap 128 // flagSupportsBitmap |
35 | #define doesSupportGrayScale 64 // flagSupportsGrayScale |
35 | #define doesSupportGrayScale 64 // flagSupportsGrayScale |
36 | #define doesSupportIndexedColor 32 // flagSupportsIndexedColor |
36 | #define doesSupportIndexedColor 32 // flagSupportsIndexedColor |
37 | #define doesSupportRGBColor 16 // flagSupportsRGBColor |
37 | #define doesSupportRGBColor 16 // flagSupportsRGBColor |
38 | #define doesSupportCMYKColor 8 // flagSupportsCMYKColor |
38 | #define doesSupportCMYKColor 8 // flagSupportsCMYKColor |
39 | #define doesSupportHSLColor 4 // flagSupportsHSLColor |
39 | #define doesSupportHSLColor 4 // flagSupportsHSLColor |
40 | #define doesSupportHSBColor 2 // flagSupportsHSBColor |
40 | #define doesSupportHSBColor 2 // flagSupportsHSBColor |
41 | #define doesSupportMultichannel 1 // flagSupportsMultichannel |
41 | #define doesSupportMultichannel 1 // flagSupportsMultichannel |
42 | #define doesSupportDuotone 32768 // (flagSupportsDuotone << 8) RC doesn't know <<8, nor *256 ! |
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 ! |
43 | #define doesSupportLABColor 16384 // (flagSupportsLABColor << 8) RC doesn't know <<8, nor *256 ! |
44 | 44 | ||
45 | /* Note: make_win.c writes language 0. So, this should be language 0, too, |
45 | /* Note: make_win.c writes language 0. So, this should be language 0, too, |
46 | otherwise the standalone filter would have 2 languages for this resource. */ |
46 | otherwise the standalone filter would have 2 languages for this resource. */ |
47 | LANGUAGE LANG_NEUTRAL,SUBLANG_NEUTRAL |
47 | LANGUAGE LANG_NEUTRAL,SUBLANG_NEUTRAL |
48 | 16000 PIPL DISCARDABLE |
48 | 16000 PIPL DISCARDABLE |
49 | BEGIN |
49 | BEGIN |
50 | 0x0001, /* Reserved (for Photoshop) */ |
50 | 0x0001, /* Reserved (for Photoshop) */ |
51 | 0L, /* kCurrentPiPLVersion */ |
51 | 0L, /* kCurrentPiPLVersion */ |
52 | 14L, /* Property Count */ |
52 | 14L, /* Property Count */ |
53 | 53 | ||
54 | VENDORID, LC(c,a,t,g), NULLID, 16L, "\014Telegraphics\0\0\0", /* PString */ |
54 | VENDORID, LC(c,a,t,g), NULLID, 16L, "\014Telegraphics\0\0\0", /* PString */ |
55 | VENDORID, LC(n,a,m,e), NULLID, 20L, "\021Filter Foundry...\0\0", /* PString */ |
55 | VENDORID, LC(n,a,m,e), NULLID, 20L, "\021Filter Foundry...\0\0", /* PString */ |
56 | 56 | ||
57 | /* "Component". Values taken from Clouds.8BF */ |
57 | /* Component { MainComponentVersion, "Filter Foundry" }, */ |
58 | /* Note: Length 20 must be divisible by 4 */ |
58 | /* Note: Length 20 must be divisible by 4 */ |
59 | VENDORID, LC(c,m,p,t), NULLID, 20L, MainComponentVersion, "Filter Foundry\0\0", |
59 | VENDORID, LC(c,m,p,t), NULLID, 20L, MainComponentVersion, "Filter Foundry\0\0", /* CString */ |
60 | 60 | ||
61 | /* HasTerminology { plugInClassID, plugInEventID, AETE_ID, vendorName " " plugInName }, */ |
61 | /* HasTerminology { plugInClassID, plugInEventID, AETE_ID, "" }, */ |
62 | VENDORID, LC(h,s,t,m), NULLID, 16L, /* = 3*4 + 2 + sizeof(c string) + padding */ |
62 | VENDORID, LC(h,s,t,m), NULLID, 16L, /* = 3*4 + 2 + sizeof(c string) + padding */ |
63 | 0L, /* version */ |
63 | 0L, /* version */ |
64 | LC(F,l,t,r), /* Class ID, always required. Must be eventFilter='Fltr' to show up in "Actions" tab. */ |
64 | LC(F,l,t,r), /* Class ID, always required. Must be eventFilter='Fltr' to show up in "Actions" tab. (PITerminology.h:eventFilter) */ |
65 | LC(f,i,F,o), /* Event ID, or typeNULL if not Filter/Color Picker/Selection. */ |
65 | LC(f,i,F,o), /* Event ID, or typeNULL if not Filter/Color Picker/Selection. */ |
66 | AETE_ID, /* Dictionary ('AETE') resource ID. (only 2 bytes long!) */ |
66 | AETE_ID, /* Dictionary ('AETE') resource ID. (only 2 bytes long!) */ |
67 | /*"Telegraphics FilterFoundry\0\0\0\0"*/ |
67 | /*"Telegraphics FilterFoundry\0\0\0\0"*/ |
68 | /* Unique scope string, C format, long padded. If set, the plugin will only communicate with the host (Photoshop), not with AppleScript. */ |
68 | /* Unique scope string, C format, long padded. If set, the plugin will only communicate with the host (Photoshop), not with AppleScript. */ |
69 | /* Beginning with 1.7.0.2, we accept AppleScript, since the AETE keys are now randomly chosen for each standalone plugin. */ |
69 | /* Beginning with 1.7.0.2, we accept AppleScript, since the AETE keys are now randomly chosen for each standalone plugin. */ |
70 | "\0\0" |
70 | "\0\0" |
71 | 71 | ||
72 | #ifdef _WIN64 |
72 | #ifdef _WIN64 |
73 | VENDORID, LC(8,6,6,4), NULLID, 12L, "PluginMain\0\0", /* Entrypoint Name (Long Word padded C String) */ |
73 | VENDORID, LC(8,6,6,4), NULLID, 12L, "PluginMain\0\0", /* Entrypoint Name (Long Word padded C String) */ |
74 | #else |
74 | #else |
75 | VENDORID, LC(w,x,8,6), NULLID, 12L, "PluginMain\0\0", /* Entrypoint Name (Long Word padded C String) */ |
75 | VENDORID, LC(w,x,8,6), NULLID, 12L, "PluginMain\0\0", /* Entrypoint Name (Long Word padded C String) */ |
76 | #endif |
76 | #endif |
77 | 77 | ||
78 | // Here come 8 properties: kind, vers, prty, mode, ms32, flly, enbl, fici |
78 | // Here come 8 properties: kind, vers, prty, mode, ms32, flly, enbl, fici |
79 | #include "PiPL_body.rc" |
79 | #include "PiPL_body.rc" |
80 | 80 | ||
81 | /* Object Identifier attribute */ |
81 | /* Object Identifier attribute */ |
82 | /* Note that 'ViaT' is not a official creator code for ViaThinkSoft and it is unclear where a creator code can be aquired from... */ |
82 | /* Note that 'ViaT' is not an official creator code for ViaThinkSoft and it is unclear where a creator code can be aquired from... */ |
83 | /* Note: Length 24 must be divisible by 4 */ |
83 | /* Note: Length 24 must be divisible by 4 */ |
84 | LC(V,i,a,T), LC(O,b,I,d), NULLID, 24L, "1.3.6.1.4.1.37476.2.72\0\0", |
84 | LC(V,i,a,T), LC(O,b,I,d), NULLID, 24L, "1.3.6.1.4.1.37476.2.72\0\0", |
85 | END |
85 | END |
86 | 86 | ||
87 | LANGUAGE LANG_NEUTRAL,SUBLANG_NEUTRAL |
87 | LANGUAGE LANG_NEUTRAL,SUBLANG_NEUTRAL |
88 | 16032 TPLT DISCARDABLE |
88 | 16032 TPLT DISCARDABLE |
89 | BEGIN |
89 | BEGIN |
90 | 0x0001, /* Reserved (for Photoshop) */ |
90 | 0x0001, /* Reserved (for Photoshop) */ |
91 | 0L, /* kCurrentPiPLVersion */ |
91 | 0L, /* kCurrentPiPLVersion */ |
92 | 9L, /* Property Count */ |
92 | 9L, /* Property Count */ |
93 | VENDORID, LC(w,x,8,6), NULLID, 12L, "PluginMain\0\0", /* Entrypoint Name (Long Word padded C String) */ |
93 | VENDORID, LC(w,x,8,6), NULLID, 12L, "PluginMain\0\0", /* Entrypoint Name (Long Word padded C String) */ |
94 | 94 | ||
95 | // Here come 8 properties: kind, vers, prty, mode, ms32, flly, enbl, fici |
95 | // Here come 8 properties: kind, vers, prty, mode, ms32, flly, enbl, fici |
96 | #include "PiPL_body.rc" |
96 | #include "PiPL_body.rc" |
97 | END |
97 | END |
98 | 98 | ||
99 | LANGUAGE LANG_NEUTRAL,SUBLANG_NEUTRAL |
99 | LANGUAGE LANG_NEUTRAL,SUBLANG_NEUTRAL |
100 | 16064 TPLT DISCARDABLE |
100 | 16064 TPLT DISCARDABLE |
101 | BEGIN |
101 | BEGIN |
102 | 0x0001, /* Reserved (for Photoshop) */ |
102 | 0x0001, /* Reserved (for Photoshop) */ |
103 | 0L, /* kCurrentPiPLVersion */ |
103 | 0L, /* kCurrentPiPLVersion */ |
104 | 9L, /* Property Count */ |
104 | 9L, /* Property Count */ |
105 | VENDORID, LC(8,6,6,4), NULLID, 12L, "PluginMain\0\0", /* Entrypoint Name (Long Word padded C String) */ |
105 | VENDORID, LC(8,6,6,4), NULLID, 12L, "PluginMain\0\0", /* Entrypoint Name (Long Word padded C String) */ |
106 | 106 | ||
107 | // Here come 8 properties: kind, vers, prty, mode, ms32, flly, enbl, fici |
107 | // Here come 8 properties: kind, vers, prty, mode, ms32, flly, enbl, fici |
108 | #include "PiPL_body.rc" |
108 | #include "PiPL_body.rc" |
109 | END |
109 | END |