summaryrefslogtreecommitdiffstats
path: root/server/tree.h
diff options
context:
space:
mode:
Diffstat (limited to 'server/tree.h')
-rw-r--r--server/tree.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/server/tree.h b/server/tree.h
index 82f9ce3b..6e83f7a8 100644
--- a/server/tree.h
+++ b/server/tree.h
@@ -52,11 +52,17 @@ struct Shadow {
DrawItem* owner;
};
+#define IS_SHADOW(item) ((item)->type == TREE_ITEM_TYPE_SHADOW)
+#define SHADOW(item) ((Shadow*)(item))
+
struct Container {
TreeItem base;
Ring items;
};
+#define IS_CONTAINER(item) ((item)->type == TREE_ITEM_TYPE_CONTAINER)
+#define CONTAINER(item) ((Container*)(item))
+
struct DrawItem {
TreeItem base;
uint8_t effect;
@@ -65,7 +71,10 @@ struct DrawItem {
};
#define IS_DRAW_ITEM(item) ((item)->type == TREE_ITEM_TYPE_DRAWABLE)
+#define DRAW_ITEM(item) ((DrawItem*)(item))
void tree_item_dump (TreeItem *item);
+Shadow* shadow_new (DrawItem *item, const SpicePoint *delta);
+Container* container_new (DrawItem *item);
#endif /* TREE_H_ */