[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [48167] trunk/blender/source/blender/ editors: sampling the node backdrop now draws a line in the curve ( as it did in 2.4x).

Campbell Barton ideasman42 at gmail.com
Thu Jun 21 16:12:15 CEST 2012


Revision: 48167
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=48167
Author:   campbellbarton
Date:     2012-06-21 14:12:14 +0000 (Thu, 21 Jun 2012)
Log Message:
-----------
sampling the node backdrop now draws a line in the curve (as it did in 2.4x).

Modified Paths:
--------------
    trunk/blender/source/blender/editors/include/ED_node.h
    trunk/blender/source/blender/editors/interface/interface_draw.c
    trunk/blender/source/blender/editors/space_node/drawnode.c
    trunk/blender/source/blender/editors/space_node/node_edit.c

Modified: trunk/blender/source/blender/editors/include/ED_node.h
===================================================================
--- trunk/blender/source/blender/editors/include/ED_node.h	2012-06-21 14:05:31 UTC (rev 48166)
+++ trunk/blender/source/blender/editors/include/ED_node.h	2012-06-21 14:12:14 UTC (rev 48167)
@@ -61,6 +61,9 @@
 void ED_node_post_apply_transform(struct bContext *C, struct bNodeTree *ntree);
 
 void ED_node_set_active(struct Main *bmain, struct bNodeTree *ntree, struct bNode *node);
+
+void ED_node_sample_set(const float col[4]);
+
 /* node ops.c */
 void ED_operatormacros_node(void);
 

Modified: trunk/blender/source/blender/editors/interface/interface_draw.c
===================================================================
--- trunk/blender/source/blender/editors/interface/interface_draw.c	2012-06-21 14:05:31 UTC (rev 48166)
+++ trunk/blender/source/blender/editors/interface/interface_draw.c	2012-06-21 14:12:14 UTC (rev 48167)
@@ -1423,8 +1423,6 @@
 #endif
 	/* sample option */
 
-	/* XXX 2.48 */
-#if 0
 	if (cumap->flag & CUMA_DRAW_SAMPLE) {
 		if (cumap->cur == 3) {
 			float lum = cumap->sample[0] * 0.35f + cumap->sample[1] * 0.45f + cumap->sample[2] * 0.2f;
@@ -1449,7 +1447,6 @@
 			glEnd();
 		}
 	}
-#endif
 
 	/* the curve */
 	glColor3ubv((unsigned char *)wcol->item);

Modified: trunk/blender/source/blender/editors/space_node/drawnode.c
===================================================================
--- trunk/blender/source/blender/editors/space_node/drawnode.c	2012-06-21 14:05:31 UTC (rev 48166)
+++ trunk/blender/source/blender/editors/space_node/drawnode.c	2012-06-21 14:12:14 UTC (rev 48167)
@@ -340,25 +340,30 @@
 	uiTemplateCurveMapping(layout, ptr, "mapping", 'v', 0, 0);
 }
 
-static float *_sample_col = NULL;    // bad bad, 2.5 will do better?
-#if 0
-static void node_curvemap_sample(float *col)
+static float _sample_col[4];    // bad bad, 2.5 will do better?
+#define SAMPLE_FLT_ISNONE FLT_MAX
+void ED_node_sample_set(const float col[4])
 {
-	_sample_col = col;
+	if (col) {
+		copy_v4_v4(_sample_col, col);
+	}
+	else {
+		copy_v4_fl(_sample_col, SAMPLE_FLT_ISNONE);
+	}
 }
-#endif
 
 static void node_buts_curvecol(uiLayout *layout, bContext *UNUSED(C), PointerRNA *ptr)
 {
 	bNode *node = ptr->data;
 	CurveMapping *cumap = node->storage;
 
-	if (_sample_col) {
+	if (_sample_col[0] != SAMPLE_FLT_ISNONE) {
 		cumap->flag |= CUMA_DRAW_SAMPLE;
 		copy_v3_v3(cumap->sample, _sample_col);
 	}
-	else 
+	else {
 		cumap->flag &= ~CUMA_DRAW_SAMPLE;
+	}
 
 	uiTemplateCurveMapping(layout, ptr, "mapping", 'c', 0, 0);
 }

Modified: trunk/blender/source/blender/editors/space_node/node_edit.c
===================================================================
--- trunk/blender/source/blender/editors/space_node/node_edit.c	2012-06-21 14:05:31 UTC (rev 48166)
+++ trunk/blender/source/blender/editors/space_node/node_edit.c	2012-06-21 14:12:14 UTC (rev 48167)
@@ -1745,9 +1745,13 @@
 			info->colf[2] = fp[2];
 			info->colf[3] = fp[3];
 		}
+
+		ED_node_sample_set(info->colf);
 	}
-	else
+	else {
 		info->draw = 0;
+		ED_node_sample_set(NULL);
+	}
 
 	BKE_image_release_ibuf(ima, lock);
 	
@@ -1758,6 +1762,7 @@
 {
 	ImageSampleInfo *info = op->customdata;
 
+	ED_node_sample_set(NULL);
 	ED_region_draw_cb_exit(info->art, info->draw_handle);
 	ED_area_tag_redraw(CTX_wm_area(C));
 	MEM_freeN(info);




More information about the Bf-blender-cvs mailing list