diff options
Diffstat (limited to 'source/blender/editors/uvedit/uvedit_buttons.c')
-rw-r--r-- | source/blender/editors/uvedit/uvedit_buttons.c | 29 |
1 files changed, 21 insertions, 8 deletions
diff --git a/source/blender/editors/uvedit/uvedit_buttons.c b/source/blender/editors/uvedit/uvedit_buttons.c index 6816e785c1f..0d8dd2369d8 100644 --- a/source/blender/editors/uvedit/uvedit_buttons.c +++ b/source/blender/editors/uvedit/uvedit_buttons.c @@ -53,7 +53,6 @@ #include "ED_uvedit.h" #include "UI_interface.h" -#include "UI_resources.h" #include "WM_api.h" #include "WM_types.h" @@ -142,11 +141,25 @@ static void uvedit_vertex_buttons(const bContext *C, uiBlock *block) em = BKE_editmesh_from_object(obedit); if (uvedit_center(scene, em, ima, center)) { + float range_xy[2][2] = { + {-10.0f, 10.0f}, + {-10.0f, 10.0f}, + }; + copy_v2_v2(uvedit_old_center, center); + /* expand UI range by center */ + CLAMP_MAX(range_xy[0][0], uvedit_old_center[0]); + CLAMP_MIN(range_xy[0][1], uvedit_old_center[0]); + CLAMP_MAX(range_xy[1][0], uvedit_old_center[1]); + CLAMP_MIN(range_xy[1][1], uvedit_old_center[1]); + if (!(sima->flag & SI_COORDFLOATS)) { uvedit_old_center[0] *= imx; uvedit_old_center[1] *= imy; + + mul_v2_fl(range_xy[0], imx); + mul_v2_fl(range_xy[1], imy); } if (sima->flag & SI_COORDFLOATS) { @@ -158,12 +171,12 @@ static void uvedit_vertex_buttons(const bContext *C, uiBlock *block) digits = 2; } - uiBlockBeginAlign(block); - uiDefButF(block, NUM, B_UVEDIT_VERTEX, IFACE_("X:"), 0, 0, width, UI_UNIT_Y, &uvedit_old_center[0], - -10 * imx, 10.0 * imx, step, digits, ""); - uiDefButF(block, NUM, B_UVEDIT_VERTEX, IFACE_("Y:"), width, 0, width, UI_UNIT_Y, &uvedit_old_center[1], - -10 * imy, 10.0 * imy, step, digits, ""); - uiBlockEndAlign(block); + UI_block_align_begin(block); + uiDefButF(block, UI_BTYPE_NUM, B_UVEDIT_VERTEX, IFACE_("X:"), 0, 0, width, UI_UNIT_Y, &uvedit_old_center[0], + UNPACK2(range_xy[0]), step, digits, ""); + uiDefButF(block, UI_BTYPE_NUM, B_UVEDIT_VERTEX, IFACE_("Y:"), width, 0, width, UI_UNIT_Y, &uvedit_old_center[1], + UNPACK2(range_xy[1]), step, digits, ""); + UI_block_align_end(block); } } @@ -212,7 +225,7 @@ static void image_panel_uv(const bContext *C, Panel *pa) uiBlock *block; block = uiLayoutAbsoluteBlock(pa->layout); - uiBlockSetHandleFunc(block, do_uvedit_vertex, NULL); + UI_block_func_handle_set(block, do_uvedit_vertex, NULL); uvedit_vertex_buttons(C, block); } |