Commit: 30da20d0ee0133ff609f92c681ad7b1a34282b62
Author: Julian Eisel
Date:   Mon Oct 3 18:59:29 2016 +0200
Branches: custom-manipulators
https://developer.blender.org/rB30da20d0ee0133ff609f92c681ad7b1a34282b62

Fixes to make branch working after latest merge

===================================================================

M       source/blender/editors/space_graph/space_graph.c
M       source/blender/editors/space_image/space_image.c
M       source/blender/editors/space_node/node_draw.c
M       source/blender/editors/space_node/space_node.c
M       source/blender/editors/space_sequencer/sequencer_draw.c
M       source/blender/editors/space_sequencer/space_sequencer.c
M       source/blender/editors/space_view3d/space_view3d.c
M       source/blender/editors/space_view3d/view3d_draw.c
M       source/blender/windowmanager/manipulators/intern/wm_manipulatormap.c

===================================================================

diff --git a/source/blender/editors/space_graph/space_graph.c 
b/source/blender/editors/space_graph/space_graph.c
index 79c4db8..e7a965d 100644
--- a/source/blender/editors/space_graph/space_graph.c
+++ b/source/blender/editors/space_graph/space_graph.c
@@ -349,8 +349,7 @@ static void graph_main_region_draw(const bContext *C, 
ARegion *ar)
        UI_view2d_view_restore(C);
        
        /* finally draw any widgets here */
-       WM_manipulatormap_update(C, ar->manipulator_map);
-       WM_manipulatormap_draw(C, ar->manipulator_map, false, true);
+       WM_manipulatormap_draw(ar->manipulator_map, C, 
WM_MANIPULATORMAP_DRAWSTEP_2D);
        
        /* scrollers */
        // FIXME: args for scrollers depend on the type of data being shown...
diff --git a/source/blender/editors/space_image/space_image.c 
b/source/blender/editors/space_image/space_image.c
index 9dc55eb..08e0dee 100644
--- a/source/blender/editors/space_image/space_image.c
+++ b/source/blender/editors/space_image/space_image.c
@@ -677,7 +677,7 @@ static void image_main_region_init(wmWindowManager *wm, 
ARegion *ar)
                ar->manipulator_map = WM_manipulatormap_new_from_type(&(const 
struct wmManipulatorMapType_Params) {
                        "Image_UV", SPACE_IMAGE, RGN_TYPE_WINDOW});
        }
-       WM_manipulatormaps_add_handlers(ar, ar->manipulator_map);
+       WM_manipulatormap_add_handlers(ar, ar->manipulator_map);
 
        /* mask polls mode */
        keymap = WM_keymap_find(wm->defaultconf, "Mask Editing", 0, 0);
@@ -819,8 +819,7 @@ static void image_main_region_draw(const bContext *C, 
ARegion *ar)
                UI_view2d_view_restore(C);
        }
 
-       WM_manipulatormap_update(C, ar->manipulator_map);
-       WM_manipulatormap_draw(C, ar->manipulator_map, false, true);
+       WM_manipulatormap_draw(ar->manipulator_map, C, 
WM_MANIPULATORMAP_DRAWSTEP_2D);
 
        draw_image_cache(C, ar);
 
diff --git a/source/blender/editors/space_node/node_draw.c 
b/source/blender/editors/space_node/node_draw.c
index eb16374..41e3243 100644
--- a/source/blender/editors/space_node/node_draw.c
+++ b/source/blender/editors/space_node/node_draw.c
@@ -1378,8 +1378,7 @@ void drawnodespace(const bContext *C, ARegion *ar)
                        glaDefine2DArea(&ar->winrct);
                        wmOrtho2_pixelspace(ar->winx, ar->winy);
 
-                       WM_manipulatormap_update(C, ar->manipulator_map);
-                       WM_manipulatormap_draw(C, ar->manipulator_map, false, 
true);
+                       WM_manipulatormap_draw(ar->manipulator_map, C, 
WM_MANIPULATORMAP_DRAWSTEP_2D);
 
                        glMatrixMode(GL_PROJECTION);
                        glPopMatrix();
diff --git a/source/blender/editors/space_node/space_node.c 
b/source/blender/editors/space_node/space_node.c
index 74e2684..9da9866 100644
--- a/source/blender/editors/space_node/space_node.c
+++ b/source/blender/editors/space_node/space_node.c
@@ -654,7 +654,7 @@ static void node_main_region_init(wmWindowManager *wm, 
ARegion *ar)
                        "Node_Canvas", SPACE_NODE, RGN_TYPE_WINDOW});
        }
 
