Subversion Repositories filter_foundry

Rev

Rev 210 | Rev 525 | Go to most recent revision | Only display areas with differences | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 210 Rev 317
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
#define VENDORID LC(8,B,I,M)
29
#define VENDORID LC(8,B,I,M)
30
#define NULLID 0L
30
#define NULLID 0L
31
 
31
 
32
/*	Dictionary (scripting) resource */
32
/* Dictionary (scripting) resource */
33
/* also see ui.h */
33
/* also see ui.h */
34
 
34
 
35
/*
35
/*
36
#define NO_REPLY		\
36
#define NO_REPLY \
37
	noReply,			\
37
	noReply, \
38
	"",					\
38
	"", \
39
	replyRequired,	singleItem,	notEnumerated,	notTightBindingFunction,	\
39
	replyRequired, singleItem, notEnumerated, notTightBindingFunction, \
40
	reserved,		reserved,	reserved,		reserved,					\
40
	reserved,      reserved,   reserved,      reserved,                \
41
	reserved,		reserved,	reserved,		reserved,					\
41
	reserved,      reserved,   reserved,      reserved,                \
42
	verbEvent,		reserved,	reserved,		reserved
42
	verbEvent,     reserved,   reserved,      reserved
43
#define IMAGE_DIRECT_PARAMETER	\
43
#define IMAGE_DIRECT_PARAMETER \
44
	typeImageReference,			\
44
	typeImageReference, \
45
	"",							\
45
	"", \
46
	flagsOptionalEnumeratedChangesDirect
46
	flagsOptionalEnumeratedChangesDirect
47
#define flagsOptionalEnumeratedChangesDirect	\
47
#define flagsOptionalEnumeratedChangesDirect \
48
	directParamOptional,	singleItem,	enumerated,	changesState,	\
48
	directParamOptional, singleItem, enumerated,    changesState, \
49
	reserved,				reserved,	reserved,	reserved,		\
49
	reserved,            reserved,   reserved,      reserved,     \
50
	reserved,				reserved,	reserved,	reserved,		\
50
	reserved,            reserved,   reserved,      reserved,     \
51
	reserved,				reserved,	reserved,	reserved
51
	reserved,            reserved,   reserved,      reserved
52
#define flagsSingleParameter					\
52
#define flagsSingleParameter \
53
	required,			singleItem,		notEnumerated,	reserved,	\
53
	required,            singleItem, notEnumerated, reserved,     \
54
	reserved,			reserved,		reserved,		reserved,	\
54
	reserved,            reserved,   reserved,      reserved,     \
55
	reserved,			reserved,		reserved,		reserved,	\
55
	reserved,            reserved,   reserved,      reserved,     \
56
	prepositionParam,	notFeminine,	notMasculine,	singular
56
	prepositionParam,    notFeminine,notMasculine,  singular
57
#define flagsSingleProperty						\
57
#define flagsSingleProperty \
58
	reserved,			singleItem,		notEnumerated,	readWrite,	\
58
	reserved,            singleItem, notEnumerated, readWrite,    \
59
	reserved,			reserved,		reserved,		reserved,	\
59
	reserved,            reserved,   reserved,      reserved,     \
60
	reserved,			reserved,		reserved,		reserved,	\
60
	reserved,            reserved,   reserved,      reserved,     \
61
	noApostrophe,		notFeminine,	notMasculine,	singular
61
	noApostrophe,        notFeminine,notMasculine,  singular
62
*/
62
*/
63
#define RC_NO_REPLY \
63
#define RC_NO_REPLY \
64
	LC(n,u,l,l),	/*noReply*/ \
64
	LC(n,u,l,l), /*noReply*/ \
65
	"\0", \
65
	"\0", \
66
	0x0000 /* 00 000 000 00 000 000 */
66
	0x0000 /* 00 000 000 00 000 000 */
67
#define RC_IMAGE_DIRECT_PARAM \
67
#define RC_IMAGE_DIRECT_PARAM \
68
	"RmI#"/*LC(#,I,m,R)*/,	/*typeImageReference; written as string because the Stringizing operator cannot handle '#' */ \
