Merge branch 'master' into blender2.8
[blender.git] / source / blender / editors / space_api / spacetypes.c
index 45b0fb3..33ec7f7 100644 (file)
@@ -55,6 +55,7 @@
 #include "ED_paint.h"
 #include "ED_physics.h"
 #include "ED_render.h"
+#include "ED_scene.h"
 #include "ED_screen.h"
 #include "ED_sculpt.h"
 #include "ED_space_api.h"
@@ -66,6 +67,7 @@
 #include "ED_clip.h"
 #include "ED_mask.h"
 #include "ED_sequencer.h"
+#include "ED_manipulator_library.h"
 
 #include "io_ops.h"
 
@@ -80,7 +82,6 @@ void ED_spacetypes_init(void)
 
        /* create space types */
        ED_spacetype_outliner();
-       ED_spacetype_time();
        ED_spacetype_view3d();
        ED_spacetype_ipo();
        ED_spacetype_image();
@@ -93,13 +94,16 @@ void ED_spacetypes_init(void)
        ED_spacetype_script();
        ED_spacetype_text();
        ED_spacetype_sequencer();
-       ED_spacetype_logic();
        ED_spacetype_console();
        ED_spacetype_userpref();
        ED_spacetype_clip();
+       ED_spacetype_statusbar();
+       ED_spacetype_topbar();
 //     ...
 
        /* register operator types for screen and all spaces */
+       ED_operatortypes_workspace();
+       ED_operatortypes_scene();
        ED_operatortypes_screen();
        ED_operatortypes_anim();
        ED_operatortypes_animchannels();
@@ -117,22 +121,33 @@ void ED_spacetypes_init(void)
        ED_operatortypes_metaball();
        ED_operatortypes_sound();
        ED_operatortypes_render();
-       ED_operatortypes_logic();
        ED_operatortypes_mask();
        ED_operatortypes_io();
 
        ED_operatortypes_view2d();
        ED_operatortypes_ui();
 
-       /* register operators */
+       /* manipulator types */
+       ED_manipulatortypes_button_2d();
+       ED_manipulatortypes_dial_3d();
+       ED_manipulatortypes_grab_3d();
+       ED_manipulatortypes_arrow_2d();
+       ED_manipulatortypes_arrow_3d();
+       ED_manipulatortypes_primitive_3d();
+       ED_manipulatortypes_cage_2d();
+       ED_manipulatortypes_cage_3d();
+
+       /* register types for operators and manipulators */
        spacetypes = BKE_spacetypes_list();
        for (type = spacetypes->first; type; type = type->next) {
-               if (type->operatortypes)
+               /* init manipulator types first, operator-types need them */
+               if (type->manipulators) {
+                       type->manipulators();
+               }
+               if (type->operatortypes) {
                        type->operatortypes();
+               }
        }
-
-       /* register internal render callbacks */
-       ED_render_internal_init();
 }
 
 void ED_spacemacros_init(void)
@@ -254,7 +269,6 @@ void ED_region_draw_cb_draw(const bContext *C, ARegion *ar, int type)
 
        for (rdc = ar->type->drawcalls.first; rdc; rdc = rdc->next) {
                if (rdc->type == type) {
-                       UI_reinit_gl_state();
                        rdc->draw(C, ar, rdc->customdata);
                }
        }
@@ -267,7 +281,7 @@ void ED_region_draw_cb_draw(const bContext *C, ARegion *ar, int type)
 void ED_spacetype_xxx(void);
 
 /* allocate and init some vars */
-static SpaceLink *xxx_new(const bContext *UNUSED(C))
+static SpaceLink *xxx_new(const ScrArea *UNUSED(sa), const Scene *UNUSED(scene))
 {
        return NULL;
 }