diff options
author | Yevgeny Makarov <jenkm> | 2020-11-24 03:56:01 +0300 |
---|---|---|
committer | Harley Acheson <harley.acheson@gmail.com> | 2020-11-24 03:56:01 +0300 |
commit | b6a50b5dcb461fe06cc3efc76b34e483a2ca6c0e (patch) | |
tree | cbfe61ead66cc20c3ebaa26f32d27bfbe571d66f /source/blender | |
parent | 246c11634f75fa40c03bbec4439a1bdc3719f8cf (diff) |
UI: Block Safety Not Scaled Correctly
Layout block safety sizes were not scaled correctly with interface scale.
Differential Revision: https://developer.blender.org/D9569
Reviewed by Brecht Van Lommel
Diffstat (limited to 'source/blender')
-rw-r--r-- | source/blender/editors/interface/interface.c | 2 | ||||
-rw-r--r-- | source/blender/editors/interface/interface_region_popup.c | 23 |
2 files changed, 14 insertions, 11 deletions
diff --git a/source/blender/editors/interface/interface.c b/source/blender/editors/interface/interface.c index 1b87f5081b6..685b34b7185 100644 --- a/source/blender/editors/interface/interface.c +++ b/source/blender/editors/interface/interface.c @@ -465,7 +465,7 @@ void ui_block_bounds_calc(uiBlock *block) /* hardcoded exception... but that one is annoying with larger safety */ uiBut *bt = block->buttons.first; - int xof = (bt && STRPREFIX(bt->str, "ERROR")) ? 10 : 40; + int xof = ((bt && STRPREFIX(bt->str, "ERROR")) ? 10 : 40) * U.dpi_fac; block->safety.xmin = block->rect.xmin - xof; block->safety.ymin = block->rect.ymin - xof; diff --git a/source/blender/editors/interface/interface_region_popup.c b/source/blender/editors/interface/interface_region_popup.c index f941474ba25..93e3dbb2cc8 100644 --- a/source/blender/editors/interface/interface_region_popup.c +++ b/source/blender/editors/interface/interface_region_popup.c @@ -308,43 +308,46 @@ static void ui_popup_block_position(wmWindow *window, /* when you are outside parent button, safety there should be smaller */ + const int s1 = 40 * U.dpi_fac; + const int s2 = 3 * U.dpi_fac; + /* parent button to left */ if (midx < block->rect.xmin) { - block->safety.xmin = block->rect.xmin - 3; + block->safety.xmin = block->rect.xmin - s2; } else { - block->safety.xmin = block->rect.xmin - 40; + block->safety.xmin = block->rect.xmin - s1; } /* parent button to right */ if (midx > block->rect.xmax) { - block->safety.xmax = block->rect.xmax + 3; + block->safety.xmax = block->rect.xmax + s2; } else { - block->safety.xmax = block->rect.xmax + 40; + block->safety.xmax = block->rect.xmax + s1; } /* parent button on bottom */ if (midy < block->rect.ymin) { - block->safety.ymin = block->rect.ymin - 3; + block->safety.ymin = block->rect.ymin - s2; } else { - block->safety.ymin = block->rect.ymin - 40; + block->safety.ymin = block->rect.ymin - s1; } /* parent button on top */ if (midy > block->rect.ymax) { - block->safety.ymax = block->rect.ymax + 3; + block->safety.ymax = block->rect.ymax + s2; } else { - block->safety.ymax = block->rect.ymax + 40; + block->safety.ymax = block->rect.ymax + s1; } /* exception for switched pulldowns... */ if (dir1 && (dir1 & block->direction) == 0) { if (dir2 == UI_DIR_RIGHT) { - block->safety.xmax = block->rect.xmax + 3; + block->safety.xmax = block->rect.xmax + s2; } if (dir2 == UI_DIR_LEFT) { - block->safety.xmin = block->rect.xmin - 3; + block->safety.xmin = block->rect.xmin - s2; } } block->direction = dir1; |