summaryrefslogtreecommitdiff
path: root/src/op.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/op.h')
-rw-r--r--src/op.h72
1 files changed, 72 insertions, 0 deletions
diff --git a/src/op.h b/src/op.h
new file mode 100644
index 0000000..1231552
--- /dev/null
+++ b/src/op.h
@@ -0,0 +1,72 @@
+#ifndef ANIMTOOL_OP_H_
+#define ANIMTOOL_OP_H_
+
+#include "util/str.h"
+
+enum op_category
+{
+ OPC_COMMAND,
+ OPC_EXPR,
+ OPC_NODE,
+ OPC_TRANSFORM,
+ OPC_SURFACE,
+ OPC_SEQ,
+ OPC_REP,
+ OPC_PROJ,
+ OPC_CAMERA,
+ OPC_POS,
+};
+
+#define OP_TYPES(X) \
+ X("var", VAR, COMMAND) \
+ X("fps", FPS, COMMAND) \
+ X("size", SIZE, COMMAND) \
+ X("seq", SEQ, COMMAND) \
+ X("proj", PROJ, COMMAND) \
+ X("bg", BG, COMMAND) \
+ X("out", OUT, COMMAND) \
+ X("scene", SCENE, COMMAND) \
+ X("+", ADD, EXPR) \
+ X("-", SUB, EXPR) \
+ X("*", MUL, EXPR) \
+ X("/", DIV, EXPR) \
+ X("%", MOD, EXPR) \
+ X("abs", ABS, EXPR) \
+ X("min", MIN, EXPR) \
+ X("max", MAX, EXPR) \
+ X("clamp", CLAMP, EXPR) \
+ X("mix", MIX, EXPR) \
+ X("rgb", RGB, EXPR) \
+ X("time", TIME, EXPR) \
+ X("cube", CUBE, NODE) \
+ X("obj", OBJ, NODE) \
+ X("bone", BONE, NODE) \
+ X("camera", CAMERA, NODE) \
+ X("light", LIGHT, NODE) \
+ X("trans", TRANSFORM, NODE) \
+ X("t", TRANSLATE, TRANSFORM) \
+ X("s", SCALE, TRANSFORM) \
+ X("r", ROTATE, TRANSFORM) \
+ X("texture", TEXTURE, SURFACE) \
+ X("cubemap", CUBEMAP, SURFACE) \
+ X("color", COLOR, SURFACE) \
+ X("pov", POV, SEQ) \
+ X("rep", REP, SEQ) \
+ X("inf", INF, REP) \
+ X("fov", FOV, PROJ) \
+ X("planes", PLANES, PROJ) \
+ X("roll", ROLL, CAMERA) \
+ X("pos", POS, POS) \
+ X("attach", ATTACH, POS)
+
+enum op_type
+{
+#define OP_TYPE_SYM(name, sym, cat) OP_##sym,
+ OP_TYPES(OP_TYPE_SYM)
+#undef OP_TYPE_SYM
+};
+
+extern enum op_category op_category_tab[];
+extern str op_name_tab[];
+
+#endif