[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [29571] trunk/blender: etch-a-ton bugfix

Martin Poirier theeth at yahoo.com
Sat Jun 19 22:25:01 CEST 2010


Revision: 29571
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=29571
Author:   theeth
Date:     2010-06-19 22:25:00 +0200 (Sat, 19 Jun 2010)

Log Message:
-----------
etch-a-ton bugfix

Add Convert operator and button (missing in 2.5)
Fix stroke selection (uneeded separate operator and missing redraw)
Map sketch operators to LEFTMOUSE and RIGHTMOUSE instead of SELECTMOUSE AND ACTIONMOUSE (more in line with other sketching operators, might work better with swapped mouse buttons)

Modified Paths:
--------------
    trunk/blender/release/scripts/ui/space_view3d.py
    trunk/blender/source/blender/editors/armature/armature_intern.h
    trunk/blender/source/blender/editors/armature/armature_ops.c
    trunk/blender/source/blender/editors/armature/editarmature_sketch.c

Modified: trunk/blender/release/scripts/ui/space_view3d.py
===================================================================
--- trunk/blender/release/scripts/ui/space_view3d.py	2010-06-19 20:18:43 UTC (rev 29570)
+++ trunk/blender/release/scripts/ui/space_view3d.py	2010-06-19 20:25:00 UTC (rev 29571)
@@ -2163,6 +2163,7 @@
             col.prop(toolsettings, "etch_autoname")
             col.prop(toolsettings, "etch_number")
             col.prop(toolsettings, "etch_side")
+            col.operator("sketch.convert", text="Convert")
 
 
 class VIEW3D_PT_context_properties(bpy.types.Panel):

Modified: trunk/blender/source/blender/editors/armature/armature_intern.h
===================================================================
--- trunk/blender/source/blender/editors/armature/armature_intern.h	2010-06-19 20:18:43 UTC (rev 29570)
+++ trunk/blender/source/blender/editors/armature/armature_intern.h	2010-06-19 20:25:00 UTC (rev 29571)
@@ -130,6 +130,7 @@
 void SKETCH_OT_draw_preview(struct wmOperatorType *ot);
 void SKETCH_OT_finish_stroke(struct wmOperatorType *ot);
 void SKETCH_OT_cancel_stroke(struct wmOperatorType *ot);
+void SKETCH_OT_convert(struct wmOperatorType *ot);
 void SKETCH_OT_select(struct wmOperatorType *ot);
 
 /* ******************************************************* */

Modified: trunk/blender/source/blender/editors/armature/armature_ops.c
===================================================================
--- trunk/blender/source/blender/editors/armature/armature_ops.c	2010-06-19 20:18:43 UTC (rev 29570)
+++ trunk/blender/source/blender/editors/armature/armature_ops.c	2010-06-19 20:25:00 UTC (rev 29571)
@@ -96,6 +96,7 @@
 	WM_operatortype_append(SKETCH_OT_draw_preview);
 	WM_operatortype_append(SKETCH_OT_finish_stroke);
 	WM_operatortype_append(SKETCH_OT_cancel_stroke);
+	WM_operatortype_append(SKETCH_OT_convert);
 	WM_operatortype_append(SKETCH_OT_select);
 
 	/* POSE */
@@ -190,14 +191,15 @@
 	WM_keymap_add_item(keymap, "SKETCH_OT_delete", XKEY, KM_PRESS, 0, 0);
 	WM_keymap_add_item(keymap, "SKETCH_OT_delete", DELKEY, KM_PRESS, 0, 0);
 	WM_keymap_add_item(keymap, "SKETCH_OT_delete", BACKSPACEKEY, KM_PRESS, 0, 0);
-	WM_keymap_add_item(keymap, "SKETCH_OT_finish_stroke", SELECTMOUSE, KM_PRESS, 0, 0);
+	WM_keymap_add_item(keymap, "SKETCH_OT_finish_stroke", RIGHTMOUSE, KM_PRESS, 0, 0);
 	WM_keymap_add_item(keymap, "SKETCH_OT_cancel_stroke", ESCKEY, KM_PRESS, 0, 0);
-	WM_keymap_add_item(keymap, "SKETCH_OT_select", SELECTMOUSE, KM_PRESS, 0, 0);
+	// Already part of view3d select
+	//WM_keymap_add_item(keymap, "SKETCH_OT_select", SELECTMOUSE, KM_PRESS, 0, 0);
 
 	/* sketch poll checks mode */	
-	WM_keymap_add_item(keymap, "SKETCH_OT_gesture", ACTIONMOUSE, KM_PRESS, KM_SHIFT, 0);
-	WM_keymap_add_item(keymap, "SKETCH_OT_draw_stroke", ACTIONMOUSE, KM_PRESS, 0, 0);
-	kmi = WM_keymap_add_item(keymap, "SKETCH_OT_draw_stroke", ACTIONMOUSE, KM_PRESS, KM_CTRL, 0);
+	WM_keymap_add_item(keymap, "SKETCH_OT_gesture", LEFTMOUSE, KM_PRESS, KM_SHIFT, 0);
+	WM_keymap_add_item(keymap, "SKETCH_OT_draw_stroke", LEFTMOUSE, KM_PRESS, 0, 0);
+	kmi = WM_keymap_add_item(keymap, "SKETCH_OT_draw_stroke", LEFTMOUSE, KM_PRESS, KM_CTRL, 0);
 	RNA_boolean_set(kmi->ptr, "snap", 1);
 	WM_keymap_add_item(keymap, "SKETCH_OT_draw_preview", MOUSEMOVE, KM_ANY, 0, 0);
 	kmi = WM_keymap_add_item(keymap, "SKETCH_OT_draw_preview", MOUSEMOVE, KM_ANY, KM_CTRL, 0);

Modified: trunk/blender/source/blender/editors/armature/editarmature_sketch.c
===================================================================
--- trunk/blender/source/blender/editors/armature/editarmature_sketch.c	2010-06-19 20:18:43 UTC (rev 29570)
+++ trunk/blender/source/blender/editors/armature/editarmature_sketch.c	2010-06-19 20:25:00 UTC (rev 29571)
@@ -2154,7 +2154,7 @@
 /********************************************/
 
 
-void sk_selectStroke(bContext *C, SK_Sketch *sketch, short mval[2], int extend)
+int sk_selectStroke(bContext *C, SK_Sketch *sketch, short mval[2], int extend)
 {
 	ViewContext vc;
 	rcti rect;
@@ -2199,7 +2199,10 @@
 
 
 		}
+		return 1;
 	}
