[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [38904] branches/soc-2011-onion/source/ blender/editors: smooth brush

Antony Riakiotakis kalast at gmail.com
Mon Aug 1 22:56:54 CEST 2011


Revision: 38904
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=38904
Author:   psy-fi
Date:     2011-08-01 20:56:53 +0000 (Mon, 01 Aug 2011)
Log Message:
-----------
smooth brush
========================
-finally managed to get 'little ducks' to print, meaning the operator is finally called normally. I had to move al the operator code to another file. I don't know why(maybe keymap poll functions? I've seen the operator doesn't like them). I hope I can still use the new stroke code by Jason somehow.

Modified Paths:
--------------
    branches/soc-2011-onion/source/blender/editors/include/ED_screen.h
    branches/soc-2011-onion/source/blender/editors/screen/screen_ops.c
    branches/soc-2011-onion/source/blender/editors/sculpt_paint/paint_image.c
    branches/soc-2011-onion/source/blender/editors/sculpt_paint/paint_intern.h
    branches/soc-2011-onion/source/blender/editors/sculpt_paint/paint_ops.c
    branches/soc-2011-onion/source/blender/editors/space_image/image_ops.c
    branches/soc-2011-onion/source/blender/editors/uvedit/CMakeLists.txt
    branches/soc-2011-onion/source/blender/editors/uvedit/SConscript
    branches/soc-2011-onion/source/blender/editors/uvedit/uvedit_ops.c

Modified: branches/soc-2011-onion/source/blender/editors/include/ED_screen.h
===================================================================
--- branches/soc-2011-onion/source/blender/editors/include/ED_screen.h	2011-08-01 20:18:02 UTC (rev 38903)
+++ branches/soc-2011-onion/source/blender/editors/include/ED_screen.h	2011-08-01 20:56:53 UTC (rev 38904)
@@ -168,7 +168,6 @@
 int		ED_operator_editlattice(struct bContext *C);
 int		ED_operator_editmball(struct bContext *C);
 int		ED_operator_uvedit(struct bContext *C);
-int		ED_operator_uvedit_no_smooth(struct bContext *C);
 int		ED_operator_uvmap(struct bContext *C);
 int		ED_operator_uvmap_mesh(struct bContext *C);
 int		ED_operator_uv_seam_tag_active(struct bContext *C);

Modified: branches/soc-2011-onion/source/blender/editors/screen/screen_ops.c
===================================================================
--- branches/soc-2011-onion/source/blender/editors/screen/screen_ops.c	2011-08-01 20:18:02 UTC (rev 38903)
+++ branches/soc-2011-onion/source/blender/editors/screen/screen_ops.c	2011-08-01 20:56:53 UTC (rev 38904)
@@ -364,14 +364,6 @@
 	return ED_space_image_show_uvedit(sima, obedit);
 }
 
-int	ED_operator_uvedit_no_smooth(struct bContext *C)
-{
-	SpaceImage *sima= CTX_wm_space_image(C);
-	Object *obedit= CTX_data_edit_object(C);
-	return ED_space_image_show_uvedit(sima, obedit) && !(sima->flag & SI_SMOOTH_BRUSH);
-}
-
-
 int ED_operator_uvmap(bContext *C)
 {
 	Object *obedit= CTX_data_edit_object(C);

Modified: branches/soc-2011-onion/source/blender/editors/sculpt_paint/paint_image.c
===================================================================
--- branches/soc-2011-onion/source/blender/editors/sculpt_paint/paint_image.c	2011-08-01 20:18:02 UTC (rev 38903)
+++ branches/soc-2011-onion/source/blender/editors/sculpt_paint/paint_image.c	2011-08-01 20:56:53 UTC (rev 38904)
@@ -4529,11 +4529,10 @@
 	return 0;
 }
 
-static int uv_smooth_brush_poll(const bContext *C)
+int uv_smooth_poll(bContext *C)
 {
 //	Object *obact = CTX_data_active_object(C);
 	SpaceImage *sima= CTX_wm_space_image(C);
-
 	if(!image_paint_brush(C))
 		return 0;
 
@@ -5086,7 +5085,7 @@
 		wm,
 		&(settings->imapaint.paint),
 		OB_MODE_TEXTURE_PAINT,
-		uv_smooth_brush_poll,
+		uv_smooth_poll,
 		brush_drawcursor,
 		NULL);
 }
@@ -5416,11 +5415,6 @@
 	return (texture_paint_poll(C) || image_paint_poll(C));
 }
 
