[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(&region->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