Commit: 0ed80583472d7d3dbb366e267fafab52f4f6ee11
Author: Antony Riakiotakis
Date:   Tue Jul 29 12:53:22 2014 +0200
Branches: pie-menus
https://developer.blender.org/rB0ed80583472d7d3dbb366e267fafab52f4f6ee11

Pie radius scales correctly with DPI

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

M       source/blender/editors/interface/interface_handlers.c
M       source/blender/editors/interface/interface_layout.c

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

diff --git a/source/blender/editors/interface/interface_handlers.c 
b/source/blender/editors/interface/interface_handlers.c
index 37cbac5..6821f65 100644
--- a/source/blender/editors/interface/interface_handlers.c
+++ b/source/blender/editors/interface/interface_handlers.c
@@ -8609,19 +8609,22 @@ static int ui_handler_pie(bContext *C, const wmEvent 
*event, uiPopupBlockHandle
                                uiBut *but;
                                double final_time = 0.01 * 
U.pie_animation_timeout;
                                float fac = duration / final_time;
+                               float pie_radius = U.pie_menu_radius * (U.dpi / 
72.0f);
 
                                if (fac > 1.0f) {
                                        fac = 1.0f;
                                        block->pie_data.flags |= 
UI_PIE_ANIMATION_FINISHED;
                                }
 
+                               pie_radius *= fac;
+
                                for (but = block->buttons.first; but; but = 
but->next) {
                                        if (but->pie_dir) {
                                                float dir[2];
 
                                                
ui_but_pie_visual_dir(but->pie_dir, dir);
 
-                                               mul_v2_fl(dir, fac * 
U.pie_menu_radius);
+                                               mul_v2_fl(dir, pie_radius );
                                                add_v2_v2(dir, 
block->pie_data.pie_center_spawned);
                                                BLI_rctf_recenter(&but->rect, 
dir[0], dir[1]);
                                        }
diff --git a/source/blender/editors/interface/interface_layout.c 
b/source/blender/editors/interface/interface_layout.c
index e42b535..ba08839 100644
--- a/source/blender/editors/interface/interface_layout.c
+++ b/source/blender/editors/interface/interface_layout.c
@@ -2270,7 +2270,7 @@ static void ui_litem_layout_radial(uiLayout *litem)
         * also the old code at http://developer.blender.org/T5103
         */
 
-       int pie_radius = U.pie_menu_radius;
+       int pie_radius = U.pie_menu_radius * (U.dpi / 72.0f);
 
        x = litem->x;
        y = litem->y;

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to