68
	"RmI#"/*LC(#,I,m,R)*/, /*typeImageReference; written as string because the Stringizing operator cannot handle '#' */ \
69
	"\0", \
69
	"\0", \
70
	0xB000 /* 10 110 000 00 000 000 */
70
	0xB000 /* 10 110 000 00 000 000 */
71
 
71
 
72
#define FLAGS_SINGLE_PROP	0x1000 /* 00 010 000 00 000 000 */
72
#define FLAGS_SINGLE_PROP       0x1000 /* 00 010 000 00 000 000 */
73
#define FLAGS_1_OPT_PARAM	0x8000 /* 10 000 000 00 000 000 */
73
#define FLAGS_1_OPT_PARAM       0x8000 /* 10 000 000 00 000 000 */
74
 
74
 
75
#define RC_typeChar			LC(T,E,X,T)
75
#define RC_typeChar             LC(T,E,X,T)
76
#define RC_typeInteger		LC(l,o,n,g)
76
#define RC_typeInteger          LC(l,o,n,g)
77
 
77
 
78
/* Nota Bene: UNLIKE the Macintosh format of the 'aete' resource,
78
/* Nota Bene: UNLIKE the Macintosh format of the 'aete' resource,
79
   the Windows resource does NOT have word alignment constraints
79
   the Windows resource does NOT have word alignment constraints
80
   after its embedded strings. */
80
   after its embedded strings. */
81
 
81
 
