diff options
author | Dalai Felinto <dfelinto@gmail.com> | 2018-11-25 14:50:34 +0300 |
---|---|---|
committer | Dalai Felinto <dfelinto@gmail.com> | 2018-11-25 14:50:34 +0300 |
commit | 4c3ed98ca27667c3403361199096e31eaa93cce2 (patch) | |
tree | 653c568d9d0547f7ac4beb847a590912d97102c0 /source/blender/editors/include | |
parent | e60c49ecf06815039137c98f86a7198d6ee81e14 (diff) |
Local View
Bring back per-viewport localview. This is based on Blender 2.79.
We have a limit of 16 different local view viewports.
We are using both the numpad /, as well as the regular /.
Missing features:
* Hack to make sure lights are always visible.
* Make rendered mode with external engines to support this as well
(probably just need to support this in the RNA iterators).
* Support over 16 viewports by taking existing viewports out of local view.
The code can use a cleanup pass in the future to unify the test to see
if an object is visible (or we can use TESTBASE in more places).
Diffstat (limited to 'source/blender/editors/include')
-rw-r--r-- | source/blender/editors/include/ED_armature.h | 3 | ||||
-rw-r--r-- | source/blender/editors/include/ED_object.h | 5 | ||||
-rw-r--r-- | source/blender/editors/include/ED_uvedit.h | 1 |
3 files changed, 6 insertions, 3 deletions
diff --git a/source/blender/editors/include/ED_armature.h b/source/blender/editors/include/ED_armature.h index 48bf390ee71..d5698ecadf7 100644 --- a/source/blender/editors/include/ED_armature.h +++ b/source/blender/editors/include/ED_armature.h @@ -48,6 +48,7 @@ struct Mesh; struct Object; struct ReportList; struct Scene; +struct View3D; struct ViewLayer; struct ViewContext; struct wmKeyConfig; @@ -154,7 +155,7 @@ void ED_armature_edit_deselect_all_multi(struct Object **objects, uint objects_l void ED_armature_edit_deselect_all_visible_multi(struct Object **objects, uint objects_len); bool ED_armature_pose_select_pick_with_buffer( - struct ViewLayer *view_layer, struct Base *base, const unsigned int *buffer, short hits, + struct ViewLayer *view_layer, struct View3D *v3d, struct Base *base, const unsigned int *buffer, short hits, bool extend, bool deselect, bool toggle, bool do_nearest); bool ED_armature_edit_select_pick( struct bContext *C, const int mval[2], bool extend, bool deselect, bool toggle); diff --git a/source/blender/editors/include/ED_object.h b/source/blender/editors/include/ED_object.h index 1101c966118..a6be1c833eb 100644 --- a/source/blender/editors/include/ED_object.h +++ b/source/blender/editors/include/ED_object.h @@ -46,6 +46,7 @@ struct ShaderFxData; struct Object; struct ReportList; struct Scene; +struct View3D; struct ViewLayer; struct bConstraint; struct bContext; @@ -111,8 +112,8 @@ void ED_object_parent_clear(struct Object *ob, const int type); void ED_object_base_select(struct Base *base, eObjectSelect_Mode mode); void ED_object_base_activate(struct bContext *C, struct Base *base); void ED_object_base_free_and_unlink(struct Main *bmain, struct Scene *scene, struct Object *ob); -bool ED_object_base_deselect_all_ex(struct ViewLayer *view_layer, int action, bool *r_any_visible); -bool ED_object_base_deselect_all(struct ViewLayer *view_layer, int action); +bool ED_object_base_deselect_all_ex(struct ViewLayer *view_layer, struct View3D *v3d, int action, bool *r_any_visible); +bool ED_object_base_deselect_all(struct ViewLayer *view_layer, struct View3D *v3d, int action); /* single object duplicate, if (dupflag == 0), fully linked, else it uses the flags given */ struct Base *ED_object_add_duplicate(struct Main *bmain, struct Scene *scene, struct ViewLayer *view_layer, struct Base *base, int dupflag); diff --git a/source/blender/editors/include/ED_uvedit.h b/source/blender/editors/include/ED_uvedit.h index 433c7c7fa48..f7d647bd89c 100644 --- a/source/blender/editors/include/ED_uvedit.h +++ b/source/blender/editors/include/ED_uvedit.h @@ -41,6 +41,7 @@ struct ImageUser; struct Main; struct Object; struct Scene; +struct View3D; struct ViewLayer; struct SpaceImage; struct bNode; |