[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