[Bf-blender-cvs] [891a3762ce9] blender2.8: Manipulator: ui-scale support for navigate widget

Campbell Barton noreply at git.blender.org
Tue Dec 19 07:12:48 CET 2017


Commit: 891a3762ce93e5135d07a6f04fd58408f249a558
Author: Campbell Barton
Date:   Tue Dec 19 17:14:52 2017 +1100
Branches: blender2.8
https://developer.blender.org/rB891a3762ce93e5135d07a6f04fd58408f249a558

Manipulator: ui-scale support for navigate widget

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

M	source/blender/editors/manipulator_library/manipulator_types/button2d_manipulator.c
M	source/blender/editors/space_view3d/view3d_manipulator_navigate.c
M	source/blender/editors/space_view3d/view3d_manipulator_navigate_type.c

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

diff --git a/source/blender/editors/manipulator_library/manipulator_types/button2d_manipulator.c b/source/blender/editors/manipulator_library/manipulator_types/button2d_manipulator.c
index 32c1dbae0a6..cad97a9ef03 100644
--- a/source/blender/editors/manipulator_library/manipulator_types/button2d_manipulator.c
+++ b/source/blender/editors/manipulator_library/manipulator_types/button2d_manipulator.c
@@ -114,8 +114,8 @@ static void button3d_draw_intern(
 		int icon = RNA_enum_get(mpr->ptr, "icon");
 		if (icon != ICON_NONE) {
 			UI_icon_draw(
-			        mpr->matrix_basis[3][0] - (ICON_DEFAULT_WIDTH / 2.0) * U.pixelsize,
-			        mpr->matrix_basis[3][1] - (ICON_DEFAULT_HEIGHT / 2.0) * U.pixelsize,
+			        mpr->matrix_basis[3][0] - (ICON_DEFAULT_WIDTH / 2.0) * U.ui_scale,
+			        mpr->matrix_basis[3][1] - (ICON_DEFAULT_HEIGHT / 2.0) * U.ui_scale,
 			        icon);
 		}
 	}
@@ -153,9 +153,8 @@ static int manipulator_button_test_select(
 	else {
 		copy_v2_v2(point_local, (float [2]){UNPACK2(event->mval)});
 		sub_v2_v2(point_local, mpr->matrix_basis[3]);
-		mul_v2_fl(point_local, 1.0f / mpr->scale_basis);
+		mul_v2_fl(point_local, 1.0f / (mpr->scale_basis * U.ui_scale));
 	}
-
 	/* The 'mpr->scale_final' is already applied when projecting. */
 	if (len_squared_v2(point_local) < 1.0f) {
 		return 0;
diff --git a/source/blender/editors/space_view3d/view3d_manipulator_navigate.c b/source/blender/editors/space_view3d/view3d_manipulator_navigate.c
index 5d9eaafdbec..bacb14336a9 100644
--- a/source/blender/editors/space_view3d/view3d_manipulator_navigate.c
+++ b/source/blender/editors/space_view3d/view3d_manipulator_navigate.c
@@ -191,8 +191,8 @@ static void WIDGETGROUP_navigate_draw_prepare(const bContext *C, wmManipulatorGr
 	navgroup->region_size[1] = ar->winy;
 
 	const float icon_size = MANIPULATOR_SIZE;
-	const float icon_offset = (icon_size / 2.0) * MANIPULATOR_OFFSET_FAC * U.pixelsize;
-	const float icon_offset_mini = icon_size * MANIPULATOR_MINI_OFFSET_FAC * U.pixelsize;
+	const float icon_offset = (icon_size / 2.0) * MANIPULATOR_OFFSET_FAC * U.ui_scale;
+	const float icon_offset_mini = icon_size * MANIPULATOR_MINI_OFFSET_FAC * U.ui_scale;
 	const float co[2] = {ar->winx - icon_offset, ar->winy - icon_offset};
 
 	wmManipulator *mpr;
diff --git a/source/blender/editors/space_view3d/view3d_manipulator_navigate_type.c b/source/blender/editors/space_view3d/view3d_manipulator_navigate_type.c
index b859b3b24dd..424b5dae402 100644
--- a/source/blender/editors/space_view3d/view3d_manipulator_navigate_type.c
+++ b/source/blender/editors/space_view3d/view3d_manipulator_navigate_type.c
@@ -43,7 +43,6 @@
 #include "GPU_immediate.h"
 #include "GPU_immediate_util.h"
 #include "GPU_matrix.h"
-#include "GPU_select.h"
 
 #include "RNA_access.h"
 #include "RNA_define.h"
@@ -54,8 +53,6 @@
 #include "WM_types.h"
 
 #include "ED_screen.h"
-#include "ED_view3d.h"
-#include "ED_manipulator_library.h"
 
 #include "view3d_intern.h"
 
@@ -240,7 +237,7 @@ static int manipulator_axis_test_select(
 {
 	float point_local[2] = {UNPACK2(event->mval)};
 	sub_v2_v2(point_local, mpr->matrix_basis[3]);
-	mul_v2_fl(point_local, 1.0f / mpr->scale_basis);
+	mul_v2_fl(point_local, 1.0f / (mpr->scale_basis * U.ui_scale));
 
 	const float len_sq = len_squared_v2(point_local);
 	if (len_sq > 1.0) {



More information about the Bf-blender-cvs mailing list