Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCampbell Barton <ideasman42@gmail.com>2018-06-07 18:05:49 +0300
committerCampbell Barton <ideasman42@gmail.com>2018-06-07 18:06:01 +0300
commitd274c64d22da51473839d87618ba0dc0a0f1fa42 (patch)
tree623183dd0c0f10e3920a637840dae62d094502b0 /source/blender/editors
parentdf4525d1d9d5250b8d0bdc6370f2736c2607b044 (diff)
WM: add support for drag events
This allows for a single key to be mapped to both release and drag, useful for pie menus to share a key with a different action.
Diffstat (limited to 'source/blender/editors')
-rw-r--r--source/blender/editors/interface/interface_region_menu_pie.c12
1 files changed, 10 insertions, 2 deletions
diff --git a/source/blender/editors/interface/interface_region_menu_pie.c b/source/blender/editors/interface/interface_region_menu_pie.c
index 37a603d967f..41001d65d82 100644
--- a/source/blender/editors/interface/interface_region_menu_pie.c
+++ b/source/blender/editors/interface/interface_region_menu_pie.c
@@ -150,8 +150,16 @@ uiPieMenu *UI_pie_menu_begin(struct bContext *C, const char *title, int icon, co
}
pie->layout = UI_block_layout(pie->block_radial, UI_LAYOUT_VERTICAL, UI_LAYOUT_PIEMENU, 0, 0, 200, 0, 0, style);
- pie->mx = event->x;
- pie->my = event->y;
+
+ /* Open from where we started dragging. */
+ if (event->val == KM_CLICK_DRAG) {
+ pie->mx = event->prevclickx;
+ pie->my = event->prevclicky;
+ }
+ else {
+ pie->mx = event->x;
+ pie->my = event->y;
+ }
/* create title button */
if (title[0]) {