[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