diff options
author | Julian Eisel <julian@blender.org> | 2020-11-18 21:49:20 +0300 |
---|---|---|
committer | Julian Eisel <julian@blender.org> | 2020-11-18 21:49:20 +0300 |
commit | d6d79653073944d58930717f6da2f35c38e49061 (patch) | |
tree | a5b544cd4a56a1955010e043d03a7ed071095064 /source/blender/editors/interface/interface.c | |
parent | 56ef6fdb9ec4ffdbf2a30a6676185139c8d8a138 (diff) |
Fix pin icon in Properties not right-aligned after zooming
The logic for separator-spacers (used here for right-alignment) didn't take
region scaling into account. Usually that's not an issue because they are
otherwise only used in headers which can't zoom.
Diffstat (limited to 'source/blender/editors/interface/interface.c')
-rw-r--r-- | source/blender/editors/interface/interface.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/source/blender/editors/interface/interface.c b/source/blender/editors/interface/interface.c index 02e083076f0..1b87f5081b6 100644 --- a/source/blender/editors/interface/interface.c +++ b/source/blender/editors/interface/interface.c @@ -64,6 +64,7 @@ #include "UI_interface.h" #include "UI_interface_icons.h" +#include "UI_view2d.h" #include "IMB_imbuf.h" @@ -286,11 +287,12 @@ static void ui_update_flexible_spacing(const ARegion *region, uiBlock *block) } } + const float view_scale_x = UI_view2d_scale_get_x(®ion->v2d); const float segment_width = region_width / (float)sepr_flex_len; float offset = 0, remaining_space = region_width - buttons_width; i = 0; LISTBASE_FOREACH (uiBut *, but, &block->buttons) { - BLI_rctf_translate(&but->rect, offset, 0); + BLI_rctf_translate(&but->rect, offset / view_scale_x, 0); if (but->type == UI_BTYPE_SEPR_SPACER) { /* How much the next block overlap with the current segment */ int overlap = ((i == sepr_flex_len - 1) ? buttons_width - spacers_pos[i] : |