+
+	return 0;
 }
 
 void sk_queueRedrawSketch(SK_Sketch *sketch)
@@ -2301,7 +2304,7 @@
 		}
 	}
 
-#if 1
+#if 0
 	if (sketch->depth_peels.first != NULL)
 	{
 		float colors[8][3] = {
@@ -2471,7 +2474,8 @@
 
 	if (sketch != NULL && ts->bone_sketching & BONE_SKETCHING)
 	{
-		sk_selectStroke(C, sketch, mval, extend);
+		if (sk_selectStroke(C, sketch, mval, extend))
+			ED_area_tag_redraw(CTX_wm_area(C));
 	}
 }
 
@@ -2558,6 +2562,17 @@
 	return sketch;
 }
 
+static int sketch_convert(bContext *C, wmOperator *op, wmEvent *event)
+{
+	SK_Sketch *sketch = contextSketch(C, 0);
+	if (sketch != NULL)
+	{
+		sk_convert(C, sketch);
+		ED_area_tag_redraw(CTX_wm_area(C));
+	}
+	return OPERATOR_FINISHED;
+}
+
 static int sketch_cancel(bContext *C, wmOperator *op, wmEvent *event)
 {
 	SK_Sketch *sketch = contextSketch(C, 0);
@@ -2590,8 +2605,8 @@
 	if (sketch)
 	{
 		short extend = 0;
-		sk_selectStroke(C, sketch, event->mval, extend);
-		ED_area_tag_redraw(CTX_wm_area(C));
+		if (sk_selectStroke(C, sketch, event->mval, extend))
+			ED_area_tag_redraw(CTX_wm_area(C));
 	}
 
 	return OPERATOR_FINISHED;
@@ -2859,6 +2874,21 @@
 //	ot->flag= OPTYPE_UNDO;
 }
 
+void SKETCH_OT_convert(wmOperatorType *ot)
+{
+	/* identifiers */
+	ot->name= "convert";
+	ot->idname= "SKETCH_OT_convert";
+
+	/* api callbacks */
+	ot->invoke= sketch_convert;
+
+	ot->poll= ED_operator_sketch_full_mode;
+
+	/* flags */
+	ot->flag= OPTYPE_UNDO;
+}
+
 void SKETCH_OT_finish_stroke(wmOperatorType *ot)
 {
 	/* identifiers */





More information about the Bf-blender-cvs mailing list