[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [34065] trunk/blender/source/blender: Fix #25483: Brush appearance color
Sergey Sharybin
g.ulairi at gmail.com
Tue Jan 4 15:46:30 CET 2011
Revision: 34065
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=34065
Author: nazgul
Date: 2011-01-04 15:46:29 +0100 (Tue, 04 Jan 2011)
Log Message:
-----------
Fix #25483: Brush appearance color
Set special brush flag when inversion stroke was started, not wery nice, but
we can't make better with current events system implementation.
Modified Paths:
--------------
trunk/blender/source/blender/editors/sculpt_paint/paint_stroke.c
trunk/blender/source/blender/editors/sculpt_paint/sculpt.c
trunk/blender/source/blender/makesdna/DNA_brush_types.h
Modified: trunk/blender/source/blender/editors/sculpt_paint/paint_stroke.c
===================================================================
--- trunk/blender/source/blender/editors/sculpt_paint/paint_stroke.c 2011-01-04 14:37:21 UTC (rev 34064)
+++ trunk/blender/source/blender/editors/sculpt_paint/paint_stroke.c 2011-01-04 14:46:29 UTC (rev 34065)
@@ -591,7 +591,7 @@
brush_set_size(brush, pixel_radius);
// XXX: no way currently to know state of pen flip or invert key modifier without starting a stroke
- flip = 1;
+ flip = brush->flag & BRUSH_INVERTED ? -1 : 1;
sign = flip * ((brush->flag & BRUSH_DIR_IN)? -1 : 1);
Modified: trunk/blender/source/blender/editors/sculpt_paint/sculpt.c
===================================================================
--- trunk/blender/source/blender/editors/sculpt_paint/sculpt.c 2011-01-04 14:37:21 UTC (rev 34064)
+++ trunk/blender/source/blender/editors/sculpt_paint/sculpt.c 2011-01-04 14:46:29 UTC (rev 34065)
@@ -2904,6 +2904,11 @@
cache->invert = mode == WM_BRUSHSTROKE_INVERT;
cache->alt_smooth = mode == WM_BRUSHSTROKE_SMOOTH;
+ /* not very nice, but with current events system implementation
+ we can't handle brush appearance inversion hotkey separately (sergey) */
+ if(cache->invert) brush->flag |= BRUSH_INVERTED;
+ else brush->flag &= ~BRUSH_INVERTED;
+
/* Alt-Smooth */
if (ss->cache->alt_smooth) {
Paint *p= &sd->paint;
@@ -3452,14 +3457,17 @@
/* Finished */
if(ss->cache) {
+ Brush *brush= paint_brush(&sd->paint);
+ brush->flag &= ~BRUSH_INVERTED;
+
sculpt_stroke_modifiers_check(C, ss);
/* Alt-Smooth */
if (ss->cache->alt_smooth) {
Paint *p= &sd->paint;
- Brush *br= (Brush *)find_id("BR", ss->cache->saved_active_brush_name);
- if(br) {
- paint_brush_set(p, br);
+ brush= (Brush *)find_id("BR", ss->cache->saved_active_brush_name);
+ if(brush) {
+ paint_brush_set(p, brush);
}
}
Modified: trunk/blender/source/blender/makesdna/DNA_brush_types.h
===================================================================
--- trunk/blender/source/blender/makesdna/DNA_brush_types.h 2011-01-04 14:37:21 UTC (rev 34064)
+++ trunk/blender/source/blender/makesdna/DNA_brush_types.h 2011-01-04 14:46:29 UTC (rev 34065)
@@ -130,6 +130,10 @@
#define BRUSH_FRONTFACE (1<<27)
#define BRUSH_CUSTOM_ICON (1<<28)
+/* temporary flag which sets up autmatically for correct
+ brush drawing when inverted modal operator is running */
+#define BRUSH_INVERTED (1<<29)
+
/* Brush.sculpt_tool */
#define SCULPT_TOOL_DRAW 1
#define SCULPT_TOOL_SMOOTH 2
More information about the Bf-blender-cvs
mailing list