-int uv_smooth_poll(bContext *C)
-{
-	return uv_smooth_brush_poll(C);
-}
-
 int facemask_paint_poll(bContext *C)
 {
 	return paint_facesel_test(CTX_data_active_object(C));

Modified: branches/soc-2011-onion/source/blender/editors/sculpt_paint/paint_intern.h
===================================================================
--- branches/soc-2011-onion/source/blender/editors/sculpt_paint/paint_intern.h	2011-08-01 20:18:02 UTC (rev 38903)
+++ branches/soc-2011-onion/source/blender/editors/sculpt_paint/paint_intern.h	2011-08-01 20:56:53 UTC (rev 38904)
@@ -240,6 +240,7 @@
 void PAINT_OT_vpaint_stroke(struct wmOperatorType *ot);
 
 unsigned int vpaint_get_current_col(struct VPaint *vp);
+void UV_OT_uv_smooth_stroke(struct wmOperatorType *ot);
 
 /* paint_image.c */
 int image_texture_paint_poll(struct bContext *C);

Modified: branches/soc-2011-onion/source/blender/editors/sculpt_paint/paint_ops.c
===================================================================
--- branches/soc-2011-onion/source/blender/editors/sculpt_paint/paint_ops.c	2011-08-01 20:18:02 UTC (rev 38903)
+++ branches/soc-2011-onion/source/blender/editors/sculpt_paint/paint_ops.c	2011-08-01 20:56:53 UTC (rev 38904)
@@ -359,29 +359,7 @@
 	ot->prop= RNA_def_enum(ot->srna, "tool", brush_image_tool_items, 0, "Tool", "");
 }
 
-static int uv_smooth_stroke_exec(bContext *C, wmOperator *op)
-{
-	printf("little ducks\n");
-	return OPERATOR_FINISHED;
-}
 
-static void UV_OT_uv_smooth_stroke(wmOperatorType *ot)
-{
-	/* identifiers */
-	ot->name= "Smooth UVs";
-	ot->description= "Smooth UVs using a brush";
-	ot->idname= "UV_OT_uv_smooth_stroke";
-
-	/* api callbacks */
-	ot->exec= uv_smooth_stroke_exec;
-	ot->poll= uv_smooth_poll;
-
-	/* flags */
-	ot->flag= OPTYPE_REGISTER;//|OPTYPE_UNDO;
-
-	/* props */
-}
-
 /**************************** registration **********************************/
 
 void ED_operatortypes_paint(void)
@@ -417,9 +395,6 @@
 	WM_operatortype_append(PAINT_OT_weight_layers_images_from_view);
 	WM_operatortype_append(PAINT_OT_weight_layers_to_uv_images);
 
-	/* uv */
-	WM_operatortype_append(UV_OT_uv_smooth_stroke);
-
 	/* vertex */
 	WM_operatortype_append(PAINT_OT_vertex_paint_toggle);
 	WM_operatortype_append(PAINT_OT_vpaint_stroke);
@@ -706,11 +681,6 @@
 	WM_keymap_add_item(keymap, "PAINT_OT_face_select_linked", LKEY, KM_PRESS, KM_CTRL, 0);
 	WM_keymap_add_item(keymap, "PAINT_OT_face_select_linked_pick", LKEY, KM_PRESS, 0, 0);
 
-	keymap= WM_keymap_find(keyconf, "UV Smooth", 0, 0);
-	keymap->poll= uv_smooth_poll;
-
-	WM_keymap_add_item(keymap, "UV_OT_uv_smooth_stroke", LEFTMOUSE, KM_PRESS, 0, 0);
-
 	/* paint stroke */
 	{
 		wmKeyMap* keymap= paint_stroke_modal_keymap(keyconf);

Modified: branches/soc-2011-onion/source/blender/editors/space_image/image_ops.c
===================================================================
--- branches/soc-2011-onion/source/blender/editors/space_image/image_ops.c	2011-08-01 20:18:02 UTC (rev 38903)
+++ branches/soc-2011-onion/source/blender/editors/space_image/image_ops.c	2011-08-01 20:56:53 UTC (rev 38904)
@@ -171,16 +171,6 @@
 	return 0;
 }
 
-static int space_image_image_sample_poll(bContext *C)
-{
-	SpaceImage *sima= CTX_wm_space_image(C);
-	Object *obedit= CTX_data_edit_object(C);
-	if(obedit){
-		if(ED_space_image_show_uvedit(sima, obedit) && (sima->flag & SI_SMOOTH_BRUSH))
-			return 0;
-	}
-	return space_image_main_area_poll(C);
-}
 /********************** view pan operator *********************/
 
 typedef struct ViewPanData {
@@ -1830,7 +1820,7 @@
 	ot->invoke= sample_invoke;
 	ot->modal= sample_modal;
 	ot->cancel= sample_cancel;
-	ot->poll= space_image_image_sample_poll;
+	ot->poll= space_image_main_area_poll;
 
 	/* flags */
 	ot->flag= OPTYPE_BLOCKING;

Modified: branches/soc-2011-onion/source/blender/editors/uvedit/CMakeLists.txt
===================================================================
--- branches/soc-2011-onion/source/blender/editors/uvedit/CMakeLists.txt	2011-08-01 20:18:02 UTC (rev 38903)
+++ branches/soc-2011-onion/source/blender/editors/uvedit/CMakeLists.txt	2011-08-01 20:56:53 UTC (rev 38904)
@@ -27,6 +27,7 @@
 	../../makesdna
 	../../makesrna
 	../../windowmanager
+	../sculpt_paint
 	../../../../intern/guardedalloc
 	../../../../intern/opennl/extern
 )

