diff options
author | Brecht Van Lommel <brechtvanlommel@gmail.com> | 2018-05-06 19:08:27 +0300 |
---|---|---|
committer | Brecht Van Lommel <brechtvanlommel@gmail.com> | 2018-05-06 21:14:58 +0300 |
commit | c9ed78733cc99296e90434f085651cc83fe0a7d1 (patch) | |
tree | 1bac611ab7e22dfbbc6b36892ec31141a4bedb41 /source/blender/editors/interface/interface_intern.h | |
parent | 16e220c95929365e3e75479018bdbd71b0ad2981 (diff) |
UI: fixes for 3D viewport popovers moving / flipping on edits.
* Ensure popover does not change direction or location.
* Open popover towards the relevant editor, like pulldown menus.
* Use a bigger maximum assumed size to deal with some corner cases.
* Do proper 3D viewport header refresh on shading mode changes.
Diffstat (limited to 'source/blender/editors/interface/interface_intern.h')
-rw-r--r-- | source/blender/editors/interface/interface_intern.h | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/source/blender/editors/interface/interface_intern.h b/source/blender/editors/interface/interface_intern.h index e6f40d758d1..de2217a3d3e 100644 --- a/source/blender/editors/interface/interface_intern.h +++ b/source/blender/editors/interface/interface_intern.h @@ -551,6 +551,7 @@ struct uiPopupBlockHandle { struct uiPopupBlockCreate popup_create_vars; /* true if we can re-create the popup using 'popup_create_vars' */ bool can_refresh; + bool refresh; struct wmTimer *scrolltimer; @@ -572,8 +573,14 @@ struct uiPopupBlockHandle { /* menu direction */ int direction; - /* previous rect for refresh */ + /* Previous values so we don't resize or reposition on refresh. */ rctf prev_block_rect; + rctf prev_butrct; + short prev_dir1, prev_dir2; + int prev_mx, prev_my; + + /* Maximum estimated size to avoid having to reposition on refresh. */ + float max_size_x, max_size_y; /* #ifdef USE_DRAG_POPUP */ bool is_grab; |