diff options
author | Jeroen Bakker <j.bakker@atmind.nl> | 2013-12-09 00:53:35 +0400 |
---|---|---|
committer | Jeroen Bakker <j.bakker@atmind.nl> | 2013-12-09 23:22:16 +0400 |
commit | 4332cd16fb2b1dd6f83f73232d92d037b69f3f42 (patch) | |
tree | 864a94ed851ec7702366a6db3e0daac4d32e88ac | |
parent | 6c83d92d5827c94672a5b8240cfd27550945afc2 (diff) |
Compositor node preview:
moved the hide preview logic to a method on bNodeTreeType. This way the node.c keeps clean, but logic could still be shared.
Implementing this per node, can lead to future errors.
-rw-r--r-- | source/blender/blenkernel/BKE_blender.h | 2 | ||||
-rw-r--r-- | source/blender/blenkernel/BKE_node.h | 2 | ||||
-rw-r--r-- | source/blender/blenkernel/intern/node.c | 12 | ||||
-rw-r--r-- | source/blender/nodes/composite/node_composite_tree.c | 10 |
4 files changed, 17 insertions, 9 deletions
diff --git a/source/blender/blenkernel/BKE_blender.h b/source/blender/blenkernel/BKE_blender.h index aa6932a42a0..d1e95097009 100644 --- a/source/blender/blenkernel/BKE_blender.h +++ b/source/blender/blenkernel/BKE_blender.h @@ -42,7 +42,7 @@ extern "C" { * and keep comment above the defines. * Use STRINGIFY() rather than defining with quotes */ #define BLENDER_VERSION 269 -#define BLENDER_SUBVERSION 5 +#define BLENDER_SUBVERSION 6 /* 262 was the last editmesh release but it has compatibility code for bmesh data */ #define BLENDER_MINVERSION 262 #define BLENDER_MINSUBVERSION 0 diff --git a/source/blender/blenkernel/BKE_node.h b/source/blender/blenkernel/BKE_node.h index eda905a263f..28a4a30fa91 100644 --- a/source/blender/blenkernel/BKE_node.h +++ b/source/blender/blenkernel/BKE_node.h @@ -306,6 +306,8 @@ typedef struct bNodeTreeType { void (*update)(struct bNodeTree *ntree); int (*validate_link)(struct bNodeTree *ntree, struct bNodeLink *link); + + void (*node_add_init)(struct bNodeTree *ntree, struct bNode *bnode); /* RNA integration */ ExtensionRNA ext; diff --git a/source/blender/blenkernel/intern/node.c b/source/blender/blenkernel/intern/node.c index 147e7909322..85354e4e0d7 100644 --- a/source/blender/blenkernel/intern/node.c +++ b/source/blender/blenkernel/intern/node.c @@ -134,16 +134,12 @@ static void node_init(const struct bContext *C, bNodeTree *ntree, bNode *node) node_add_sockets_from_type(ntree, node, ntype); - /* Composite node will only show previews for input classes - * by default, other will be hidden - * but can be made visible with the show_preview option */ - if (ntree->typeinfo->type == NTREE_COMPOSIT && ntype->nclass != NODE_CLASS_INPUT) { - node->flag &= ~NODE_PREVIEW; - } - if (ntype->initfunc != NULL) ntype->initfunc(ntree, node); - + + if (ntree->typeinfo->node_add_init != NULL) + ntree->typeinfo->node_add_init(ntree, node); + /* extra init callback */ if (ntype->initfunc_api) { PointerRNA ptr; diff --git a/source/blender/nodes/composite/node_composite_tree.c b/source/blender/nodes/composite/node_composite_tree.c index 31ae46468c3..7da3a35dba0 100644 --- a/source/blender/nodes/composite/node_composite_tree.c +++ b/source/blender/nodes/composite/node_composite_tree.c @@ -218,6 +218,15 @@ static void update(bNodeTree *ntree) } } +static void composite_node_add_init(bNodeTree *UNUSED(bnodetree), bNode *bnode) { + /* Composite node will only show previews for input classes + * by default, other will be hidden + * but can be made visible with the show_preview option */ + if (bnode->typeinfo->nclass != NODE_CLASS_INPUT) { + bnode->flag &= ~NODE_PREVIEW; + } +} + bNodeTreeType *ntreeType_Composite; void register_node_tree_type_cmp(void) @@ -238,6 +247,7 @@ void register_node_tree_type_cmp(void) tt->local_merge = local_merge; tt->update = update; tt->get_from_context = composite_get_from_context; + tt->node_add_init = composite_node_add_init; tt->ext.srna = &RNA_CompositorNodeTree; |