diff options
Diffstat (limited to 'source/blender/draw/intern/draw_manager.c')
-rw-r--r-- | source/blender/draw/intern/draw_manager.c | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/source/blender/draw/intern/draw_manager.c b/source/blender/draw/intern/draw_manager.c index bc3e8c9f716..71365cac470 100644 --- a/source/blender/draw/intern/draw_manager.c +++ b/source/blender/draw/intern/draw_manager.c @@ -189,6 +189,24 @@ bool DRW_object_is_flat_normal(const Object *ob) return true; } +bool DRW_object_use_hide_faces(const struct Object *ob) +{ + if (ob->type == OB_MESH) { + const Mesh *me = ob->data; + + switch (ob->mode) { + case OB_MODE_TEXTURE_PAINT: + case OB_MODE_VERTEX_PAINT: + return (me->editflag & ME_EDIT_PAINT_FACE_SEL) != 0; + + case OB_MODE_WEIGHT_PAINT: + return (me->editflag & (ME_EDIT_PAINT_FACE_SEL | ME_EDIT_PAINT_VERT_SEL)) != 0; + } + } + + return false; +} + bool DRW_object_is_visible_psys_in_active_context( const Object *object, const ParticleSystem *psys) |