Workbench: Show 3D Cursor Overlay

This commit is contained in:
2018-05-03 10:55:28 +02:00
parent d64f12248a
commit 026792ffed
6 changed files with 20 additions and 2 deletions

View File

@@ -3594,13 +3594,17 @@ class VIEW3D_PT_overlay(Panel):
overlay = view.overlay
shading = view.shading
scene = context.scene
display_all = overlay.show_overlays
col = layout.column()
col.prop(overlay, "show_overlays")
col.separator()
col.prop(view, "show_world")
col = layout.column()
col.active = display_all
col.prop(overlay, "show_3dcursor")
if context.mode in {'PAINT_WEIGHT', 'PAINT_VERTEX'}:
engine_type = {
'PAINT_WEIGHT': 'WeightPaintMode',
@@ -3613,7 +3617,6 @@ class VIEW3D_PT_overlay(Panel):
col.prop(view, "show_mode_shade_override")
col = layout.column()
display_all = overlay.show_overlays
col.active = display_all
col.prop(view, "show_outline_selected")
col.prop(view, "show_all_objects_origin")

View File

@@ -1068,6 +1068,10 @@ void blo_do_versions_280(FileData *fd, Library *UNUSED(lib), Main *main)
}
}
}
if (sl->spacetype == SPACE_VIEW3D) {
View3D *v3d = (View3D *)sl;
v3d->overlays |= V3D_OVERLAY_3DCURSOR;
}
}
}
}

View File

@@ -614,6 +614,10 @@ void DRW_draw_background(void)
static bool is_cursor_visible(const DRWContextState *draw_ctx, Scene *scene, ViewLayer *view_layer)
{
Object *ob = OBACT(view_layer);
View3D *v3d = draw_ctx->v3d;
if ((v3d->flag2 & V3D_RENDER_OVERRIDE) > 0 || (v3d->overlays & V3D_OVERLAY_3DCURSOR) == 0) {
return false;
}
/* don't draw cursor in paint modes, but with a few exceptions */
if (ob && draw_ctx->object_mode & OB_MODE_ALL_PAINT) {

View File

@@ -323,6 +323,7 @@ static SpaceLink *view3d_new(const ScrArea *UNUSED(sa), const Scene *scene)
v3d->gridsubdiv = 10;
v3d->drawtype = OB_SOLID;
v3d->drawtype_lighting = V3D_LIGHTING_STUDIO;
v3d->overlays = V3D_OVERLAY_3DCURSOR;
v3d->gridflag = V3D_SHOW_X | V3D_SHOW_Y | V3D_SHOW_FLOOR;

View File

@@ -95,6 +95,7 @@ enum {
enum {
V3D_OVERLAY_FACE_ORIENTATION = (1 << 0),
V3D_OVERLAY_3DCURSOR = (1 << 1),
};
typedef struct RegionView3D {

View File

@@ -2252,6 +2252,11 @@ static void rna_def_space_view3d_overlay(BlenderRNA *brna)
RNA_def_property_boolean_negative_sdna(prop, NULL, "flag2", V3D_RENDER_OVERRIDE);
RNA_def_property_ui_text(prop, "Show Overlays", "Display overlays like manipulators and outlines");
RNA_def_property_update(prop, NC_SPACE | ND_SPACE_VIEW3D, NULL);
prop = RNA_def_property(srna, "show_3dcursor", PROP_BOOLEAN, PROP_NONE);
RNA_def_property_boolean_sdna(prop, NULL, "overlays", V3D_OVERLAY_3DCURSOR);
RNA_def_property_ui_text(prop, "Show 3D Cursor", "Display 3D Cursor Overlay");
RNA_def_property_update(prop, NC_SPACE | ND_SPACE_VIEW3D, NULL);
}
static void rna_def_space_view3d(BlenderRNA *brna)