[Bf-blender-cvs] [4332cd1] master: Compositor node preview:
Jeroen Bakker
noreply at git.blender.org
Mon Dec 9 20:22:52 CET 2013
Commit: 4332cd16fb2b1dd6f83f73232d92d037b69f3f42
Author: Jeroen Bakker
Date: Sun Dec 8 21:53:35 2013 +0100
http://developer.blender.org/rB4332cd16fb2b1dd6f83f73232d92d037b69f3f42
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.
===================================================================
M source/blender/blenkernel/BKE_blender.h
M source/blender/blenkernel/BKE_node.h
M source/blender/blenkernel/intern/node.c
M source/blender/nodes/composite/node_composite_tree.c
===================================================================
diff --git a/source/blender/blenkernel/BKE_blender.h b/source/blender/blenkernel/BKE_blender.h
index aa6932a..d1e9509 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 eda905a..28a4a30 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 147e790..85354e4 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 31ae464..7da3a35 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;
More information about the Bf-blender-cvs
mailing list