[Bf-blender-cvs] [8c4de81] PSketch: PSculpt: Port over Scrollwheel / +/- event support while sculpting, for changing brush strength + size

Joshua Leung noreply at git.blender.org
Sun Jan 31 14:29:42 CET 2016


Commit: 8c4de8185d696231d94aa989b74e5c0ec7c2f15f
Author: Joshua Leung
Date:   Mon Feb 1 02:28:07 2016 +1300
Branches: PSketch
https://developer.blender.org/rB8c4de8185d696231d94aa989b74e5c0ec7c2f15f

PSculpt: Port over Scrollwheel / +/- event support while sculpting, for changing brush strength + size

* WheelUp/+   = Increase
* WheelDown/- = Decrease

* With Shift  = Strength
* Without     = Size

===================================================================

M	source/blender/editors/armature/pose_sculpt.c

===================================================================

diff --git a/source/blender/editors/armature/pose_sculpt.c b/source/blender/editors/armature/pose_sculpt.c
index 2cd4151..866a6e0 100644
--- a/source/blender/editors/armature/pose_sculpt.c
+++ b/source/blender/editors/armature/pose_sculpt.c
@@ -1669,6 +1669,7 @@ static int psculpt_brush_invoke(bContext *C, wmOperator *op, const wmEvent *even
 static int psculpt_brush_modal(bContext *C, wmOperator *op, const wmEvent *event)
 {
 	tPoseSculptingOp *pso = op->customdata;
+	bool redraw_region = false;
 	
 	switch (event->type) {
 		/* mouse release or some other mbut click = abort! */
@@ -1692,6 +1693,47 @@ static int psculpt_brush_modal(bContext *C, wmOperator *op, const wmEvent *event
 		case INBETWEEN_MOUSEMOVE:
 			psculpt_brush_apply_event(C, op, event);
 			break;
+			
+			
+		/* Adjust brush settings */
+		/* FIXME: Step increments and modifier keys are hardcoded here! */
+		case WHEELUPMOUSE:
+		case PADPLUSKEY:
+			if (event->shift) {
+				/* increase strength */
+				pso->brush->strength += 0.05f;
+				CLAMP_MAX(pso->brush->strength, 1.0f);
+			}
+			else {
+				/* increase brush size */
+				pso->brush->size += 3;
+				CLAMP_MAX(pso->brush->size, 300);
+			}
+				
+			redraw_region = true;
+			break;
+			
+		case WHEELDOWNMOUSE: 
+		case PADMINUS:
+			if (event->shift) {
+				/* decrease strength */
+				pso->brush->strength -= 0.05f;
+				CLAMP_MIN(pso->brush->strength, 0.0f);
+			}
+			else {
+				/* decrease brush size */
+				pso->brush->size -= 3;
+				CLAMP_MIN(pso->brush->size, 1);
+			}
+				
+			redraw_region = true;
+			break;
+	}
+	
+	/* Redraw region? */
+	if (redraw_region) {
+		ARegion *ar = CTX_wm_region(C);
+		ED_region_tag_redraw(ar);
 	}
 	
 	return OPERATOR_RUNNING_MODAL;




More information about the Bf-blender-cvs mailing list