Gizmo: show extrude gizmos with dark '+' instead of negative space

This commit is contained in:
Campbell Barton
2019-11-22 17:23:24 +11:00
parent 66297cc26b
commit 3d015c71cc
2 changed files with 15 additions and 16 deletions

View File

@@ -103,11 +103,8 @@ typedef struct GizmoGroupData_SpinInit {
#define INIT_SCALE_BUTTON 0.15f
static const uchar shape_plus[] = {
0x5f, 0xfb, 0x40, 0xee, 0x25, 0xda, 0x11, 0xbf, 0x4, 0xa0, 0x0, 0x80, 0x4, 0x5f, 0x11, 0x40,
0x25, 0x25, 0x40, 0x11, 0x5f, 0x4, 0x7f, 0x0, 0xa0, 0x4, 0xbf, 0x11, 0xda, 0x25, 0xee, 0x40,
0xfb, 0x5f, 0xff, 0x7f, 0xfb, 0xa0, 0xee, 0xbf, 0xda, 0xda, 0xbf, 0xee, 0xa0, 0xfb, 0x80, 0xff,
0x6e, 0xd7, 0x92, 0xd7, 0x92, 0x90, 0xd8, 0x90, 0xd8, 0x6d, 0x92, 0x6d, 0x92, 0x27, 0x6e, 0x27,
0x6e, 0x6d, 0x28, 0x6d, 0x28, 0x90, 0x6e, 0x90, 0x6e, 0xd7, 0x80, 0xff, 0x5f, 0xfb, 0x5f, 0xfb,
0x73, 0x73, 0x73, 0x36, 0x8c, 0x36, 0x8c, 0x73, 0xc9, 0x73, 0xc9, 0x8c, 0x8c,
0x8c, 0x8c, 0xc9, 0x73, 0xc9, 0x73, 0x8c, 0x36, 0x8c, 0x36, 0x73, 0x36, 0x73,
};
static void gizmo_mesh_spin_init_setup(const bContext *UNUSED(C), wmGizmoGroup *gzgroup)
@@ -130,6 +127,8 @@ static void gizmo_mesh_spin_init_setup(const bContext *UNUSED(C), wmGizmoGroup *
RNA_property_string_set_bytes(
gz->ptr, prop, (const char *)shape_plus, ARRAY_SIZE(shape_plus));
RNA_enum_set(gz->ptr, "draw_options", ED_GIZMO_BUTTON_SHOW_BACKDROP);
float color[4];
UI_GetThemeColor3fv(TH_AXIS_X + i, color);
color[3] = alpha;

View File

@@ -61,11 +61,8 @@ static const float extrude_arrow_normal_axis_scale = 1.0f;
static const float extrude_dial_scale = 0.2;
static const uchar shape_plus[] = {
0x5f, 0xfb, 0x40, 0xee, 0x25, 0xda, 0x11, 0xbf, 0x4, 0xa0, 0x0, 0x80, 0x4, 0x5f, 0x11, 0x40,
0x25, 0x25, 0x40, 0x11, 0x5f, 0x4, 0x7f, 0x0, 0xa0, 0x4, 0xbf, 0x11, 0xda, 0x25, 0xee, 0x40,
0xfb, 0x5f, 0xff, 0x7f, 0xfb, 0xa0, 0xee, 0xbf, 0xda, 0xda, 0xbf, 0xee, 0xa0, 0xfb, 0x80, 0xff,
0x6e, 0xd7, 0x92, 0xd7, 0x92, 0x90, 0xd8, 0x90, 0xd8, 0x6d, 0x92, 0x6d, 0x92, 0x27, 0x6e, 0x27,
0x6e, 0x6d, 0x28, 0x6d, 0x28, 0x90, 0x6e, 0x90, 0x6e, 0xd7, 0x80, 0xff, 0x5f, 0xfb, 0x5f, 0xfb,
0x73, 0x73, 0x73, 0x36, 0x8c, 0x36, 0x8c, 0x73, 0xc9, 0x73, 0xc9, 0x8c, 0x8c,
0x8c, 0x8c, 0xc9, 0x73, 0xc9, 0x73, 0x8c, 0x36, 0x8c, 0x36, 0x73, 0x36, 0x73,
};
typedef struct GizmoExtrudeGroup {
@@ -327,16 +324,19 @@ static void gizmo_mesh_extrude_refresh(const bContext *C, wmGizmoGroup *gzgroup)
for (int i = 0; i < 4; i++) {
RNA_enum_set(ggd->invoke_xyz_no[i]->ptr,
"draw_options",
((gz_adjust == ggd->adjust[0]) &&
dot_v3v3(ggd->adjust[0]->matrix_basis[2],
ggd->invoke_xyz_no[i]->matrix_offset[3]) > 0.98f) ?
0 :
ED_GIZMO_BUTTON_SHOW_HELPLINE);
ED_GIZMO_BUTTON_SHOW_BACKDROP |
(((gz_adjust == ggd->adjust[0]) &&
dot_v3v3(ggd->adjust[0]->matrix_basis[2],
ggd->invoke_xyz_no[i]->matrix_offset[3]) > 0.98f) ?
0 :
ED_GIZMO_BUTTON_SHOW_HELPLINE));
}
}
else {
for (int i = 0; i < 4; i++) {
RNA_enum_set(ggd->invoke_xyz_no[i]->ptr, "draw_options", ED_GIZMO_BUTTON_SHOW_HELPLINE);
RNA_enum_set(ggd->invoke_xyz_no[i]->ptr,
"draw_options",
ED_GIZMO_BUTTON_SHOW_BACKDROP | ED_GIZMO_BUTTON_SHOW_HELPLINE);
}
}