Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--release/scripts/startup/bl_ui/space_image.py5
-rw-r--r--release/scripts/startup/bl_ui/space_view3d.py39
-rw-r--r--source/blender/blenkernel/BKE_blender_version.h2
-rw-r--r--source/blender/blenkernel/intern/DerivedMesh.c5
-rw-r--r--source/blender/blenkernel/intern/editmesh.c2
-rw-r--r--source/blender/blenkernel/intern/mesh.c2
-rw-r--r--source/blender/blenloader/intern/versioning_250.c5
-rw-r--r--source/blender/blenloader/intern/versioning_280.c20
-rw-r--r--source/blender/draw/modes/edit_mesh_mode.c30
-rw-r--r--source/blender/draw/modes/edit_mesh_mode_text.c14
-rw-r--r--source/blender/editors/mesh/editmesh_path.c26
-rw-r--r--source/blender/editors/mesh/editmesh_tools.c29
-rw-r--r--source/blender/editors/mesh/mesh_data.c4
-rw-r--r--source/blender/editors/space_view3d/space_view3d.c8
-rw-r--r--source/blender/editors/transform/transform_ops.c25
-rw-r--r--source/blender/editors/uvedit/uvedit_draw.c2
-rw-r--r--source/blender/editors/uvedit/uvedit_ops.c9
-rw-r--r--source/blender/makesdna/DNA_mesh_types.h2
-rw-r--r--source/blender/makesdna/DNA_space_types.h2
-rw-r--r--source/blender/makesdna/DNA_view3d_types.h19
-rw-r--r--source/blender/makesrna/intern/rna_mesh.c93
-rw-r--r--source/blender/makesrna/intern/rna_space.c87
22 files changed, 193 insertions, 237 deletions
diff --git a/release/scripts/startup/bl_ui/space_image.py b/release/scripts/startup/bl_ui/space_image.py
index 552d4802dd1..3c61adc7cac 100644
--- a/release/scripts/startup/bl_ui/space_image.py
+++ b/release/scripts/startup/bl_ui/space_image.py
@@ -754,7 +754,10 @@ class IMAGE_PT_view_display_uv_edit_overlays(Panel):
col = layout.column()
- col.prop(uvedit, "edge_display_type", text="Edges")
+ split = col.split(factor=0.6)
+ split.prop(uvedit, "show_edges", text="Edges")
+ split.prop(uvedit, "edge_display_type", text="")
+
col.prop(uvedit, "show_faces", text="Faces")
col = layout.column()
diff --git a/release/scripts/startup/bl_ui/space_view3d.py b/release/scripts/startup/bl_ui/space_view3d.py
index eef9a6d3476..cded9d613ec 100644
--- a/release/scripts/startup/bl_ui/space_view3d.py
+++ b/release/scripts/startup/bl_ui/space_view3d.py
@@ -4349,7 +4349,6 @@ class VIEW3D_PT_overlay_edit_mesh(Panel):
overlay = view.overlay
shading = view.shading
display_all = overlay.show_overlays
- data = context.active_object.data
col = layout.column()
col.active = display_all
@@ -4357,18 +4356,18 @@ class VIEW3D_PT_overlay_edit_mesh(Panel):
split = col.split()
sub = split.column()
- sub.prop(data, "show_edges", text="Edges")
+ sub.prop(overlay, "show_edges", text="Edges")
sub = split.column()
- sub.prop(data, "show_faces", text="Faces")
+ sub.prop(overlay, "show_faces", text="Faces")
sub = split.column()
sub.active = shading.show_xray
- sub.prop(data, "show_face_center", text="Center")
+ sub.prop(overlay, "show_face_center", text="Center")
row = col.row(align=True)
- row.prop(data, "show_edge_crease", text="Creases", toggle=True)
- row.prop(data, "show_edge_sharp", text="Sharp", text_ctxt=i18n_contexts.plural, toggle=True)
- row.prop(data, "show_edge_bevel_weight", text="Bevel", toggle=True)
- row.prop(data, "show_edge_seams", text="Seams", toggle=True)
+ row.prop(overlay, "show_edge_crease", text="Creases", toggle=True)
+ row.prop(overlay, "show_edge_sharp", text="Sharp", text_ctxt=i18n_contexts.plural, toggle=True)
+ row.prop(overlay, "show_edge_bevel_weight", text="Bevel", toggle=True)
+ row.prop(overlay, "show_edge_seams", text="Seams", toggle=True)
class VIEW3D_PT_overlay_edit_mesh_shading(Panel):
@@ -4388,7 +4387,6 @@ class VIEW3D_PT_overlay_edit_mesh_shading(Panel):
overlay = view.overlay
tool_settings = context.tool_settings
display_all = overlay.show_overlays
- data = context.active_object.data
statvis = tool_settings.statvis
col = layout.column()
@@ -4402,12 +4400,12 @@ class VIEW3D_PT_overlay_edit_mesh_shading(Panel):
row.label(text="Zero Weights")
row.prop(tool_settings, "vertex_group_user", text="")
- col.prop(data, "show_statvis", text="Mesh Analysis")
- if data.show_statvis:
+ col.prop(overlay, "show_statvis", text="Mesh Analysis")
+ if overlay.show_statvis:
col = col.column()
sub = col.split()
- sub.active = data.show_statvis
+ sub.active = overlay.show_statvis
sub.label(text="Type")
sub.prop(statvis, "type", text="")
@@ -4450,7 +4448,6 @@ class VIEW3D_PT_overlay_edit_mesh_measurement(Panel):
view = context.space_data
overlay = view.overlay
display_all = overlay.show_overlays
- data = context.active_object.data
col = layout.column()
col.active = display_all
@@ -4458,12 +4455,12 @@ class VIEW3D_PT_overlay_edit_mesh_measurement(Panel):
split = col.split()
sub = split.column()
- sub.prop(data, "show_extra_edge_length", text="Edge Length")
- sub.prop(data, "show_extra_edge_angle", text="Edge Angle")
+ sub.prop(overlay, "show_extra_edge_length", text="Edge Length")
+ sub.prop(overlay, "show_extra_edge_angle", text="Edge Angle")
sub = split.column()
- sub.prop(data, "show_extra_face_area", text="Face Area")
- sub.prop(data, "show_extra_face_angle", text="Face Angle")
+ sub.prop(overlay, "show_extra_face_area", text="Face Area")
+ sub.prop(overlay, "show_extra_face_angle", text="Face Angle")
class VIEW3D_PT_overlay_edit_mesh_normals(Panel):
@@ -4512,14 +4509,13 @@ class VIEW3D_PT_overlay_edit_mesh_freestyle(Panel):
view = context.space_data
overlay = view.overlay
display_all = overlay.show_overlays
- data = context.active_object.data
col = layout.column()
col.active = display_all
row = col.row()
- row.prop(data, "show_freestyle_edge_marks", text="Edge Marks")
- row.prop(data, "show_freestyle_face_marks", text="Face Marks")
+ row.prop(overlay, "show_freestyle_edge_marks", text="Edge Marks")
+ row.prop(overlay, "show_freestyle_face_marks", text="Face Marks")
class VIEW3D_PT_overlay_edit_mesh_developer(Panel):
@@ -4538,12 +4534,11 @@ class VIEW3D_PT_overlay_edit_mesh_developer(Panel):
view = context.space_data
overlay = view.overlay
display_all = overlay.show_overlays
- data = context.active_object.data
col = layout.column()
col.active = display_all
- col.prop(data, "show_extra_indices", text="Indices")
+ col.prop(overlay, "show_extra_indices", text="Indices")
class VIEW3D_PT_overlay_edit_curve(Panel):
diff --git a/source/blender/blenkernel/BKE_blender_version.h b/source/blender/blenkernel/BKE_blender_version.h
index 6d41abe1a14..7ac59d6c9d4 100644
--- a/source/blender/blenkernel/BKE_blender_version.h
+++ b/source/blender/blenkernel/BKE_blender_version.h
@@ -28,7 +28,7 @@
* and keep comment above the defines.
* Use STRINGIFY() rather than defining with quotes */
#define BLENDER_VERSION 280
-#define BLENDER_SUBVERSION 23
+#define BLENDER_SUBVERSION 24
/* Several breakages with 280, e.g. collections vs layers */
#define BLENDER_MINVERSION 280
#define BLENDER_MINSUBVERSION 0
diff --git a/source/blender/blenkernel/intern/DerivedMesh.c b/source/blender/blenkernel/intern/DerivedMesh.c
index 76986b8c61c..93764ac5f78 100644
--- a/source/blender/blenkernel/intern/DerivedMesh.c
+++ b/source/blender/blenkernel/intern/DerivedMesh.c
@@ -2536,10 +2536,13 @@ static void editbmesh_calc_modifiers(
#if 0 /* XXX Will re-enable this when we have global mod stack options. */
const bool do_final_wmcol = (scene->toolsettings->weights_preview == WP_WPREVIEW_FINAL) && do_wmcol;
#endif
+#if 0 /* Obsolete by 2.8. */
const bool do_final_wmcol = false;
const bool do_init_wmcol = ((((Mesh *)ob->data)->drawflag & ME_DRAWEIGHT) && !do_final_wmcol);
-
const bool do_init_statvis = ((((Mesh *)ob->data)->drawflag & ME_DRAW_STATVIS) && !do_init_wmcol);
+#endif
+ const bool do_init_wmcol = false;
+ const bool do_init_statvis = false;
const bool do_mod_wmcol = do_init_wmcol;
VirtualModifierData virtualModifierData;
diff --git a/source/blender/blenkernel/intern/editmesh.c b/source/blender/blenkernel/intern/editmesh.c
index 6e555ac1f96..9e1713dc805 100644
--- a/source/blender/blenkernel/intern/editmesh.c
+++ b/source/blender/blenkernel/intern/editmesh.c
@@ -262,8 +262,6 @@ void BKE_editmesh_lnorspace_update(BMEditMesh *em)
Mesh *me = em->ob->data;
if (me->flag & ME_AUTOSMOOTH) {
BM_edges_sharp_from_angle_set(bm, me->smoothresh);
-
- me->drawflag |= ME_DRAWSHARP;
}
}
diff --git a/source/blender/blenkernel/intern/mesh.c b/source/blender/blenkernel/intern/mesh.c
index d59fa3ece60..374365cc58a 100644
--- a/source/blender/blenkernel/intern/mesh.c
+++ b/source/blender/blenkernel/intern/mesh.c
@@ -508,7 +508,7 @@ void BKE_mesh_init(Mesh *me)
#if 0
me->flag = ME_TWOSIDED;
#endif
- me->drawflag = ME_DRAWEDGES | ME_DRAWFACES | ME_DRAWCREASES;
+ me->drawflag = 0;
CustomData_reset(&me->vdata);
CustomData_reset(&me->edata);
diff --git a/source/blender/blenloader/intern/versioning_250.c b/source/blender/blenloader/intern/versioning_250.c
index 4b628bf816a..390fa460a55 100644
--- a/source/blender/blenloader/intern/versioning_250.c
+++ b/source/blender/blenloader/intern/versioning_250.c
@@ -637,7 +637,6 @@ void blo_do_versions_250(FileData *fd, Library *lib, Main *bmain)
Base *base;
Material *ma;
Camera *cam;
- Mesh *me;
Curve *cu;
Scene *sce;
Tex *tx;
@@ -729,10 +728,12 @@ void blo_do_versions_250(FileData *fd, Library *lib, Main *bmain)
}
}
+#if 0 /* ME_DRAWEDGES and others was moved to viewport. */
/* copy standard draw flag to meshes(used to be global, is not available here) */
for (me = bmain->mesh.first; me; me = me->id.next) {
- me->drawflag = ME_DRAWEDGES|ME_DRAWFACES|ME_DRAWCREASES;
+ me->drawflag = ME_DRAWEDGES | ME_DRAWFACES | ME_DRAWCREASES;
}
+#endif
/* particle draw and render types */
for (part = bmain->particle.first; part; part = part->id.next) {
diff --git a/source/blender/blenloader/intern/versioning_280.c b/source/blender/blenloader/intern/versioning_280.c
index 2e261ee2e03..f292cc56f73 100644
--- a/source/blender/blenloader/intern/versioning_280.c
+++ b/source/blender/blenloader/intern/versioning_280.c
@@ -2052,4 +2052,24 @@ void blo_do_versions_280(FileData *fd, Library *UNUSED(lib), Main *bmain)
}
}
}
+
+ if (!MAIN_VERSION_ATLEAST(bmain, 280, 24)) {
+ for (bScreen *screen = bmain->screen.first; screen; screen = screen->id.next) {
+ for (ScrArea *sa = screen->areabase.first; sa; sa = sa->next) {
+ for (SpaceLink *sl = sa->spacedata.first; sl; sl = sl->next) {
+ if (sl->spacetype == SPACE_VIEW3D) {
+ View3D *v3d = (View3D *)sl;
+ v3d->overlay.edit_flag |= V3D_OVERLAY_EDIT_FACES |
+ V3D_OVERLAY_EDIT_SEAMS |
+ V3D_OVERLAY_EDIT_SHARP |
+ V3D_OVERLAY_EDIT_FREESTYLE_EDGE |
+ V3D_OVERLAY_EDIT_FREESTYLE_FACE |
+ V3D_OVERLAY_EDIT_EDGES |
+ V3D_OVERLAY_EDIT_CREASES |
+ V3D_OVERLAY_EDIT_BWEIGHTS;
+ }
+ }
+ }
+ }
+ }
}
diff --git a/source/blender/draw/modes/edit_mesh_mode.c b/source/blender/draw/modes/edit_mesh_mode.c
index 3a2ad27bfa9..e4670ba7578 100644
--- a/source/blender/draw/modes/edit_mesh_mode.c
+++ b/source/blender/draw/modes/edit_mesh_mode.c
@@ -405,33 +405,32 @@ static void EDIT_MESH_cache_init(void *vedata)
if (draw_ctx->object_edit->type == OB_MESH) {
if (BKE_object_is_in_editmode(draw_ctx->object_edit)) {
- const Mesh *me = draw_ctx->object_edit->data;
- if ((me->drawflag & ME_DRAW_FREESTYLE_FACE) == 0) {
+ if ((v3d->overlay.edit_flag & V3D_OVERLAY_EDIT_FREESTYLE_EDGE) == 0) {
stl->g_data->data_mask[0] &= ~VFLAG_FACE_FREESTYLE;
}
- if ((me->drawflag & ME_DRAWFACES) == 0) {
+ if ((v3d->overlay.edit_flag & V3D_OVERLAY_EDIT_FACES) == 0) {
stl->g_data->data_mask[0] &= ~(VFLAG_FACE_SELECTED & VFLAG_FACE_FREESTYLE);
stl->g_data->do_faces = false;
}
- if ((me->drawflag & ME_DRAWSEAMS) == 0) {
+ if ((v3d->overlay.edit_flag & V3D_OVERLAY_EDIT_SEAMS) == 0) {
stl->g_data->data_mask[1] &= ~VFLAG_EDGE_SEAM;
}
- if ((me->drawflag & ME_DRAWSHARP) == 0) {
+ if ((v3d->overlay.edit_flag & V3D_OVERLAY_EDIT_SHARP) == 0) {
stl->g_data->data_mask[1] &= ~VFLAG_EDGE_SHARP;
}
- if ((me->drawflag & ME_DRAW_FREESTYLE_EDGE) == 0) {
+ if ((v3d->overlay.edit_flag & V3D_OVERLAY_EDIT_FREESTYLE_FACE) == 0) {
stl->g_data->data_mask[1] &= ~VFLAG_EDGE_FREESTYLE;
}
- if ((me->drawflag & ME_DRAWEDGES) == 0) {
+ if ((v3d->overlay.edit_flag & V3D_OVERLAY_EDIT_EDGES) == 0) {
if ((tsettings->selectmode & SCE_SELECT_EDGE) == 0) {
stl->g_data->data_mask[1] &= ~(VFLAG_EDGE_ACTIVE & VFLAG_EDGE_SELECTED);
stl->g_data->do_edges = false;
}
}
- if ((me->drawflag & ME_DRAWCREASES) == 0) {
+ if ((v3d->overlay.edit_flag & V3D_OVERLAY_EDIT_CREASES) == 0) {
stl->g_data->data_mask[2] = 0x0;
}
- if ((me->drawflag & ME_DRAWBWEIGHTS) == 0) {
+ if ((v3d->overlay.edit_flag & V3D_OVERLAY_EDIT_BWEIGHTS) == 0) {
stl->g_data->data_mask[3] = 0x0;
}
}
@@ -565,14 +564,13 @@ static void EDIT_MESH_cache_populate(void *vedata, Object *ob)
if (ob->type == OB_MESH) {
if ((ob == draw_ctx->object_edit) || BKE_object_is_in_editmode(ob)) {
- const Mesh *me = ob->data;
bool do_occlude_wire = (v3d->overlay.edit_flag & V3D_OVERLAY_EDIT_OCCLUDE_WIRE) != 0;
bool do_show_weight = (v3d->overlay.edit_flag & V3D_OVERLAY_EDIT_WEIGHT) != 0;
bool fnormals_do = (v3d->overlay.edit_flag & V3D_OVERLAY_EDIT_FACE_NORMALS) != 0;
bool vnormals_do = (v3d->overlay.edit_flag & V3D_OVERLAY_EDIT_VERT_NORMALS) != 0;
bool lnormals_do = (v3d->overlay.edit_flag & V3D_OVERLAY_EDIT_LOOP_NORMALS) != 0;
- bool show_face_dots = ((Mesh *)draw_ctx->object_edit->data)->drawflag & ME_DRAW_FACE_DOT;
+ bool show_face_dots = (v3d->overlay.edit_flag & V3D_OVERLAY_EDIT_FACE_DOT) != 0;
if (stl->g_data->do_faces == false &&
stl->g_data->do_edges == false &&
@@ -646,11 +644,11 @@ static void EDIT_MESH_cache_populate(void *vedata, Object *ob)
stl->g_data->edit_ob += 1;
/* 3D text overlay */
- if (me->drawflag & (ME_DRAWEXTRA_EDGELEN |
- ME_DRAWEXTRA_FACEAREA |
- ME_DRAWEXTRA_FACEANG |
- ME_DRAWEXTRA_EDGEANG |
- ME_DRAWEXTRA_INDICES))
+ if (v3d->overlay.edit_flag & (V3D_OVERLAY_EDIT_EDGE_LEN |
+ V3D_OVERLAY_EDIT_FACE_AREA |
+ V3D_OVERLAY_EDIT_FACE_ANG |
+ V3D_OVERLAY_EDIT_EDGE_ANG |
+ V3D_OVERLAY_EDIT_INDICES))
{
if (DRW_state_show_text()) {
DRW_edit_mesh_mode_text_measure_stats(
diff --git a/source/blender/draw/modes/edit_mesh_mode_text.c b/source/blender/draw/modes/edit_mesh_mode_text.c
index 27f4237dba2..2874a9d60da 100644
--- a/source/blender/draw/modes/edit_mesh_mode_text.c
+++ b/source/blender/draw/modes/edit_mesh_mode_text.c
@@ -70,7 +70,7 @@ void DRW_edit_mesh_mode_text_measure_stats(
const bool do_global = (v3d->flag & V3D_GLOBAL_STATS) != 0;
const bool do_moving = (G.moving & G_TRANSFORM_EDIT) != 0;
/* when 2 edge-info options are enabled, space apart */
- const bool do_edge_textpair = (me->drawflag & ME_DRAWEXTRA_EDGELEN) && (me->drawflag & ME_DRAWEXTRA_EDGEANG);
+ const bool do_edge_textpair = (v3d->overlay.edit_flag & V3D_OVERLAY_EDIT_EDGE_LEN) && (v3d->overlay.edit_flag & V3D_OVERLAY_EDIT_EDGE_ANG);
const short edge_texpair_sep = (short)(5.0f * U.ui_scale);
float clip_planes[4][4];
/* allow for displaying shape keys and deform mods */
@@ -84,14 +84,14 @@ void DRW_edit_mesh_mode_text_measure_stats(
else if (grid <= 10.0f) conv_float = "%.3g";
else conv_float = "%.2g";
- if (me->drawflag & (ME_DRAWEXTRA_EDGELEN | ME_DRAWEXTRA_EDGEANG | ME_DRAWEXTRA_INDICES)) {
+ if (v3d->overlay.edit_flag & (V3D_OVERLAY_EDIT_EDGE_LEN | V3D_OVERLAY_EDIT_EDGE_ANG | V3D_OVERLAY_EDIT_INDICES)) {
BoundBox bb;
const rcti rect = {0, ar->winx, 0, ar->winy};
ED_view3d_clipping_calc(&bb, clip_planes, ar, em->ob, &rect);
}
- if (me->drawflag & ME_DRAWEXTRA_EDGELEN) {
+ if (v3d->overlay.edit_flag & V3D_OVERLAY_EDIT_EDGE_LEN) {
BMEdge *eed;
UI_GetThemeColor3ubv(TH_DRAWEXTRA_EDGELEN, col);
@@ -133,7 +133,7 @@ void DRW_edit_mesh_mode_text_measure_stats(
}
}
- if (me->drawflag & ME_DRAWEXTRA_EDGEANG) {
+ if (v3d->overlay.edit_flag & V3D_OVERLAY_EDIT_EDGE_ANG) {
const bool is_rad = (unit->system_rotation == USER_UNIT_ROT_RADIANS);
BMEdge *eed;
@@ -191,7 +191,7 @@ void DRW_edit_mesh_mode_text_measure_stats(
}
}
- if (me->drawflag & ME_DRAWEXTRA_FACEAREA) {
+ if (v3d->overlay.edit_flag & V3D_OVERLAY_EDIT_FACE_AREA) {
/* would be nice to use BM_face_calc_area, but that is for 2d faces
* so instead add up tessellation triangle areas */
@@ -242,7 +242,7 @@ void DRW_edit_mesh_mode_text_measure_stats(
}
}
- if (me->drawflag & ME_DRAWEXTRA_FACEANG) {
+ if (v3d->overlay.edit_flag & V3D_OVERLAY_EDIT_FACE_ANG) {
BMFace *efa;
const bool is_rad = (unit->system_rotation == USER_UNIT_ROT_RADIANS);
@@ -296,7 +296,7 @@ void DRW_edit_mesh_mode_text_measure_stats(
}
/* This option is for mesh ops and addons debugging; only available in UI if Blender starts with --debug */
- if (me->drawflag & ME_DRAWEXTRA_INDICES) {
+ if (v3d->overlay.edit_flag & V3D_OVERLAY_EDIT_INDICES) {
int i;
/* For now, reuse an appropriate theme color */
diff --git a/source/blender/editors/mesh/editmesh_path.c b/source/blender/editors/mesh/editmesh_path.c
index c8bf4a9cc4d..c7f82a36eed 100644
--- a/source/blender/editors/mesh/editmesh_path.c
+++ b/source/blender/editors/mesh/editmesh_path.c
@@ -319,7 +319,7 @@ static void edgetag_ensure_cd_flag(Mesh *me, const char edge_mode)
/* since you want to create paths with multiple selects, it doesn't have extend option */
static void mouse_mesh_shortest_path_edge(
- Scene *scene, Object *obedit, const struct PathSelectParams *op_params,
+ Scene *UNUSED(scene), Object *obedit, const struct PathSelectParams *op_params,
BMEdge *e_act, BMEdge *e_dst)
{
BMEditMesh *em = BKE_editmesh_from_object(obedit);
@@ -327,7 +327,6 @@ static void mouse_mesh_shortest_path_edge(
struct UserData user_data = {bm, obedit->data, op_params};
LinkNode *path = NULL;
- Mesh *me = obedit->data;
bool is_path_ordered = false;
edgetag_ensure_cd_flag(obedit->data, op_params->edge_mode);
@@ -415,29 +414,6 @@ static void mouse_mesh_shortest_path_edge(
}
}
- /* force drawmode for mesh */
- switch (op_params->edge_mode) {
-
- case EDGE_MODE_TAG_SEAM:
- me->drawflag |= ME_DRAWSEAMS;
- ED_uvedit_live_unwrap(scene, obedit);
- break;
- case EDGE_MODE_TAG_SHARP:
- me->drawflag |= ME_DRAWSHARP;
- break;
- case EDGE_MODE_TAG_CREASE:
- me->drawflag |= ME_DRAWCREASES;
- break;
- case EDGE_MODE_TAG_BEVEL:
- me->drawflag |= ME_DRAWBWEIGHTS;
- break;
-#ifdef WITH_FREESTYLE
- case EDGE_MODE_TAG_FREESTYLE:
- me->drawflag |= ME_DRAW_FREESTYLE_EDGE;
- break;
-#endif
- }
-
EDBM_update_generic(em, false, false);
}
diff --git a/source/blender/editors/mesh/editmesh_tools.c b/source/blender/editors/mesh/editmesh_tools.c
index 5793fae79fe..1f77dc9aa6a 100644
--- a/source/blender/editors/mesh/editmesh_tools.c
+++ b/source/blender/editors/mesh/editmesh_tools.c
@@ -988,13 +988,6 @@ static int edbm_mark_seam_exec(bContext *C, wmOperator *op)
continue;
}
- Mesh *me = ((Mesh *)obedit->data);
-
- /* auto-enable seams drawing */
- if (clear == 0) {
- me->drawflag |= ME_DRAWSEAMS;
- }
-
if (clear) {
BM_ITER_MESH (eed, &iter, bm, BM_EDGES_OF_MESH) {
if (!BM_elem_flag_test(eed, BM_ELEM_SELECT) || BM_elem_flag_test(eed, BM_ELEM_HIDDEN)) {
@@ -1063,17 +1056,11 @@ static int edbm_mark_sharp_exec(bContext *C, wmOperator *op)
Object *obedit = objects[ob_index];
BMEditMesh *em = BKE_editmesh_from_object(obedit);
BMesh *bm = em->bm;
- Mesh *me = ((Mesh *)obedit->data);
if (bm->totedgesel == 0) {
continue;
}
- /* auto-enable sharp edge drawing */
- if (clear == 0) {
- me->drawflag |= ME_DRAWSHARP;
- }
-
BM_ITER_MESH (eed, &iter, bm, BM_EDGES_OF_MESH) {
if (use_verts) {
if (!(BM_elem_flag_test(eed->v1, BM_ELEM_SELECT) || BM_elem_flag_test(eed->v2, BM_ELEM_SELECT))) {
@@ -6937,17 +6924,11 @@ static int edbm_mark_freestyle_edge_exec(bContext *C, wmOperator *op)
}
BMesh *bm = em->bm;
- Mesh *me = ((Mesh *)obedit->data);
if (bm->totedgesel == 0) {
continue;
}
- /* auto-enable Freestyle edge mark drawing */
- if (clear == 0) {
- me->drawflag |= ME_DRAW_FREESTYLE_EDGE;
- }
-
if (!CustomData_has_layer(&em->bm->edata, CD_FREESTYLE_EDGE)) {
BM_data_layer_add(em->bm, &em->bm->edata, CD_FREESTYLE_EDGE);
}
@@ -7015,7 +6996,6 @@ static int edbm_mark_freestyle_face_exec(bContext *C, wmOperator *op)
Object **objects = BKE_view_layer_array_from_objects_in_edit_mode_unique_data(view_layer, &objects_len);
for (uint ob_index = 0; ob_index < objects_len; ob_index++) {
Object *obedit = objects[ob_index];
- Mesh *me = (Mesh *)obedit->data;
BMEditMesh *em = BKE_editmesh_from_object(obedit);
if (em == NULL) {
@@ -7026,11 +7006,6 @@ static int edbm_mark_freestyle_face_exec(bContext *C, wmOperator *op)
continue;
}
- /* auto-enable Freestyle face mark drawing */
- if (!clear) {
- me->drawflag |= ME_DRAW_FREESTYLE_FACE;
- }
-
if (!CustomData_has_layer(&em->bm->pdata, CD_FREESTYLE_FACE)) {
BM_data_layer_add(em->bm, &em->bm->pdata, CD_FREESTYLE_FACE);
}
@@ -7715,10 +7690,6 @@ static int normals_split_merge(bContext *C, const bool do_merge)
BM_elem_flag_set(e, BM_ELEM_SMOOTH, do_merge);
}
}
- if (do_merge == 0) {
- Mesh *me = obedit->data;
- me->drawflag |= ME_DRAWSHARP;
- }
bm->spacearr_dirty |= BM_SPACEARR_DIRTY_ALL;
BKE_editmesh_lnorspace_update(em);
diff --git a/source/blender/editors/mesh/mesh_data.c b/source/blender/editors/mesh/mesh_data.c
index 3598262ecf4..438cbb8da91 100644
--- a/source/blender/editors/mesh/mesh_data.c
+++ b/source/blender/editors/mesh/mesh_data.c
@@ -798,8 +798,6 @@ static int mesh_customdata_custom_splitnormals_add_exec(bContext *C, wmOperator
/* Tag edges as sharp according to smooth threshold if needed, to preserve autosmooth shading. */
if (me->flag & ME_AUTOSMOOTH) {
BM_edges_sharp_from_angle_set(me->edit_btmesh->bm, me->smoothresh);
-
- me->drawflag |= ME_DRAWSHARP;
}
BM_data_layer_add(me->edit_btmesh->bm, data, CD_CUSTOMLOOPNORMAL);
@@ -823,8 +821,6 @@ static int mesh_customdata_custom_splitnormals_add_exec(bContext *C, wmOperator
me->smoothresh);
MEM_freeN(polynors);
-
- me->drawflag |= ME_DRAWSHARP;
}
CustomData_add_layer(data, CD_CUSTOMLOOPNORMAL, CD_DEFAULT, NULL, me->totloop);
diff --git a/source/blender/editors/space_view3d/space_view3d.c b/source/blender/editors/space_view3d/space_view3d.c
index 6836f76cee9..81ed07512fe 100644
--- a/source/blender/editors/space_view3d/space_view3d.c
+++ b/source/blender/editors/space_view3d/space_view3d.c
@@ -330,6 +330,14 @@ static SpaceLink *view3d_new(const ScrArea *UNUSED(sa), const Scene *scene)
v3d->overlay.texture_paint_mode_opacity = 0.8;
v3d->overlay.weight_paint_mode_opacity = 0.8;
v3d->overlay.vertex_paint_mode_opacity = 0.8;
+ v3d->overlay.edit_flag = V3D_OVERLAY_EDIT_FACES |
+ V3D_OVERLAY_EDIT_SEAMS |
+ V3D_OVERLAY_EDIT_SHARP |
+ V3D_OVERLAY_EDIT_FREESTYLE_EDGE |
+ V3D_OVERLAY_EDIT_FREESTYLE_FACE |
+ V3D_OVERLAY_EDIT_EDGES |
+ V3D_OVERLAY_EDIT_CREASES |
+ V3D_OVERLAY_EDIT_BWEIGHTS;
v3d->gridflag = V3D_SHOW_X | V3D_SHOW_Y | V3D_SHOW_FLOOR;
diff --git a/source/blender/editors/transform/transform_ops.c b/source/blender/editors/transform/transform_ops.c
index 1d66616a038..189d7eed756 100644
--- a/source/blender/editors/transform/transform_ops.c
+++ b/source/blender/editors/transform/transform_ops.c
@@ -1017,27 +1017,6 @@ static void TRANSFORM_OT_edge_crease(struct wmOperatorType *ot)
Transform_Properties(ot, P_SNAP);
}
-static int edge_bevelweight_exec(bContext *C, wmOperator *op)
-{
- Mesh *me = (Mesh *)CTX_data_edit_object(C)->data;
-
- /* auto-enable bevel edge weight drawing, then chain to common transform code */
- me->drawflag |= ME_DRAWBWEIGHTS;
-
- return transform_exec(C, op);
-}
-
-static int edge_bevelweight_invoke(bContext *C, wmOperator *op, const wmEvent *event)
-{
- Mesh *me = (Mesh *)CTX_data_edit_object(C)->data;
-
- /* auto-enable bevel edge weight drawing, then chain to common transform code */
- me->drawflag |= ME_DRAWBWEIGHTS;
-
- return transform_invoke(C, op, event);
-}
-
-
static void TRANSFORM_OT_edge_bevelweight(struct wmOperatorType *ot)
{
/* identifiers */
@@ -1047,8 +1026,8 @@ static void TRANSFORM_OT_edge_bevelweight(struct wmOperatorType *ot)
ot->flag = OPTYPE_REGISTER | OPTYPE_UNDO | OPTYPE_BLOCKING;
/* api callbacks */
- ot->invoke = edge_bevelweight_invoke;
- ot->exec = edge_bevelweight_exec;
+ ot->invoke = transform_invoke;
+ ot->exec = transform_exec;
ot->modal = transform_modal;
ot->cancel = transform_cancel;
ot->poll = ED_operator_editmesh;
diff --git a/source/blender/editors/uvedit/uvedit_draw.c b/source/blender/editors/uvedit/uvedit_draw.c
index 8b2c98ad5cc..57fed0b860f 100644
--- a/source/blender/editors/uvedit/uvedit_draw.c
+++ b/source/blender/editors/uvedit/uvedit_draw.c
@@ -679,7 +679,7 @@ static void draw_uvs(SpaceImage *sima, Scene *scene, Object *obedit, Depsgraph *
GPU_line_width(1.0f);
UI_GetThemeColor4fv(TH_WIRE_EDIT, col2);
- if (me->drawflag & ME_DRAWEDGES) {
+ if ((sima->flag & SI_NO_DRAWEDGES) == 0) {
int sel;
UI_GetThemeColor4fv(TH_EDGE_SELECT, col1);
diff --git a/source/blender/editors/uvedit/uvedit_ops.c b/source/blender/editors/uvedit/uvedit_ops.c
index 1888d4ace83..5ea16a6026f 100644
--- a/source/blender/editors/uvedit/uvedit_ops.c
+++ b/source/blender/editors/uvedit/uvedit_ops.c
@@ -4505,13 +4505,6 @@ static int uv_seams_from_islands_exec(bContext *C, wmOperator *op)
}
}
- if (mark_seams) {
- me->drawflag |= ME_DRAWSEAMS;
- }
- if (mark_sharp) {
- me->drawflag |= ME_DRAWSHARP;
- }
-
BM_uv_vert_map_free(vmap);
DEG_id_tag_update(&me->id, 0);
@@ -4587,8 +4580,6 @@ static int uv_mark_seam_exec(bContext *C, wmOperator *op)
}
if (changed) {
- me->drawflag |= ME_DRAWSEAMS;
-
if (scene->toolsettings->edge_mode_live_unwrap) {
ED_unwrap_lscm(scene, ob, false, false);
}
diff --git a/source/blender/makesdna/DNA_mesh_types.h b/source/blender/makesdna/DNA_mesh_types.h
index 816a589ee16..e8eb59cb5e0 100644
--- a/source/blender/makesdna/DNA_mesh_types.h
+++ b/source/blender/makesdna/DNA_mesh_types.h
@@ -238,6 +238,7 @@ enum {
ME_CDFLAG_EDGE_CREASE = 1 << 2,
};
+#if 0 /* Was moved to overlay options for 2.8 */
/* me->drawflag, short */
enum {
ME_DRAWEDGES = 1 << 0,
@@ -270,6 +271,7 @@ enum {
/* draw loop normals */
ME_DRAW_LNORMALS = 1 << 18,
};
+#endif
/* Subsurf Type */
enum {
diff --git a/source/blender/makesdna/DNA_space_types.h b/source/blender/makesdna/DNA_space_types.h
index d85704d9c7a..05ff65f0267 100644
--- a/source/blender/makesdna/DNA_space_types.h
+++ b/source/blender/makesdna/DNA_space_types.h
@@ -997,6 +997,8 @@ typedef enum eSpaceImage_Flag {
SI_SHOW_R = (1 << 27),
SI_SHOW_G = (1 << 28),
SI_SHOW_B = (1 << 29),
+
+ SI_NO_DRAWEDGES = (1 << 30),
} eSpaceImage_Flag;
/* SpaceImage.other_uv_filter */
diff --git a/source/blender/makesdna/DNA_view3d_types.h b/source/blender/makesdna/DNA_view3d_types.h
index 7620d674b1e..32c61cbefb8 100644
--- a/source/blender/makesdna/DNA_view3d_types.h
+++ b/source/blender/makesdna/DNA_view3d_types.h
@@ -429,6 +429,25 @@ enum {
V3D_OVERLAY_EDIT_OCCLUDE_WIRE = (1 << 3),
V3D_OVERLAY_EDIT_WEIGHT = (1 << 4),
+
+ V3D_OVERLAY_EDIT_EDGES = (1 << 5),
+ V3D_OVERLAY_EDIT_FACES = (1 << 6),
+ V3D_OVERLAY_EDIT_FACE_DOT = (1 << 7),
+
+ V3D_OVERLAY_EDIT_SEAMS = (1 << 8),
+ V3D_OVERLAY_EDIT_SHARP = (1 << 9),
+ V3D_OVERLAY_EDIT_CREASES = (1 << 10),
+ V3D_OVERLAY_EDIT_BWEIGHTS = (1 << 11),
+
+ V3D_OVERLAY_EDIT_FREESTYLE_EDGE = (1 << 12),
+ V3D_OVERLAY_EDIT_FREESTYLE_FACE = (1 << 13),
+
+ V3D_OVERLAY_EDIT_STATVIS = (1 << 14),
+ V3D_OVERLAY_EDIT_EDGE_LEN = (1 << 15),
+ V3D_OVERLAY_EDIT_EDGE_ANG = (1 << 16),
+ V3D_OVERLAY_EDIT_FACE_ANG = (1 << 17),
+ V3D_OVERLAY_EDIT_FACE_AREA = (1 << 18),
+ V3D_OVERLAY_EDIT_INDICES = (1 << 19),
};
/* View3DOverlay->arm_flag */
diff --git a/source/blender/makesrna/intern/rna_mesh.c b/source/blender/makesrna/intern/rna_mesh.c
index eaf212eabfe..3a615a5f509 100644
--- a/source/blender/makesrna/intern/rna_mesh.c
+++ b/source/blender/makesrna/intern/rna_mesh.c
@@ -228,15 +228,6 @@ static void rna_Mesh_update_data(Main *UNUSED(bmain), Scene *UNUSED(scene), Poin
}
}
-static void rna_Mesh_update_data_edit_color(Main *bmain, Scene *scene, PointerRNA *ptr)
-{
- Mesh *me = rna_mesh(ptr);
- rna_Mesh_update_data(bmain, scene, ptr);
- if (me->edit_btmesh) {
- BKE_editmesh_color_free(me->edit_btmesh);
- }
-}
-
static void rna_Mesh_update_data_edit_weight(Main *bmain, Scene *scene, PointerRNA *ptr)
{
BKE_mesh_batch_cache_dirty_tag(rna_mesh(ptr), BKE_MESH_BATCH_DIRTY_ALL);
@@ -3510,90 +3501,6 @@ static void rna_def_mesh(BlenderRNA *brna)
RNA_def_property_update(prop, 0, "rna_Mesh_update_draw");
#endif
- /* Mesh Draw Options for Edit Mode*/
-
- prop = RNA_def_property(srna, "show_edges", PROP_BOOLEAN, PROP_NONE);
- RNA_def_property_boolean_sdna(prop, NULL, "drawflag", ME_DRAWEDGES);
- RNA_def_property_ui_text(prop, "Draw Edges",
- "Display selected edges using highlights in the 3D view and UV editor");
- RNA_def_property_update(prop, 0, "rna_Mesh_update_draw");
-
- prop = RNA_def_property(srna, "show_faces", PROP_BOOLEAN, PROP_NONE);
- RNA_def_property_boolean_sdna(prop, NULL, "drawflag", ME_DRAWFACES);
- RNA_def_property_ui_text(prop, "Draw Faces", "Display all faces as shades in the 3D view and UV editor");
- RNA_def_property_update(prop, 0, "rna_Mesh_update_draw");
-
- prop = RNA_def_property(srna, "show_face_center", PROP_BOOLEAN, PROP_NONE);
- RNA_def_property_boolean_sdna(prop, NULL, "drawflag", ME_DRAW_FACE_DOT);
- RNA_def_property_ui_text(prop, "Draw Face Center", "Display face center");
- RNA_def_property_update(prop, 0, "rna_Mesh_update_draw");
-
- prop = RNA_def_property(srna, "show_edge_crease", PROP_BOOLEAN, PROP_NONE);
- RNA_def_property_boolean_sdna(prop, NULL, "drawflag", ME_DRAWCREASES);
- RNA_def_property_ui_text(prop, "Draw Creases", "Display creases created for Subdivision Surface modifier");
- RNA_def_property_update(prop, 0, "rna_Mesh_update_draw");
-
- prop = RNA_def_property(srna, "show_edge_bevel_weight", PROP_BOOLEAN, PROP_NONE);
- RNA_def_property_boolean_sdna(prop, NULL, "drawflag", ME_DRAWBWEIGHTS);
- RNA_def_property_ui_text(prop, "Draw Bevel Weights", "Display weights created for the Bevel modifier");
- RNA_def_property_update(prop, 0, "rna_Mesh_update_draw");
-
- prop = RNA_def_property(srna, "show_edge_seams", PROP_BOOLEAN, PROP_NONE);
- RNA_def_property_boolean_sdna(prop, NULL, "drawflag", ME_DRAWSEAMS);
- RNA_def_property_ui_text(prop, "Draw Seams", "Display UV unwrapping seams");
- RNA_def_property_update(prop, 0, "rna_Mesh_update_draw");
-
- prop = RNA_def_property(srna, "show_edge_sharp", PROP_BOOLEAN, PROP_NONE);
- RNA_def_property_boolean_sdna(prop, NULL, "drawflag", ME_DRAWSHARP);
- RNA_def_property_ui_text(prop, "Draw Sharp", "Display sharp edges, used with the Edge Split modifier");
- RNA_def_property_update(prop, 0, "rna_Mesh_update_draw");
-
- prop = RNA_def_property(srna, "show_freestyle_edge_marks", PROP_BOOLEAN, PROP_NONE);
- RNA_def_property_boolean_sdna(prop, NULL, "drawflag", ME_DRAW_FREESTYLE_EDGE);
- RNA_def_property_ui_text(prop, "Draw Freestyle Edge Marks", "Display Freestyle edge marks, used with the Freestyle renderer");
- RNA_def_property_update(prop, 0, "rna_Mesh_update_draw");
-
- prop = RNA_def_property(srna, "show_freestyle_face_marks", PROP_BOOLEAN, PROP_NONE);
- RNA_def_property_boolean_sdna(prop, NULL, "drawflag", ME_DRAW_FREESTYLE_FACE);
- RNA_def_property_ui_text(prop, "Draw Freestyle Face Marks", "Display Freestyle face marks, used with the Freestyle renderer");
- RNA_def_property_update(prop, 0, "rna_Mesh_update_draw");
-
- prop = RNA_def_property(srna, "show_statvis", PROP_BOOLEAN, PROP_NONE);
- RNA_def_property_boolean_sdna(prop, NULL, "drawflag", ME_DRAW_STATVIS);
- RNA_def_property_ui_text(prop, "Stat Vis", "Display statistical information about the mesh");
- RNA_def_property_update(prop, 0, "rna_Mesh_update_data_edit_color");
-
- prop = RNA_def_property(srna, "show_extra_edge_length", PROP_BOOLEAN, PROP_NONE);
- RNA_def_property_boolean_sdna(prop, NULL, "drawflag", ME_DRAWEXTRA_EDGELEN);
- RNA_def_property_ui_text(prop, "Edge Length",
- "Display selected edge lengths, using global values when set in the transform panel");
- RNA_def_property_update(prop, 0, "rna_Mesh_update_draw");
-
- prop = RNA_def_property(srna, "show_extra_edge_angle", PROP_BOOLEAN, PROP_NONE);
- RNA_def_property_boolean_sdna(prop, NULL, "drawflag", ME_DRAWEXTRA_EDGEANG);
- RNA_def_property_ui_text(prop, "Edge Angle",
- "Display selected edge angle, using global values when set in the transform panel");
- RNA_def_property_update(prop, 0, "rna_Mesh_update_draw");
-
- prop = RNA_def_property(srna, "show_extra_face_angle", PROP_BOOLEAN, PROP_NONE);
- RNA_def_property_boolean_sdna(prop, NULL, "drawflag", ME_DRAWEXTRA_FACEANG);
- RNA_def_property_ui_text(prop, "Face Angles",
- "Display the angles in the selected edges, "
- "using global values when set in the transform panel");
- RNA_def_property_update(prop, 0, "rna_Mesh_update_draw");
-
- prop = RNA_def_property(srna, "show_extra_face_area", PROP_BOOLEAN, PROP_NONE);
- RNA_def_property_boolean_sdna(prop, NULL, "drawflag", ME_DRAWEXTRA_FACEAREA);
- RNA_def_property_ui_text(prop, "Face Area",
- "Display the area of selected faces, "
- "using global values when set in the transform panel");
- RNA_def_property_update(prop, 0, "rna_Mesh_update_draw");
-
- prop = RNA_def_property(srna, "show_extra_indices", PROP_BOOLEAN, PROP_NONE);
- RNA_def_property_boolean_sdna(prop, NULL, "drawflag", ME_DRAWEXTRA_INDICES);
- RNA_def_property_ui_text(prop, "Indices", "Display the index numbers of selected vertices, edges, and faces");
- RNA_def_property_update(prop, 0, "rna_Mesh_update_draw");
-
/* editflag */
prop = RNA_def_property(srna, "use_mirror_x", PROP_BOOLEAN, PROP_NONE);
RNA_def_property_boolean_sdna(prop, NULL, "editflag", ME_EDIT_MIRROR_X);
diff --git a/source/blender/makesrna/intern/rna_space.c b/source/blender/makesrna/intern/rna_space.c
index 6991587b710..32f28b1bb66 100644
--- a/source/blender/makesrna/intern/rna_space.c
+++ b/source/blender/makesrna/intern/rna_space.c
@@ -2267,6 +2267,11 @@ static void rna_def_space_image_uv(BlenderRNA *brna)
RNA_def_property_ui_text(prop, "Display Faces", "Display faces over the image");
RNA_def_property_update(prop, NC_SPACE | ND_SPACE_IMAGE, NULL);
+ prop = RNA_def_property(srna, "show_edges", PROP_BOOLEAN, PROP_NONE);
+ RNA_def_property_boolean_negative_sdna(prop, NULL, "flag", SI_NO_DRAWEDGES);
+ RNA_def_property_ui_text(prop, "Display Edges", "Display edges in vertex select mode");
+ RNA_def_property_update(prop, NC_SPACE | ND_SPACE_IMAGE, NULL);
+
/* todo: move edge and face drawing options here from G.f */
prop = RNA_def_property(srna, "use_snap_to_pixels", PROP_BOOLEAN, PROP_NONE);
@@ -2792,6 +2797,88 @@ static void rna_def_space_view3d_overlay(BlenderRNA *brna)
RNA_def_property_ui_text(prop, "Display Split Normals", "Display vertex-per-face normals as lines");
RNA_def_property_update(prop, NC_SPACE | ND_SPACE_VIEW3D, NULL);
+ prop = RNA_def_property(srna, "show_edges", PROP_BOOLEAN, PROP_NONE);
+ RNA_def_property_boolean_sdna(prop, NULL, "overlay.edit_flag", V3D_OVERLAY_EDIT_EDGES);
+ RNA_def_property_ui_text(prop, "Draw Edges",
+ "Display selected edges using highlights in the 3D view and UV editor");
+ RNA_def_property_update(prop, NC_SPACE | ND_SPACE_VIEW3D, NULL);
+
+ prop = RNA_def_property(srna, "show_faces", PROP_BOOLEAN, PROP_NONE);
+ RNA_def_property_boolean_sdna(prop, NULL, "overlay.edit_flag", V3D_OVERLAY_EDIT_FACES);
+ RNA_def_property_ui_text(prop, "Draw Faces", "Display all faces as shades in the 3D view and UV editor");
+ RNA_def_property_update(prop, NC_SPACE | ND_SPACE_VIEW3D, NULL);
+
+ prop = RNA_def_property(srna, "show_face_center", PROP_BOOLEAN, PROP_NONE);
+ RNA_def_property_boolean_sdna(prop, NULL, "overlay.edit_flag", V3D_OVERLAY_EDIT_FACE_DOT);
+ RNA_def_property_ui_text(prop, "Draw Face Center", "Display face center");
+ RNA_def_property_update(prop, NC_SPACE | ND_SPACE_VIEW3D, NULL);
+
+ prop = RNA_def_property(srna, "show_edge_crease", PROP_BOOLEAN, PROP_NONE);
+ RNA_def_property_boolean_sdna(prop, NULL, "overlay.edit_flag", V3D_OVERLAY_EDIT_CREASES);
+ RNA_def_property_ui_text(prop, "Draw Creases", "Display creases created for Subdivision Surface modifier");
+ RNA_def_property_update(prop, NC_SPACE | ND_SPACE_VIEW3D, NULL);
+
+ prop = RNA_def_property(srna, "show_edge_bevel_weight", PROP_BOOLEAN, PROP_NONE);
+ RNA_def_property_boolean_sdna(prop, NULL, "overlay.edit_flag", V3D_OVERLAY_EDIT_BWEIGHTS);
+ RNA_def_property_ui_text(prop, "Draw Bevel Weights", "Display weights created for the Bevel modifier");
+ RNA_def_property_update(prop, NC_SPACE | ND_SPACE_VIEW3D, NULL);
+
+ prop = RNA_def_property(srna, "show_edge_seams", PROP_BOOLEAN, PROP_NONE);
+ RNA_def_property_boolean_sdna(prop, NULL, "overlay.edit_flag", V3D_OVERLAY_EDIT_SEAMS);
+ RNA_def_property_ui_text(prop, "Draw Seams", "Display UV unwrapping seams");
+ RNA_def_property_update(prop, NC_SPACE | ND_SPACE_VIEW3D, NULL);
+
+ prop = RNA_def_property(srna, "show_edge_sharp", PROP_BOOLEAN, PROP_NONE);
+ RNA_def_property_boolean_sdna(prop, NULL, "overlay.edit_flag", V3D_OVERLAY_EDIT_SHARP);
+ RNA_def_property_ui_text(prop, "Draw Sharp", "Display sharp edges, used with the Edge Split modifier");
+ RNA_def_property_update(prop, NC_SPACE | ND_SPACE_VIEW3D, NULL);
+
+ prop = RNA_def_property(srna, "show_freestyle_edge_marks", PROP_BOOLEAN, PROP_NONE);
+ RNA_def_property_boolean_sdna(prop, NULL, "overlay.edit_flag", V3D_OVERLAY_EDIT_FREESTYLE_EDGE);
+ RNA_def_property_ui_text(prop, "Draw Freestyle Edge Marks", "Display Freestyle edge marks, used with the Freestyle renderer");
+ RNA_def_property_update(prop, NC_SPACE | ND_SPACE_VIEW3D, NULL);
+
+ prop = RNA_def_property(srna, "show_freestyle_face_marks", PROP_BOOLEAN, PROP_NONE);
+ RNA_def_property_boolean_sdna(prop, NULL, "overlay.edit_flag", V3D_OVERLAY_EDIT_FREESTYLE_FACE);
+ RNA_def_property_ui_text(prop, "Draw Freestyle Face Marks", "Display Freestyle face marks, used with the Freestyle renderer");
+ RNA_def_property_update(prop, NC_SPACE | ND_SPACE_VIEW3D, NULL);
+
+ prop = RNA_def_property(srna, "show_statvis", PROP_BOOLEAN, PROP_NONE);
+ RNA_def_property_boolean_sdna(prop, NULL, "overlay.edit_flag", V3D_OVERLAY_EDIT_STATVIS);
+ RNA_def_property_ui_text(prop, "Stat Vis", "Display statistical information about the mesh");
+ RNA_def_property_update(prop, NC_SPACE | ND_SPACE_VIEW3D, NULL);
+
+ prop = RNA_def_property(srna, "show_extra_edge_length", PROP_BOOLEAN, PROP_NONE);
+ RNA_def_property_boolean_sdna(prop, NULL, "overlay.edit_flag", V3D_OVERLAY_EDIT_EDGE_LEN);
+ RNA_def_property_ui_text(prop, "Edge Length",
+ "Display selected edge lengths, using global values when set in the transform panel");
+ RNA_def_property_update(prop, NC_SPACE | ND_SPACE_VIEW3D, NULL);
+
+ prop = RNA_def_property(srna, "show_extra_edge_angle", PROP_BOOLEAN, PROP_NONE);
+ RNA_def_property_boolean_sdna(prop, NULL, "overlay.edit_flag", V3D_OVERLAY_EDIT_EDGE_ANG);
+ RNA_def_property_ui_text(prop, "Edge Angle",
+ "Display selected edge angle, using global values when set in the transform panel");
+ RNA_def_property_update(prop, NC_SPACE | ND_SPACE_VIEW3D, NULL);
+
+ prop = RNA_def_property(srna, "show_extra_face_angle", PROP_BOOLEAN, PROP_NONE);
+ RNA_def_property_boolean_sdna(prop, NULL, "overlay.edit_flag", V3D_OVERLAY_EDIT_FACE_ANG);
+ RNA_def_property_ui_text(prop, "Face Angles",
+ "Display the angles in the selected edges, "
+ "using global values when set in the transform panel");
+ RNA_def_property_update(prop, NC_SPACE | ND_SPACE_VIEW3D, NULL);
+
+ prop = RNA_def_property(srna, "show_extra_face_area", PROP_BOOLEAN, PROP_NONE);
+ RNA_def_property_boolean_sdna(prop, NULL, "overlay.edit_flag", V3D_OVERLAY_EDIT_FACE_AREA);
+ RNA_def_property_ui_text(prop, "Face Area",
+ "Display the area of selected faces, "
+ "using global values when set in the transform panel");
+ RNA_def_property_update(prop, NC_SPACE | ND_SPACE_VIEW3D, NULL);
+
+ prop = RNA_def_property(srna, "show_extra_indices", PROP_BOOLEAN, PROP_NONE);
+ RNA_def_property_boolean_sdna(prop, NULL, "overlay.edit_flag", V3D_OVERLAY_EDIT_INDICES);
+ RNA_def_property_ui_text(prop, "Indices", "Display the index numbers of selected vertices, edges, and faces");
+ RNA_def_property_update(prop, NC_SPACE | ND_SPACE_VIEW3D, NULL);
+
prop = RNA_def_property(srna, "normals_length", PROP_FLOAT, PROP_FACTOR);
RNA_def_property_float_sdna(prop, NULL, "overlay.normals_length");
RNA_def_property_ui_text(prop, "Normal Size", "Display size for normals in the 3D view");