[Bf-blender-cvs] [0ed8058] pie-menus: Pie radius scales correctly with DPI

Antony Riakiotakis noreply at git.blender.org
Tue Jul 29 12:53:28 CEST 2014


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;




More information about the Bf-blender-cvs mailing list