82
/* 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. */
82
/* 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. */
83
LANGUAGE LANG_NEUTRAL,SUBLANG_NEUTRAL
83
LANGUAGE LANG_NEUTRAL,SUBLANG_NEUTRAL
84
AETE_ID aete
84
AETE_ID aete
85
{
85
{
86
	// Attention! If you change something here, please also change it in make.c and scripting.r (Mac OS)
86
	// Attention! If you change something here, please also change it in make.c and scripting.r (Mac OS)
87
 
87
 
88
	0x0001, 		/* Reserved (for Photoshop) */
88
	0x0001,                       /* Reserved (for Photoshop) */
89
 
89
 
90
	"\1\0", english, roman,				/* aete version and language specifiers */
90
	"\1\0", english, roman,       /* aete version and language specifiers */
91
 
91
 
92
	1, /*suites*/
92
	1, /*suites*/
93
		"\014Telegraphics",				/* vendor suite name */
93
		"\014Telegraphics",   /* vendor suite name */
94
		"\0",							/* optional description */
94
		"\0",                 /* optional description */
95
		LC(t,E,L,E),					/* suite ID */
95
		LC(t,E,L,E),          /* suite ID */
96
		1,								/* suite code, must be 1. Attention: Filters like 'Pointillize' have set this to 0! */
96
		1,                    /* suite code, must be 1. Attention: Filters like 'Pointillize' have set this to 0! */
97
		1,								/* suite level, must be 1. Attention: Filters like 'Pointillize' have set this to 0! */
97
		1,                    /* suite level, must be 1. Attention: Filters like 'Pointillize' have set this to 0! */
98
 
98
 
99
		1, /*events*/					/* structure for filters */
99
		1, /*events*/         /* structure for filters */
100
 
100
 
101
			"\015FilterFoundry",		/* event name               */
101
			"\015FilterFoundry",       /* event name               */
102
			"\0",						/* event description        */
102
			"\0",                      /* event description        */
103
			LC(F,l,t,r),				/* event class              */
103
			LC(F,l,t,r),               /* event class              */
104
			LC(f,i,F,o),				/* event ID                 */
104
			LC(f,i,F,o),               /* event ID                 */
105
			RC_NO_REPLY,
105
			RC_NO_REPLY,
106
			RC_IMAGE_DIRECT_PARAM,
106
			RC_IMAGE_DIRECT_PARAM,
107
			12,
107
			12,
108
				/* Attention: AETE keys (xpr#, cTl#) must be equal in scripting.r, scripting.rc and scripting.c(getAeteKey)! */
108
				/* Attention: AETE keys (xpr#, cTl#) must be equal in scripting.r, scripting.rc and scripting.c(getAeteKey)! */
109
				"\001R", LC(x,p,r,R), RC_typeChar, "\024R channel expression", FLAGS_1_OPT_PARAM,
109
				"\001R", LC(x,p,r,R), RC_typeChar, "\024R channel expression", FLAGS_1_OPT_PARAM,
110
				"\001G", LC(x,p,r,G), RC_typeChar, "\024G channel expression", FLAGS_1_OPT_PARAM,
110
				"\001G", LC(x,p,r,G), RC_typeChar, "\024G channel expression", FLAGS_1_OPT_PARAM,
111
				"\001B", LC(x,p,r,B), RC_typeChar, "\024B channel expression", FLAGS_1_OPT_PARAM,
111
				"\001B", LC(x,p,r,B), RC_typeChar, "\024B channel expression", FLAGS_1_OPT_PARAM,
112
				"\001A", LC(x,p,r,A), RC_typeChar, "\024A channel expression", FLAGS_1_OPT_PARAM,
112
				"\001A", LC(x,p,r,A), RC_typeChar, "\024A channel expression", FLAGS_1_OPT_PARAM,
113
				"\004ctl0", LC(c,T,l,0), RC_typeInteger, "\016ctl(0) setting", FLAGS_1_OPT_PARAM,
113
				"\004ctl0", LC(c,T,l,0), RC_typeInteger, "\016ctl(0) setting", FLAGS_1_OPT_PARAM,
114
				"\004ctl1", LC(c,T,l,1), RC_typeInteger, "\016ctl(1) setting", FLAGS_1_OPT_PARAM,
114
				"\004ctl1", LC(c,T,l,1), RC_typeInteger, "\016ctl(1) setting", FLAGS_1_OPT_PARAM,
115
				"\004ctl2", LC(c,T,l,2), RC_typeInteger, "\016ctl(2) setting", FLAGS_1_OPT_PARAM,
115
				"\004ctl2", LC(c,T,l,2), RC_typeInteger, "\016ctl(2) setting", FLAGS_1_OPT_PARAM,
116
				"\004ctl3", LC(c,T,l,3), RC_typeInteger, "\016ctl(3) setting", FLAGS_1_OPT_PARAM,
116
				"\004ctl3", LC(c,T,l,3), RC_typeInteger, "\016ctl(3) setting", FLAGS_1_OPT_PARAM,
117
				"\004ctl4", LC(c,T,l,4), RC_typeInteger, "\016ctl(4) setting", FLAGS_1_OPT_PARAM,
117
				"\004ctl4", LC(c,T,l,4), RC_typeInteger, "\016ctl(4) setting", FLAGS_1_OPT_PARAM,
118
				"\004ctl5", LC(c,T,l,5), RC_typeInteger, "\016ctl(5) setting", FLAGS_1_OPT_PARAM,
118
				"\004ctl5", LC(c,T,l,5), RC_typeInteger, "\016ctl(5) setting", FLAGS_1_OPT_PARAM,
119
				"\004ctl6", LC(c,T,l,6), RC_typeInteger, "\016ctl(6) setting", FLAGS_1_OPT_PARAM,
119
				"\004ctl6", LC(c,T,l,6), RC_typeInteger, "\016ctl(6) setting", FLAGS_1_OPT_PARAM,
120
				"\004ctl7", LC(c,T,l,7), RC_typeInteger, "\016ctl(7) setting", FLAGS_1_OPT_PARAM,
120
				"\004ctl7", LC(c,T,l,7), RC_typeInteger, "\016ctl(7) setting", FLAGS_1_OPT_PARAM,
121
 
121
 
122
		0, /*classes*/					/* non-filter plug-in class here */
122
		0, /* classes (non-filter plug-in class here) */
123
 
123
 
124
		0, /* comparison ops (not supported) */
124
		0, /* comparison ops (not supported) */
125
 
125
 
126
		0, /* any enumerations */
126
		0, /* any enumerations */
127
 
127
 
128
	0L /* padding */
128
	0L /* padding */
129
}
129
}