-       WM_manipulatormaps_add_handlers(ar, ar->manipulator_map);
+       WM_manipulatormap_add_handlers(ar, ar->manipulator_map);
 
        /* own keymaps */
        keymap = WM_keymap_find(wm->defaultconf, "Node Generic", SPACE_NODE, 0);
diff --git a/source/blender/editors/space_sequencer/sequencer_draw.c 
b/source/blender/editors/space_sequencer/sequencer_draw.c
index 6657c2b..4d9d361 100644
--- a/source/blender/editors/space_sequencer/sequencer_draw.c
+++ b/source/blender/editors/space_sequencer/sequencer_draw.c
@@ -73,6 +73,7 @@
 #include "UI_view2d.h"
 
 #include "WM_api.h"
+#include "WM_types.h"
 
 #include "MEM_guardedalloc.h"
 
@@ -1678,10 +1679,9 @@ void draw_timeline_seq(const bContext *C, ARegion *ar)
 
        /* reset view matrix */
        UI_view2d_view_restore(C);
-       
+
        /* finally draw any widgets here */
-       WM_manipulatormap_update(C, ar->manipulator_map);
-       WM_manipulatormap_draw(C, ar->manipulator_map, false, true);
+       WM_manipulatormap_draw(ar->manipulator_map, C, 
WM_MANIPULATORMAP_DRAWSTEP_2D);
 
        /* scrollers */
        unit = (sseq->flag & SEQ_DRAWFRAMES) ? V2D_UNIT_FRAMES : 
V2D_UNIT_SECONDS;
diff --git a/source/blender/editors/space_sequencer/space_sequencer.c 
b/source/blender/editors/space_sequencer/space_sequencer.c
index ddddd4f..5aa5321 100644
--- a/source/blender/editors/space_sequencer/space_sequencer.c
+++ b/source/blender/editors/space_sequencer/space_sequencer.c
@@ -605,8 +605,7 @@ static void sequencer_preview_region_draw(const bContext 
*C, ARegion *ar)
                ED_scene_draw_fps(scene, &rect);
        }
 
-       WM_manipulatormap_update(C, ar->manipulator_map);
-       WM_manipulatormap_draw(C, ar->manipulator_map, false, true);
+       WM_manipulatormap_draw(ar->manipulator_map, C, 
WM_MANIPULATORMAP_DRAWSTEP_2D);
 }
 
 static void sequencer_preview_region_listener(bScreen *UNUSED(sc), ScrArea 
*UNUSED(sa), ARegion *ar, wmNotifier *wmn)
diff --git a/source/blender/editors/space_view3d/space_view3d.c 
b/source/blender/editors/space_view3d/space_view3d.c
index 73a4093..6561e74 100644
--- a/source/blender/editors/space_view3d/space_view3d.c
+++ b/source/blender/editors/space_view3d/space_view3d.c
@@ -505,7 +505,7 @@ static void view3d_main_region_init(wmWindowManager *wm, 
ARegion *ar)
                        "View3D", SPACE_VIEW3D, RGN_TYPE_WINDOW});
        }
 
-       WM_manipulatormaps_add_handlers(ar, ar->manipulator_map);
+       WM_manipulatormap_add_handlers(ar, ar->manipulator_map);
 
        /* object ops. */
        
diff --git a/source/blender/editors/space_view3d/view3d_draw.c 
b/source/blender/editors/space_view3d/view3d_draw.c
index a7639d8..12aa24a 100644
--- a/source/blender/editors/space_view3d/view3d_draw.c
+++ b/source/blender/editors/space_view3d/view3d_draw.c
@@ -79,6 +79,7 @@
 #include "BIF_glutil.h"
 
 #include "WM_api.h"
+#include "WM_types.h"
 
 #include "BLF_api.h"
 #include "BLT_translation.h"
