Gizmo: show extrude gizmos with dark '+' instead of negative space
This commit is contained in:
@@ -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;
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user