Modified: branches/soc-2011-onion/source/blender/editors/uvedit/SConscript
===================================================================
--- branches/soc-2011-onion/source/blender/editors/uvedit/SConscript	2011-08-01 20:18:02 UTC (rev 38903)
+++ branches/soc-2011-onion/source/blender/editors/uvedit/SConscript	2011-08-01 20:56:53 UTC (rev 38904)
@@ -3,7 +3,7 @@
 
 sources = env.Glob('*.c')
 
-incs = '../include ../../blenlib ../../blenkernel ../../makesdna ../../imbuf'
+incs = '../include ../../blenlib ../../blenkernel ../../makesdna ../../imbuf ../sculpt_paint'
 incs += ' ../../windowmanager #/intern/guardedalloc #/extern/glew/include'
 incs += ' ../../makesrna #/intern/opennl/extern ../../gpu ../../blenloader'
 

Modified: branches/soc-2011-onion/source/blender/editors/uvedit/uvedit_ops.c
===================================================================
--- branches/soc-2011-onion/source/blender/editors/uvedit/uvedit_ops.c	2011-08-01 20:18:02 UTC (rev 38903)
+++ branches/soc-2011-onion/source/blender/editors/uvedit/uvedit_ops.c	2011-08-01 20:56:53 UTC (rev 38904)
@@ -73,6 +73,7 @@
 #include "UI_resources.h"
 
 #include "uvedit_intern.h"
+#include "paint_intern.h"
 
 /************************* state testing ************************/
 
@@ -4439,6 +4440,55 @@
 		"Location", "Mouse location in normalized coordinates, 0.0 to 1.0 is within the image bounds.", -100.0f, 100.0f);
 }
 
+
+static int uv_smooth_stroke_exec(bContext *C, wmOperator *op)
+{
+	printf("little ducks\n");
+	return OPERATOR_FINISHED;
+}
+
+
+static int uv_smooth_stroke_invoke(bContext *C, wmOperator *op, wmEvent *event)
+{
+	return OPERATOR_RUNNING_MODAL;
+}
+
+static int uv_smooth_stroke_modal(bContext *C, wmOperator *op, wmEvent *event)
+{
+	printf("little ducks\n");
+	switch(event->type){
+		case ESCKEY:
+			return OPERATOR_FINISHED;
+	}
+	return OPERATOR_RUNNING_MODAL;
+}
+
+static int uv_smooth_cancel(bContext *C, wmOperator *op){
+	return OPERATOR_CANCELLED;
+}
+
+void UV_OT_uv_smooth_stroke(wmOperatorType *ot)
+{
+	/* identifiers */
+	ot->name= "Smooth UVs";
+	ot->description= "Smooth UVs using a brush";
+	ot->idname= "UV_OT_uv_smooth_stroke";
+
+	/* api callbacks */
+//	ot->invoke = uv_smooth_stroke_invoke;
+	ot->exec= uv_smooth_stroke_exec;
+//	ot->modal= uv_smooth_stroke_modal;
+//	ot->cancel= uv_smooth_cancel;
+	ot->poll= uv_smooth_poll;
+
+	/* flags */
+	ot->flag= OPTYPE_REGISTER;//|OPTYPE_UNDO;
+
+	/* props */
+}
+
+
+
 /* ************************** registration **********************************/
 
 void ED_operatortypes_uvedit(void)
@@ -4478,16 +4528,22 @@
 
 	WM_operatortype_append(UV_OT_cursor_set);
 	WM_operatortype_append(UV_OT_tile_set);
+
+	WM_operatortype_append(UV_OT_uv_smooth_stroke);
+
 }
 
+
 void ED_keymap_uvedit(wmKeyConfig *keyconf)
 {
 	wmKeyMap *keymap;
 	wmKeyMapItem *kmi;
-	
+
 	keymap= WM_keymap_find(keyconf, "UV Editor", 0, 0);
-	keymap->poll= ED_operator_uvedit_no_smooth;
+	keymap->poll= ED_operator_uvedit;
 
+	WM_keymap_add_item(keymap, "UV_OT_uv_smooth_stroke", LEFTMOUSE, KM_PRESS, 0, 0);
+
 	/* Mark edge seam */
 	WM_keymap_add_item(keymap, "UV_OT_mark_seam_uv", YKEY, KM_PRESS, 0, 0);
 	RNA_boolean_set(WM_keymap_add_item(keymap, "UV_OT_mark_seam_uv", YKEY, KM_PRESS, KM_CTRL, 0)->ptr, "selection", 1);




More information about the Bf-blender-cvs mailing list