Subversion Repositories filter_foundry

Rev

Rev 192 | Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
186 dmarschall 1
/*
2
    This file is part of "Filter Foundry", a filter plugin for Adobe Photoshop
3
    Copyright (C) 2003-2019 Toby Thain, toby@telegraphics.com.au
4
 
5
    This program is free software; you can redistribute it and/or modify
6
    it under the terms of the GNU General Public License as published by
7
    the Free Software Foundation; either version 2 of the License, or
8
    (at your option) any later version.
9
 
10
    This program is distributed in the hope that it will be useful,
11
    but WITHOUT ANY WARRANTY; without even the implied warranty of
12
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13
    GNU General Public License for more details.
14
 
15
    You should have received a copy of the GNU General Public License
16
    along with this program; if not, write to the Free Software
17
    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
18
*/
19
 
20
#include "PIResDefines.h"
21
#include "PIActions.h"
22
 
23
#include "ui.h"
24
#include "version.h"
25
 
26
#define LC(a,b,c,d)		#d, #c, #b, #a
27
 
28
#define VENDORID LC(8,B,I,M)
29
#define NULLID 0L
30
 
31
/*	Dictionary (scripting) resource */
32
/* also see ui.h */
33
 
34
/*
35
#define NO_REPLY		\
36
	noReply,			\
37
	"",					\
38
	replyRequired,	singleItem,	notEnumerated,	notTightBindingFunction,	\
39
	reserved,		reserved,	reserved,		reserved,					\
40
	reserved,		reserved,	reserved,		reserved,					\
41
	verbEvent,		reserved,	reserved,		reserved
42
#define IMAGE_DIRECT_PARAMETER	\
43
	typeImageReference,			\
44
	"",							\
45
	flagsOptionalEnumeratedChangesDirect
46
#define flagsOptionalEnumeratedChangesDirect	\
47
	directParamOptional,	singleItem,	enumerated,	changesState,	\
48
	reserved,				reserved,	reserved,	reserved,		\
49
	reserved,				reserved,	reserved,	reserved,		\
50
	reserved,				reserved,	reserved,	reserved
51
#define flagsSingleParameter					\
52
	required,			singleItem,		notEnumerated,	reserved,	\
53
	reserved,			reserved,		reserved,		reserved,	\
54
	reserved,			reserved,		reserved,		reserved,	\
55
	prepositionParam,	notFeminine,	notMasculine,	singular
56
#define flagsSingleProperty						\
57
	reserved,			singleItem,		notEnumerated,	readWrite,	\
58
	reserved,			reserved,		reserved,		reserved,	\
59
	reserved,			reserved,		reserved,		reserved,	\
60
	noApostrophe,		notFeminine,	notMasculine,	singular
61
*/
62
#define RC_NO_REPLY \
63
	LC(n,u,l,l),	/*noReply*/ \
64
	"\0", \
65
	0x0000 /* 00 000 000 00 000 000 */
66
#define RC_IMAGE_DIRECT_PARAM \
67
	"RmI#"/*LC(#,I,m,R)*/,	/*typeImageReference; written as string because the Stringizing operator cannot handle '#' */ \
68
	"\0", \
69
	0xB000 /* 10 110 000 00 000 000 */
70
 
71
#define FLAGS_SINGLE_PROP	0x1000 /* 00 010 000 00 000 000 */
72
#define FLAGS_1_OPT_PARAM	0x8000 /* 10 000 000 00 000 000 */
73
 
74
#define RC_typeChar			LC(T,E,X,T)
75
#define RC_typeInteger		LC(l,o,n,g)
76
 
77
/* Nota Bene: UNLIKE the Macintosh format of the 'aete' resource,
78
   the Windows resource does NOT have word alignment constraints
79
   after its embedded strings. */
80
 
81
/* 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
LANGUAGE LANG_NEUTRAL,SUBLANG_NEUTRAL
83
AETE_ID aete
84
{
85
	// Attention! If you change something here, please also change it in make.c and scripting.r (Mac OS)
86
 
87
	0x0001, 		/* Reserved (for Photoshop) */
88
 
89
	"\1\0", english, roman,				/* aete version and language specifiers */
90
 
91
	1, /*suites*/
92
		"\014Telegraphics",				/* vendor suite name */
93
		"\0",							/* optional description */
94
		LC(t,E,L,E),					/* suite ID */
95
		1,								/* suite code, must be 1. Attention: Filters like 'Pointillize' have set this to 0! */
96
		1,								/* suite level, must be 1. Attention: Filters like 'Pointillize' have set this to 0! */
97
 
98
		1, /*events*/					/* structure for filters */
99
 
100
			"\015FilterFoundry",		/* event name               */
101
			"\0",						/* event description        */
102
			LC(F,l,t,r),				/* event class              */
103
			LC(f,i,F,o),				/* event ID                 */
104
			RC_NO_REPLY,
105
			RC_IMAGE_DIRECT_PARAM,
106
			12,
107
				"\001R", LC(x,p,r,R), RC_typeChar, "\024R channel expression", FLAGS_1_OPT_PARAM,
108
				"\001G", LC(x,p,r,G), RC_typeChar, "\024G channel expression", FLAGS_1_OPT_PARAM,
109
				"\001B", LC(x,p,r,B), RC_typeChar, "\024B channel expression", FLAGS_1_OPT_PARAM,
110
				"\001A", LC(x,p,r,A), RC_typeChar, "\024A channel expression", FLAGS_1_OPT_PARAM,
111
				"\004ctl0", LC(c,T,l,0), RC_typeInteger, "\016ctl(0) setting", FLAGS_1_OPT_PARAM,
112
				"\004ctl1", LC(c,T,l,1), RC_typeInteger, "\016ctl(1) setting", FLAGS_1_OPT_PARAM,
113
				"\004ctl2", LC(c,T,l,2), RC_typeInteger, "\016ctl(2) setting", FLAGS_1_OPT_PARAM,
114
				"\004ctl3", LC(c,T,l,3), RC_typeInteger, "\016ctl(3) setting", FLAGS_1_OPT_PARAM,
115
				"\004ctl4", LC(c,T,l,4), RC_typeInteger, "\016ctl(4) setting", FLAGS_1_OPT_PARAM,
116
				"\004ctl5", LC(c,T,l,5), RC_typeInteger, "\016ctl(5) setting", FLAGS_1_OPT_PARAM,
117
				"\004ctl6", LC(c,T,l,6), RC_typeInteger, "\016ctl(6) setting", FLAGS_1_OPT_PARAM,
118
				"\004ctl7", LC(c,T,l,7), RC_typeInteger, "\016ctl(7) setting", FLAGS_1_OPT_PARAM,
119
 
120
		0, /*classes*/					/* non-filter plug-in class here */
121
 
122
		0, /* comparison ops (not supported) */
123
 
124
		0, /* any enumerations */
125
 
126
	0L /* padding */
127
}