diff options
author | Campbell Barton <ideasman42@gmail.com> | 2019-04-14 14:11:17 +0300 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2019-04-14 14:17:55 +0300 |
commit | 2120c5af032831348412a2a8e6c61f82ba1b921c (patch) | |
tree | affb3acf7fd4c467aab6e7eac873dcf18d2d631a /source/blender/editors/space_view3d/view3d_gizmo_light.c | |
parent | 90e760270aac6a1e995d8bfd629f9da1851a65c9 (diff) |
Gizmo: individual toggles for 3D view gizmos
The popover for displaying gizmos now has options for
empty, light & camera gizmos.
Transform toggles are now checkboxes, which has the advantage that it's
more obvious they can be mixed however changing from one to another now
uses 3x clicks instead of a single click-drag action.
We might need a faster way to switch between transform types.
Diffstat (limited to 'source/blender/editors/space_view3d/view3d_gizmo_light.c')
-rw-r--r-- | source/blender/editors/space_view3d/view3d_gizmo_light.c | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/source/blender/editors/space_view3d/view3d_gizmo_light.c b/source/blender/editors/space_view3d/view3d_gizmo_light.c index f8f9951c20e..5fd5336f4ca 100644 --- a/source/blender/editors/space_view3d/view3d_gizmo_light.c +++ b/source/blender/editors/space_view3d/view3d_gizmo_light.c @@ -54,6 +54,9 @@ static bool WIDGETGROUP_light_spot_poll(const bContext *C, wmGizmoGroupType *UNU if (v3d->gizmo_flag & (V3D_GIZMO_HIDE | V3D_GIZMO_HIDE_CONTEXT)) { return false; } + if ((v3d->gizmo_show_light & V3D_GIZMO_SHOW_LIGHT_SIZE) == 0) { + return false; + } ViewLayer *view_layer = CTX_data_view_layer(C); Base *base = BASACT(view_layer); @@ -159,7 +162,10 @@ static void gizmo_area_light_prop_matrix_set( static bool WIDGETGROUP_light_area_poll(const bContext *C, wmGizmoGroupType *UNUSED(gzgt)) { View3D *v3d = CTX_wm_view3d(C); - if (v3d->flag2 & V3D_HIDE_OVERLAYS) { + if (v3d->gizmo_flag & (V3D_GIZMO_HIDE | V3D_GIZMO_HIDE_CONTEXT)) { + return false; + } + if ((v3d->gizmo_show_light & V3D_GIZMO_SHOW_LIGHT_SIZE) == 0) { return false; } @@ -242,7 +248,10 @@ void VIEW3D_GGT_light_area(wmGizmoGroupType *gzgt) static bool WIDGETGROUP_light_target_poll(const bContext *C, wmGizmoGroupType *UNUSED(gzgt)) { View3D *v3d = CTX_wm_view3d(C); - if (v3d->flag2 & V3D_HIDE_OVERLAYS) { + if (v3d->gizmo_flag & (V3D_GIZMO_HIDE | V3D_GIZMO_HIDE_CONTEXT)) { + return false; + } + if ((v3d->gizmo_show_light & V3D_GIZMO_SHOW_LIGHT_LOOK_AT) == 0) { return false; } |