@@ -4083,12 +4084,10 @@ static void view3d_main_region_draw_objects(const 
bContext *C, Scene *scene, Vie
        /* main drawing call */
        view3d_draw_objects(C, scene, v3d, ar, grid_unit, true, false, 
do_compositing ? rv3d->compositor : NULL);
 
-       /* manipulators need to be updated *after* view matrix was set up
-        * XXX since we do 2 draw calls (with and without depth culling),
-        * it might be better to have 2 update calls, too */
-       WM_manipulatormap_update(C, ar->manipulator_map);
-       /* draw depth culled manipulators */
-       WM_manipulatormap_draw(C, ar->manipulator_map, true, false);
+       /* draw depth culled manipulators - manipulators need to be updated 
*after* view matrix was set up */
+       /* TODO depth culling manipulators is not yet supported, just drawing 
_3D here, should
+        * later become _IN_SCENE (and draw _3D separate) */
+       WM_manipulatormap_draw(ar->manipulator_map, C, 
WM_MANIPULATORMAP_DRAWSTEP_3D);
 
        /* post process */
        if (do_compositing) {
@@ -4231,7 +4230,6 @@ void view3d_main_region_draw(const bContext *C, ARegion 
*ar)
        const char *grid_unit = NULL;
        rcti border_rect;
        bool render_border, clip_border;
-       bool update_widgets = true;
 
        /* if we only redraw render border area, skip opengl draw and also
         * don't do scissor because it's already set */
@@ -4241,7 +4239,6 @@ void view3d_main_region_draw(const bContext *C, ARegion 
*ar)
        /* draw viewport using opengl */
        if (v3d->drawtype != OB_RENDER || 
!view3d_main_region_do_render_draw(scene) || clip_border) {
                view3d_main_region_draw_objects(C, scene, v3d, ar, &grid_unit);
-               update_widgets = false; /* widgets were updated in 
view3d_main_area_draw_objects */
 
 #ifdef DEBUG_DRAW
                bl_debug_draw();
@@ -4259,10 +4256,7 @@ void view3d_main_region_draw(const bContext *C, ARegion 
*ar)
        view3d_main_region_setup_view(scene, v3d, ar, NULL, NULL);
        glClear(GL_DEPTH_BUFFER_BIT);
 
-       if (update_widgets) {
-               WM_manipulatormap_update(C, ar->manipulator_map);
-       }
-       WM_manipulatormap_draw(C, ar->manipulator_map, false, true);
+       WM_manipulatormap_draw(ar->manipulator_map, C, 
WM_MANIPULATORMAP_DRAWSTEP_2D);
 
        ED_region_pixelspace(ar);
        
diff --git 
a/source/blender/windowmanager/manipulators/intern/wm_manipulatormap.c 
b/source/blender/windowmanager/manipulators/intern/wm_manipulatormap.c
index 4be9cba..8d9d9ff 100644
--- a/source/blender/windowmanager/manipulators/intern/wm_manipulatormap.c
+++ b/source/blender/windowmanager/manipulators/intern/wm_manipulatormap.c
@@ -240,14 +240,6 @@ static void manipulatormap_prepare_drawing(
        manipulatormap_tag_updated(mmap);
 }
 
-static void manipulator_draw(wmManipulator *manipulator, const bContext *C, 
ListBase *draw_manipulators)
-{
-       BLI_assert(BLI_findindex(draw_manipulators, manipulator) != -1);
-       manipulator->draw(C, manipulator);
-       /* free/remove manipulator link after drawing */
-       BLI_freelinkN(draw_manipulators, manipulator);
-}
-
 /**
  * Draw all visible manipulators in \a mmap.
  * Uses global draw_manipulators listbase.
@@ -288,8 +280,9 @@ static void manipulators_draw_list(const wmManipulatorMap 
*mmap, const bContext
                wmManipulator *manipulator = link->data;
                link_next = link->next;
 
-               /* removes/frees manipulator link from draw_manipulators */
-               manipulator_draw(manipulator, C, draw_manipulators);
+               manipulator->draw(C, manipulator);
+               /* free/remove manipulator link after drawing */
+               BLI_freelinkN(draw_manipulators, link);
        }
 
 
@@ -303,7 +296,7 @@ static void manipulators_draw_list(const wmManipulatorMap 
*mmap, const bContext
 
 void WM_manipulatormap_draw(wmManipulatorMap *mmap, const bContext *C, const 
int drawstep)
 {
-       static ListBase draw_manipulators = {NULL};
+       ListBase draw_manipulators = {NULL};
 
        manipulatormap_prepare_drawing(mmap, C, &draw_manipulators, drawstep);
        manipulators_draw_list(mmap, C, &draw_manipulators);

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
https://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to