[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [56228] trunk/blender/source/blender: Overlay fixes:

Antony Riakiotakis kalast at gmail.com
Tue Apr 23 00:20:40 CEST 2013


Revision: 56228
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=56228
Author:   psy-fi
Date:     2013-04-22 22:20:38 +0000 (Mon, 22 Apr 2013)
Log Message:
-----------
Overlay fixes:

* Clobbering enum
* Cursor overlay not dependent on mapping (again!)
* Brush overlay not updating when size is tweaked

Modified Paths:
--------------
    trunk/blender/source/blender/blenkernel/BKE_paint.h
    trunk/blender/source/blender/editors/sculpt_paint/paint_cursor.c
    trunk/blender/source/blender/makesrna/intern/rna_brush.c
    trunk/blender/source/blender/makesrna/intern/rna_scene.c

Modified: trunk/blender/source/blender/blenkernel/BKE_paint.h
===================================================================
--- trunk/blender/source/blender/blenkernel/BKE_paint.h	2013-04-22 21:27:44 UTC (rev 56227)
+++ trunk/blender/source/blender/blenkernel/BKE_paint.h	2013-04-22 22:20:38 UTC (rev 56228)
@@ -71,8 +71,8 @@
 typedef enum OverlayControlFlags {
 	PAINT_INVALID_OVERLAY_TEXTURE_PRIMARY = 1,
 	PAINT_INVALID_OVERLAY_TEXTURE_SECONDARY = (1 << 2),
-	PAINT_INVALID_OVERLAY_CURVE = (1 << 2),
-	PAINT_OVERLAY_OVERRIDE = (1 << 3)
+	PAINT_INVALID_OVERLAY_CURVE = (1 << 3),
+	PAINT_OVERLAY_OVERRIDE = (1 << 4)
 } OverlayControlFlags;
 
 void BKE_paint_invalidate_overlay_tex(struct Scene *scene, const struct Tex *tex);

Modified: trunk/blender/source/blender/editors/sculpt_paint/paint_cursor.c
===================================================================
--- trunk/blender/source/blender/editors/sculpt_paint/paint_cursor.c	2013-04-22 21:27:44 UTC (rev 56227)
+++ trunk/blender/source/blender/editors/sculpt_paint/paint_cursor.c	2013-04-22 22:20:38 UTC (rev 56228)
@@ -324,13 +324,11 @@
 
 	if (refresh) {
 		int s, r;
-		float radius;
 
 		old_zoom = zoom;
 
 		s = BKE_brush_size_get(vc->scene, br);
 		r = 1;
-		radius = s * zoom;
 
 		for (s >>= 1; s > 0; s >>= 1)
 			r++;
@@ -373,17 +371,11 @@
 				x = (float)i / size;
 				y = (float)j / size;
 
-				if (br->mtex.brush_map_mode == MTEX_MAP_MODE_TILED) {
-					x *= vc->ar->winx / radius;
-					y *= vc->ar->winy / radius;
-				}
-				else {
-					x -= 0.5f;
-					y -= 0.5f;
+				x -= 0.5f;
+				y -= 0.5f;
 
-					x *= 2;
-					y *= 2;
-				}
+				x *= 2;
+				y *= 2;
 
 				len = sqrtf(x * x + y * y);
 

Modified: trunk/blender/source/blender/makesrna/intern/rna_brush.c
===================================================================
--- trunk/blender/source/blender/makesrna/intern/rna_brush.c	2013-04-22 21:27:44 UTC (rev 56227)
+++ trunk/blender/source/blender/makesrna/intern/rna_brush.c	2013-04-22 22:20:38 UTC (rev 56228)
@@ -304,12 +304,7 @@
 
 static void rna_Brush_size_update(Main *bmain, Scene *scene, PointerRNA *ptr)
 {
-	Brush *br = (Brush *)ptr->data;
-	if (br->mtex.mapping == MTEX_MAP_MODE_VIEW) {
-		BKE_paint_invalidate_overlay_tex(scene, br->mtex.tex);
-		BKE_paint_invalidate_overlay_tex(scene, br->mask_mtex.tex);
-	}
-	BKE_paint_invalidate_cursor_overlay(scene, br->curve);
+	BKE_paint_invalidate_overlay_all();
 	rna_Brush_update(bmain, scene, ptr);
 }
 

Modified: trunk/blender/source/blender/makesrna/intern/rna_scene.c
===================================================================
--- trunk/blender/source/blender/makesrna/intern/rna_scene.c	2013-04-22 21:27:44 UTC (rev 56227)
+++ trunk/blender/source/blender/makesrna/intern/rna_scene.c	2013-04-22 22:20:38 UTC (rev 56228)
@@ -42,6 +42,7 @@
 
 #include "BKE_freestyle.h"
 #include "BKE_editmesh.h"
+#include "BKE_paint.h"
 
 #include "RNA_define.h"
 #include "RNA_enum_types.h"
@@ -1421,6 +1422,12 @@
 	ups->unprojected_radius = value;
 }
 
+static void rna_UnifiedPaintSettings_radius_update(Main *bmain, Scene *scene, PointerRNA *ptr)
+{
+	/* changing the unified size should invalidate */
+	BKE_paint_invalidate_overlay_all();
+}
+
 static char *rna_UnifiedPaintSettings_path(PointerRNA *ptr)
 {
 	return BLI_strdup("tool_settings.unified_paint_settings");
@@ -1962,12 +1969,14 @@
 	RNA_def_property_range(prop, 1, MAX_BRUSH_PIXEL_RADIUS * 10);
 	RNA_def_property_ui_range(prop, 1, MAX_BRUSH_PIXEL_RADIUS, 1, -1);
 	RNA_def_property_ui_text(prop, "Radius", "Radius of the brush in pixels");
+	RNA_def_property_update(prop, 0, "rna_UnifiedPaintSettings_radius_update");
 
 	prop = RNA_def_property(srna, "unprojected_radius", PROP_FLOAT, PROP_DISTANCE);
 	RNA_def_property_float_funcs(prop, NULL, "rna_UnifiedPaintSettings_unprojected_radius_set", NULL);
 	RNA_def_property_range(prop, 0.001, FLT_MAX);
 	RNA_def_property_ui_range(prop, 0.001, 1, 0, -1);
 	RNA_def_property_ui_text(prop, "Unprojected Radius", "Radius of brush in Blender units");
+	RNA_def_property_update(prop, 0, "rna_UnifiedPaintSettings_radius_update");
 
 	prop = RNA_def_property(srna, "strength", PROP_FLOAT, PROP_FACTOR);
 	RNA_def_property_float_sdna(prop, NULL, "alpha");




More information about the Bf-blender-cvs mailing list