[Bf-blender-cvs] [ab409e6] pie-menus: Pies:

Antony Riakiotakis noreply at git.blender.org
Tue Jul 29 15:08:29 CEST 2014


Commit: ab409e645d1d1bb79572fb071575ee8369831969
Author: Antony Riakiotakis
Date:   Tue Jul 29 15:08:17 2014 +0200
Branches: pie-menus
https://developer.blender.org/rBab409e645d1d1bb79572fb071575ee8369831969

Pies:

* Fix issue with repositioned pie menus
* Reduce default animation time

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

M	source/blender/editors/interface/interface_handlers.c
M	source/blender/editors/interface/interface_intern.h
M	source/blender/editors/interface/resources.c

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

diff --git a/source/blender/editors/interface/interface_handlers.c b/source/blender/editors/interface/interface_handlers.c
index b505701..4b517df 100644
--- a/source/blender/editors/interface/interface_handlers.c
+++ b/source/blender/editors/interface/interface_handlers.c
@@ -8663,7 +8663,11 @@ static int ui_handler_pie(bContext *C, const wmEvent *event, uiPopupBlockHandle
 			ED_region_tag_redraw(ar);
 		}
 		else {
-			if (block->pie_data.flags & UI_PIE_INVALID_DIR) {
+			/* calculate distance from initial poit */
+			float seg[2] = {(float)mx, (float)my};
+			sub_v2_v2(seg, block->pie_data.pie_center_init);
+
+			if (len_squared_v2(seg) < PIE_CLICK_THRESHOLD) {
 				block->pie_data.flags |= UI_PIE_CLICK_STYLE;
 			}
 			else if (!is_click_style) {
diff --git a/source/blender/editors/interface/interface_intern.h b/source/blender/editors/interface/interface_intern.h
index f0e3b4c..f6c2e60 100644
--- a/source/blender/editors/interface/interface_intern.h
+++ b/source/blender/editors/interface/interface_intern.h
@@ -167,6 +167,8 @@ typedef enum RadialDirection {
 #define UI_PIE_CLICK_STYLE         (1 << 5) /* pie menu changed to click style, click to confirm  */
 #define UI_PIE_ANIMATION_FINISHED  (1 << 6) /* pie animation finished, do not calculate any more motio  */
 
+#define PIE_CLICK_THRESHOLD 50.0
+
 typedef struct uiLinkLine {  /* only for draw/edit */
 	struct uiLinkLine *next, *prev;
 	struct uiBut *from, *to;
diff --git a/source/blender/editors/interface/resources.c b/source/blender/editors/interface/resources.c
index 3b4782e..c24ecdb 100644
--- a/source/blender/editors/interface/resources.c
+++ b/source/blender/editors/interface/resources.c
@@ -2480,7 +2480,7 @@ void init_userdef_do_versions(void)
 			U.pie_operator_timeout = 20;
 
 		if (U.pie_animation_timeout == 0)
-			U.pie_animation_timeout = 12;
+			U.pie_animation_timeout = 6;
 
 		for (btheme = U.themes.first; btheme; btheme = btheme->next) {
 			btheme->tui.wcol_pie_menu = wcol_pie_menu;




More information about the Bf-blender-cvs mailing list