[Bf-blender-cvs] [c94b6209861] wm-drag-drop-rewrite: Merge branch 'master' into wm-drag-drop-rewrite
Julian Eisel
noreply at git.blender.org
Thu Mar 26 21:19:12 CET 2020
Commit: c94b6209861ca7cc3985b53474feed7d94c0221a
Author: Julian Eisel
Date: Thu Mar 26 21:03:42 2020 +0100
Branches: wm-drag-drop-rewrite
https://developer.blender.org/rBc94b6209861ca7cc3985b53474feed7d94c0221a
Merge branch 'master' into wm-drag-drop-rewrite
===================================================================
===================================================================
diff --cc source/blender/blenkernel/BKE_screen.h
index 3d680a68945,2231cc36861..b394d822164
--- a/source/blender/blenkernel/BKE_screen.h
+++ b/source/blender/blenkernel/BKE_screen.h
@@@ -48,15 -56,7 +56,11 @@@ struct wmMsgBus
struct wmNotifier;
struct wmWindow;
struct wmWindowManager;
+struct wmDragData;
+struct wmDropTarget;
+struct wmDropTargetFinder;
+struct wmEvent;
- #include "BLI_compiler_attrs.h"
-
- #include "RNA_types.h"
-
/* spacetype has everything stored to get an editor working, it gets initialized via
* ED_spacetypes_init() in editors/space_api/spacetypes.c */
/* an editor in Blender is a combined ScrArea + SpaceType + SpaceData */
diff --cc source/blender/blenloader/intern/readfile.c
index be0f5048719,eb787a16387..61179f65ad2
--- a/source/blender/blenloader/intern/readfile.c
+++ b/source/blender/blenloader/intern/readfile.c
@@@ -7880,8 -7809,10 +7809,10 @@@ static void direct_link_windowmanager(F
wm->message_bus = NULL;
+ wm->xr.runtime = NULL;
+
BLI_listbase_clear(&wm->jobs);
- BLI_listbase_clear(&wm->drags);
+ memset(&wm->drag, 0, sizeof(wmDragOperation));
wm->windrawable = NULL;
wm->winactive = NULL;
diff --cc source/blender/editors/include/UI_interface.h
index 0281795f44e,1fa6e5b12c1..e9027fe571f
--- a/source/blender/editors/include/UI_interface.h
+++ b/source/blender/editors/include/UI_interface.h
@@@ -2335,10 -2358,11 +2356,18 @@@ typedef struct uiDragColorHandle
void ED_operatortypes_ui(void);
void ED_keymap_ui(struct wmKeyConfig *keyconf);
++#if 0
+ void UI_drop_color_copy(struct wmDrag *drag, struct wmDropBox *drop);
+ bool UI_drop_color_poll(struct bContext *C,
+ struct wmDrag *drag,
+ const struct wmEvent *event,
- const char **r_tooltip);
++ const char **tooltip);
++#endif
++
+void UI_drop_target_find(struct bContext *C,
+ struct wmDropTargetFinder *finder,
+ struct wmDragData *drag_data,
+ const struct wmEvent *event);
bool UI_context_copy_to_selected_list(struct bContext *C,
struct PointerRNA *ptr,
diff --cc source/blender/editors/interface/interface_handlers.c
index 7e63ff6886c,07d5dd6e544..98d9418c3f5
--- a/source/blender/editors/interface/interface_handlers.c
+++ b/source/blender/editors/interface/interface_handlers.c
@@@ -7425,8 -7477,13 +7461,8 @@@ static int ui_do_button(bContext *C, ui
return WM_UI_HANDLER_BREAK;
}
- /* handle drop */
- if (event->type == EVT_DROP) {
- ui_but_drop(C, event, but, data);
- }
-
if ((data->state == BUTTON_STATE_HIGHLIGHT) &&
- ELEM(event->type, LEFTMOUSE, EVT_BUT_OPEN, PADENTER, RETKEY) &&
+ ELEM(event->type, LEFTMOUSE, EVT_BUT_OPEN, EVT_PADENTER, EVT_RETKEY) &&
(event->val == KM_RELEASE) &&
/* Only returns true if the event was handled. */
ui_do_but_extra_operator_icon(C, but, data, event)) {
diff --cc source/blender/editors/interface/interface_ops.c
index 5228dbd8016,519ba4cbbdf..3e3ca307cb3
--- a/source/blender/editors/interface/interface_ops.c
+++ b/source/blender/editors/interface/interface_ops.c
@@@ -1676,47 -1700,47 +1700,15 @@@ static void UI_OT_button_string_clear(w
/** \name Drop Color Operator
* \{ */
--bool UI_drop_color_poll(struct bContext *C,
-- wmDrag *drag,
-- const wmEvent *UNUSED(event),
- const char **UNUSED(tooltip))
- const char **UNUSED(r_tooltip))
--{
-- /* should only return true for regions that include buttons, for now
-- * return true always */
-- if (drag->type == WM_DRAG_COLOR) {
-- SpaceImage *sima = CTX_wm_space_image(C);
- ARegion *ar = CTX_wm_region(C);
- ARegion *region = CTX_wm_region(C);
--
-- if (UI_but_active_drop_color(C)) {
-- return 1;
-- }
--
-- if (sima && (sima->mode == SI_MODE_PAINT) && sima->image &&
- (ar && ar->regiontype == RGN_TYPE_WINDOW)) {
- (region && region->regiontype == RGN_TYPE_WINDOW)) {
-- return 1;
-- }
-- }
--
-- return 0;
--}
--
--void UI_drop_color_copy(wmDrag *drag, wmDropBox *drop)
--{
-- uiDragColorHandle *drag_info = drag->poin;
--
-- RNA_float_set_array(drop->ptr, "color", drag_info->color);
-- RNA_boolean_set(drop->ptr, "gamma", drag_info->gamma_corrected);
--}
--
static int drop_color_invoke(bContext *C, wmOperator *op, const wmEvent *event)
{
- ARegion *ar = CTX_wm_region(C);
+ ARegion *region = CTX_wm_region(C);
uiBut *but = NULL;
float color[4];
- bool gamma;
+ bool gamma_corrected;
RNA_float_get_array(op->ptr, "color", color);
- gamma = RNA_boolean_get(op->ptr, "gamma");
+ gamma_corrected = RNA_boolean_get(op->ptr, "gamma_corrected");
/* find button under mouse, check if it has RNA color property and
* if it does copy the data */
diff --cc source/blender/editors/screen/area.c
index a73106f5b2f,56ea59c1d6e..ec875cfae2c
--- a/source/blender/editors/screen/area.c
+++ b/source/blender/editors/screen/area.c
@@@ -1703,9 -1732,75 +1732,77 @@@ static void ed_default_handlers
wmKeyMap *keymap_sculpt = WM_keymap_ensure(
wm->defaultconf, "Grease Pencil Stroke Sculpt Mode", 0, 0);
WM_event_add_keymap_handler(handlers, keymap_sculpt);
+
+ wmKeyMap *keymap_vertex = WM_keymap_ensure(
+ wm->defaultconf, "Grease Pencil Stroke Vertex Mode", 0, 0);
+ WM_event_add_keymap_handler(handlers, keymap_vertex);
+
+ wmKeyMap *keymap_vertex_draw = WM_keymap_ensure(
+ wm->defaultconf, "Grease Pencil Stroke Vertex (Draw)", 0, 0);
+ WM_event_add_keymap_handler(handlers, keymap_vertex_draw);
+
+ wmKeyMap *keymap_vertex_blur = WM_keymap_ensure(
+ wm->defaultconf, "Grease Pencil Stroke Vertex (Blur)", 0, 0);
+ WM_event_add_keymap_handler(handlers, keymap_vertex_blur);
+
+ wmKeyMap *keymap_vertex_average = WM_keymap_ensure(
+ wm->defaultconf, "Grease Pencil Stroke Vertex (Average)", 0, 0);
+ WM_event_add_keymap_handler(handlers, keymap_vertex_average);
+
+ wmKeyMap *keymap_vertex_smear = WM_keymap_ensure(
+ wm->defaultconf, "Grease Pencil Stroke Vertex (Smear)", 0, 0);
+ WM_event_add_keymap_handler(handlers, keymap_vertex_smear);
+
+ wmKeyMap *keymap_vertex_replace = WM_keymap_ensure(
+ wm->defaultconf, "Grease Pencil Stroke Vertex (Replace)", 0, 0);
+ WM_event_add_keymap_handler(handlers, keymap_vertex_replace);
+
+ wmKeyMap *keymap_sculpt_smooth = WM_keymap_ensure(
+ wm->defaultconf, "Grease Pencil Stroke Sculpt (Smooth)", 0, 0);
+ WM_event_add_keymap_handler(handlers, keymap_sculpt_smooth);
+
+ wmKeyMap *keymap_sculpt_thickness = WM_keymap_ensure(
+ wm->defaultconf, "Grease Pencil Stroke Sculpt (Thickness)", 0, 0);
+ WM_event_add_keymap_handler(handlers, keymap_sculpt_thickness);
+
+ wmKeyMap *keymap_sculpt_strength = WM_keymap_ensure(
+ wm->defaultconf, "Grease Pencil Stroke Sculpt (Strength)", 0, 0);
+ WM_event_add_keymap_handler(handlers, keymap_sculpt_strength);
+
+ wmKeyMap *keymap_sculpt_grab = WM_keymap_ensure(
+ wm->defaultconf, "Grease Pencil Stroke Sculpt (Grab)", 0, 0);
+ WM_event_add_keymap_handler(handlers, keymap_sculpt_grab);
+
+ wmKeyMap *keymap_sculpt_push = WM_keymap_ensure(
+ wm->defaultconf, "Grease Pencil Stroke Sculpt (Push)", 0, 0);
+ WM_event_add_keymap_handler(handlers, keymap_sculpt_push);
+
+ wmKeyMap *keymap_sculpt_twist = WM_keymap_ensure(
+ wm->defaultconf, "Grease Pencil Stroke Sculpt (Twist)", 0, 0);
+ WM_event_add_keymap_handler(handlers, keymap_sculpt_twist);
+
+ wmKeyMap *keymap_sculpt_pinch = WM_keymap_ensure(
+ wm->defaultconf, "Grease Pencil Stroke Sculpt (Pinch)", 0, 0);
+ WM_event_add_keymap_handler(handlers, keymap_sculpt_pinch);
+
+ wmKeyMap *keymap_sculpt_randomize = WM_keymap_ensure(
+ wm->defaultconf, "Grease Pencil Stroke Sculpt (Randomize)", 0, 0);
+ WM_event_add_keymap_handler(handlers, keymap_sculpt_randomize);
+
+ wmKeyMap *keymap_sculpt_clone = WM_keymap_ensure(
+ wm->defaultconf, "Grease Pencil Stroke Sculpt (Clone)", 0, 0);
+ WM_event_add_keymap_handler(handlers, keymap_sculpt_clone);
+
+ wmKeyMap *keymap_weight = WM_keymap_ensure(
+ wm->defaultconf, "Grease Pencil Stroke Weight Mode", 0, 0);
+ WM_event_add_keymap_handler(handlers, keymap_weight);
+
+ wmKeyMap *keymap_weight_draw = WM_keymap_ensure(
+ wm->defaultconf, "Grease Pencil Stroke Weight (Draw)", 0, 0);
+ WM_event_add_keymap_handler(handlers, keymap_weight_draw);
}
+
+ WM_event_ensure_drop_handler(handlers);
}
void ED_area_update_region_sizes(wmWindowManager *wm, wmWindow *win, ScrArea *area)
diff --cc source/blender/editors/space_console/space_console.c
index cc4f9b327a0,66aa92275b4..4214d43fe5f
--- a/source/blender/editors/space_console/space_console.c
+++ b/source/blender/editors/space_console/space_console.c
@@@ -116,27 -116,33 +116,27 @@@ static SpaceLink *console_duplicate(Spa
}
/* add handlers, stuff you only do once or on area/region changes */
- static void console_main_region_init(wmWindowManager *wm, ARegion *ar)
+ static void console_main_region_init(wmWindowManager *wm, ARegion *region)
{
wmKeyMap *keymap;
- ListBase *lb;
- const float prev_y_min = ar->v2d.cur.ymin; /* so re-sizing keeps the cursor visible */
+ const float prev_y_min = region->v2d.cur.ymin; /* so re-sizing keeps the cursor visible */
/* force it on init, for old files, until it becomes config */
- ar->v2d.scroll = (V2D_SCROLL_RIGHT);
+ region->v2d.scroll = (V2D_SCROLL_RIGHT);
- UI_view2d_region_reinit(&ar->v2d, V2D_COMMONVIEW_CUSTOM, ar->winx, ar->winy);
+ UI_view2d_region_reinit(®ion->v2d, V2D_COMMONVIEW_CUSTOM, region->winx, region->winy);
/* always keep the bottom part of the view aligned, less annoying */
- if (prev_y_min != ar->v2d.cur.ymin) {
- const float cur_y_range = BLI_rctf_size_y(&ar->v2d.cur);
- a
@@ Diff output truncated at 10240 characters. @@
More information about the Bf-blender-cvs
mailing list