create BKE_scene_layer_active
This commit is contained in:
@@ -54,6 +54,7 @@ struct Scene;
|
||||
struct SceneCollection;
|
||||
struct SceneLayer;
|
||||
|
||||
struct SceneLayer *BKE_scene_layer_active(struct Scene *scene);
|
||||
struct SceneLayer *BKE_scene_layer_add(struct Scene *scene, const char *name);
|
||||
|
||||
bool BKE_scene_layer_remove(struct Main *bmain, struct Scene *scene, struct SceneLayer *sl);
|
||||
|
||||
@@ -914,10 +914,7 @@ SceneLayer *CTX_data_scene_layer(const bContext *C)
|
||||
return sl;
|
||||
}
|
||||
else {
|
||||
Scene *scene = CTX_data_scene(C);
|
||||
sl = BLI_findlink(&scene->render_layers, scene->active_layer);
|
||||
BLI_assert(sl);
|
||||
return sl;
|
||||
return BKE_scene_layer_active(CTX_data_scene(C));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -57,6 +57,16 @@ static void object_bases_Iterator_next(Iterator *iter, const int flag);
|
||||
|
||||
/* RenderLayer */
|
||||
|
||||
/**
|
||||
* Returns the SceneLayer to be used for rendering
|
||||
*/
|
||||
SceneLayer *BKE_scene_layer_active(struct Scene *scene)
|
||||
{
|
||||
SceneLayer *sl = BLI_findlink(&scene->render_layers, scene->active_layer);
|
||||
BLI_assert(sl);
|
||||
return sl;
|
||||
}
|
||||
|
||||
/**
|
||||
* Add a new renderlayer
|
||||
* by default, a renderlayer has the master collection
|
||||
|
||||
@@ -653,7 +653,7 @@ void SCENE_OT_render_layer_add(wmOperatorType *ot)
|
||||
static int render_layer_remove_exec(bContext *C, wmOperator *UNUSED(op))
|
||||
{
|
||||
Scene *scene = CTX_data_scene(C);
|
||||
SceneLayer *sl = BLI_findlink(&scene->render_layers, scene->active_layer);
|
||||
SceneLayer *sl = BKE_scene_layer_active(scene);
|
||||
|
||||
if (!BKE_scene_layer_remove(CTX_data_main(C), scene, sl)) {
|
||||
return OPERATOR_CANCELLED;
|
||||
|
||||
@@ -1453,7 +1453,7 @@ void ED_view3d_draw_depth(Scene *scene, ARegion *ar, View3D *v3d, bool alphaover
|
||||
float glalphaclip = U.glalphaclip;
|
||||
int obcenter_dia = U.obcenter_dia;
|
||||
TODO_LAYER_CONTEXT; /* we should pass context, really */
|
||||
SceneLayer *sl = BLI_findlink(&scene->render_layers, scene->active_layer);
|
||||
SceneLayer *sl = BKE_scene_layer_active(scene);
|
||||
/* no need for color when drawing depth buffer */
|
||||
const short dflag_depth = DRAW_CONSTCOLOR;
|
||||
/* temp set drawtype to solid */
|
||||
|
||||
Reference in New Issue
Block a user