12 #ifndef __SHOP_Clerk__
13 #define __SHOP_Clerk__
37 static void installClerks();
48 const char *default_clerk,
const char*rendermask,
50 bool only_string_data,
bool accept_badmask =
false);
51 static SHOP_Clerk *getClerk(
const char *rendertype,
const char*rendermask,
53 bool accept_badmask =
false);
54 static SHOP_Clerk *getAnyClerk(
const char *rendermask,
56 bool only_string_generators);
60 static bool renderMatch(
const char *rendertype,
61 const char *rendermask,
62 bool accept_badmask=
false);
66 static void runCreateScript(
const char *node_path,
67 const char *render_mask,
SHOP_TYPE shader_type);
78 virtual const char *getRenderName()
const = 0;
79 virtual const char *getRenderLabel()
const;
80 virtual const char *getDefaultKeywords()
const;
82 virtual int getDialogScriptEnum(
SHOP_TYPE type)
const;
84 virtual bool generatesString()
const;
85 virtual bool requireAutoAdd(
SHOP_TYPE type)
const;
103 virtual bool buildOpShaderData(
OP_Node *node,
107 virtual bool buildOpShaderString(
OP_Node *node,
111 virtual bool buildOpShaderBounds(
OP_Node *node,
117 virtual bool buildShaderData(
SHOP_Node *shop,
123 virtual bool buildShaderString(
SHOP_Node *shop,
129 virtual bool buildShaderBounds(
SHOP_Node *shop,
138 virtual bool buildVopShaderString(
OP_Node *material,
163 virtual const char *getGeometryAttribute(
SHOP_TYPE shader_type)
const;
164 virtual const char *getGeometryIndirect(
SHOP_TYPE shader_type)
const;
167 virtual bool getIsVexClerk()
const;
171 virtual const char *getCreationScript(
SHOP_TYPE shader_type)
const;
174 virtual void buildShaderStart(
UT_String &str,
175 const char *shader_name,
177 virtual void buildShaderEnd(
UT_String &str,
178 const char *shader_name,
184 const char *parmname,
#define SYS_VISIBILITY_EXPORT
SYS_VISIBILITY_EXPORT void newShopClerk()
A map of string to various well defined value types.