forked from bartvdbraak/blender
UI: add view aligned gizmo color
Was hard coded to white making white backgrounds impractical. D7162 by @billreynish with edits.
This commit is contained in:
parent
014e569258
commit
b62e1146e1
@ -249,6 +249,7 @@ const bTheme U_theme_default = {
|
||||
.gizmo_secondary = RGBA(0x63ffffff),
|
||||
.gizmo_a = RGBA(0x4da84dff),
|
||||
.gizmo_b = RGBA(0xa33535ff),
|
||||
.gizmo_view_align = RGBA(0xffffffff),
|
||||
.icon_scene = RGBA(0xe6e6e6ff),
|
||||
.icon_collection = RGBA(0xf4f4f4ff),
|
||||
.icon_object = RGBA(0xee9e5dff),
|
||||
|
@ -14,6 +14,7 @@
|
||||
gizmo_hi="#ffffff"
|
||||
gizmo_primary="#f5f14d"
|
||||
gizmo_secondary="#63ffff"
|
||||
gizmo_view_align="#585858"
|
||||
gizmo_a="#4da84d"
|
||||
gizmo_b="#a33535"
|
||||
icon_scene="#e6e6e6ff"
|
||||
|
@ -916,6 +916,7 @@ class USERPREF_PT_theme_interface_gizmos(ThemePanel, CenterAlignMixIn, Panel):
|
||||
col = flow.column()
|
||||
col.prop(ui, "gizmo_primary")
|
||||
col.prop(ui, "gizmo_secondary")
|
||||
col.prop(ui, "gizmo_view_align")
|
||||
|
||||
col = flow.column()
|
||||
col.prop(ui, "gizmo_a")
|
||||
|
@ -27,7 +27,7 @@
|
||||
* \note Use #STRINGIFY() rather than defining with quotes.
|
||||
*/
|
||||
#define BLENDER_VERSION 283
|
||||
#define BLENDER_SUBVERSION 9
|
||||
#define BLENDER_SUBVERSION 10
|
||||
/** Several breakages with 280, e.g. collections vs layers. */
|
||||
#define BLENDER_MINVERSION 280
|
||||
#define BLENDER_MINSUBVERSION 0
|
||||
|
@ -196,6 +196,15 @@ static void do_versions_theme(const UserDef *userdef, bTheme *btheme)
|
||||
FROM_DEFAULT_V4_UCHAR(space_info.info_warning);
|
||||
}
|
||||
|
||||
if (!USER_VERSION_ATLEAST(283, 10)) {
|
||||
FROM_DEFAULT_V4_UCHAR(tui.gizmo_view_align);
|
||||
|
||||
FROM_DEFAULT_V4_UCHAR(space_sequencer.active_strip);
|
||||
FROM_DEFAULT_V4_UCHAR(space_sequencer.selected_strip);
|
||||
FROM_DEFAULT_V4_UCHAR(space_sequencer.color_strip);
|
||||
FROM_DEFAULT_V4_UCHAR(space_sequencer.mask);
|
||||
}
|
||||
|
||||
/**
|
||||
* Versioning code until next subversion bump goes here.
|
||||
*
|
||||
@ -207,10 +216,6 @@ static void do_versions_theme(const UserDef *userdef, bTheme *btheme)
|
||||
*/
|
||||
{
|
||||
/* Keep this block, even when empty. */
|
||||
FROM_DEFAULT_V4_UCHAR(space_sequencer.active_strip);
|
||||
FROM_DEFAULT_V4_UCHAR(space_sequencer.selected_strip);
|
||||
FROM_DEFAULT_V4_UCHAR(space_sequencer.color_strip);
|
||||
FROM_DEFAULT_V4_UCHAR(space_sequencer.mask);
|
||||
}
|
||||
|
||||
#undef FROM_DEFAULT_V4_UCHAR
|
||||
|
@ -315,6 +315,7 @@ typedef enum ThemeColorID {
|
||||
TH_GIZMO_HI,
|
||||
TH_GIZMO_PRIMARY,
|
||||
TH_GIZMO_SECONDARY,
|
||||
TH_GIZMO_VIEW_ALIGN,
|
||||
TH_GIZMO_A,
|
||||
TH_GIZMO_B,
|
||||
|
||||
|
@ -918,6 +918,9 @@ const uchar *UI_ThemeGetColorPtr(bTheme *btheme, int spacetype, int colorid)
|
||||
case TH_GIZMO_SECONDARY:
|
||||
cp = btheme->tui.gizmo_secondary;
|
||||
break;
|
||||
case TH_GIZMO_VIEW_ALIGN:
|
||||
cp = btheme->tui.gizmo_view_align;
|
||||
break;
|
||||
case TH_GIZMO_A:
|
||||
cp = btheme->tui.gizmo_a;
|
||||
break;
|
||||
|
@ -864,7 +864,7 @@ static void gizmo_ruler_draw(const bContext *C, wmGizmo *gz)
|
||||
uint pos = GPU_vertformat_attr_add(immVertexFormat(), "pos", GPU_COMP_F32, 2, GPU_FETCH_FLOAT);
|
||||
|
||||
immBindBuiltinProgram(GPU_SHADER_2D_UNIFORM_COLOR);
|
||||
immUniformColor4fv(color_act);
|
||||
immUniformThemeColor3(TH_GIZMO_VIEW_ALIGN);
|
||||
|
||||
imm_draw_circle_wire_2d(pos, co_ss_snap[0], co_ss_snap[1], size * U.pixelsize, 32);
|
||||
|
||||
|
@ -315,6 +315,11 @@ static void gizmo2d_xform_setup(const bContext *UNUSED(C), wmGizmoGroup *gzgroup
|
||||
WM_gizmo_set_scale(gz, 1.0f);
|
||||
}
|
||||
else {
|
||||
float color[4], color_hi[4];
|
||||
UI_GetThemeColor4fv(TH_GIZMO_VIEW_ALIGN, color);
|
||||
copy_v4_v4(color_hi, color);
|
||||
color[3] *= 0.6f;
|
||||
|
||||
PropertyRNA *prop = RNA_struct_find_property(gz->ptr, "icon");
|
||||
RNA_property_enum_set(gz->ptr, prop, ICON_NONE);
|
||||
|
||||
@ -322,7 +327,8 @@ static void gizmo2d_xform_setup(const bContext *UNUSED(C), wmGizmoGroup *gzgroup
|
||||
/* Make the center low alpha. */
|
||||
WM_gizmo_set_line_width(gz, 2.0f);
|
||||
RNA_float_set(gz->ptr, "backdrop_fill_alpha", 0.0);
|
||||
WM_gizmo_set_color(gz, (const float[4]){1, 1, 1, 0.6});
|
||||
WM_gizmo_set_color(gz, color);
|
||||
WM_gizmo_set_color_highlight(gz, color_hi);
|
||||
|
||||
WM_gizmo_set_scale(gz, 0.2f);
|
||||
}
|
||||
@ -629,6 +635,11 @@ static void gizmo2d_resize_setup(const bContext *UNUSED(C), wmGizmoGroup *gzgrou
|
||||
WM_gizmo_set_scale(gz, 1.0f);
|
||||
}
|
||||
else {
|
||||
float color[4], color_hi[4];
|
||||
UI_GetThemeColor4fv(TH_GIZMO_VIEW_ALIGN, color);
|
||||
copy_v4_v4(color_hi, color);
|
||||
color[3] *= 0.6f;
|
||||
|
||||
PropertyRNA *prop = RNA_struct_find_property(gz->ptr, "icon");
|
||||
RNA_property_enum_set(gz->ptr, prop, ICON_NONE);
|
||||
|
||||
@ -636,7 +647,8 @@ static void gizmo2d_resize_setup(const bContext *UNUSED(C), wmGizmoGroup *gzgrou
|
||||
/* Make the center low alpha. */
|
||||
WM_gizmo_set_line_width(gz, 2.0f);
|
||||
RNA_float_set(gz->ptr, "backdrop_fill_alpha", 0.0);
|
||||
WM_gizmo_set_color(gz, (const float[4]){1, 1, 1, 0.6});
|
||||
WM_gizmo_set_color(gz, color);
|
||||
WM_gizmo_set_color_highlight(gz, color_hi);
|
||||
|
||||
WM_gizmo_set_scale(gz, 1.2f);
|
||||
}
|
||||
@ -754,6 +766,9 @@ static void gizmo2d_rotate_setup(const bContext *UNUSED(C), wmGizmoGroup *gzgrou
|
||||
WM_gizmo_set_scale(gz, 1.2f);
|
||||
|
||||
{
|
||||
float color[4];
|
||||
UI_GetThemeColor4fv(TH_GIZMO_VIEW_ALIGN, color);
|
||||
|
||||
PropertyRNA *prop = RNA_struct_find_property(gz->ptr, "icon");
|
||||
RNA_property_enum_set(gz->ptr, prop, ICON_NONE);
|
||||
|
||||
@ -761,7 +776,8 @@ static void gizmo2d_rotate_setup(const bContext *UNUSED(C), wmGizmoGroup *gzgrou
|
||||
/* Make the center low alpha. */
|
||||
WM_gizmo_set_line_width(gz, 2.0f);
|
||||
RNA_float_set(gz->ptr, "backdrop_fill_alpha", 0.0);
|
||||
WM_gizmo_set_color(gz, (const float[4]){1, 1, 1, 0.6});
|
||||
WM_gizmo_set_color(gz, color);
|
||||
WM_gizmo_set_color_highlight(gz, color);
|
||||
}
|
||||
|
||||
/* Assign operator. */
|
||||
|
@ -397,7 +397,7 @@ static void gizmo_get_axis_color(const int axis_idx,
|
||||
case MAN_AXIS_ROT_C:
|
||||
case MAN_AXIS_SCALE_C:
|
||||
case MAN_AXIS_ROT_T:
|
||||
copy_v4_fl(r_col, 1.0f);
|
||||
UI_GetThemeColor4fv(TH_GIZMO_VIEW_ALIGN, r_col);
|
||||
break;
|
||||
}
|
||||
|
||||
|
@ -182,6 +182,7 @@ typedef struct ThemeUI {
|
||||
unsigned char gizmo_hi[4];
|
||||
unsigned char gizmo_primary[4];
|
||||
unsigned char gizmo_secondary[4];
|
||||
unsigned char gizmo_view_align[4];
|
||||
unsigned char gizmo_a[4];
|
||||
unsigned char gizmo_b[4];
|
||||
|
||||
@ -200,7 +201,6 @@ typedef struct ThemeUI {
|
||||
unsigned char icon_shading[4];
|
||||
/** File folders. */
|
||||
unsigned char icon_folder[4];
|
||||
char _pad2[4];
|
||||
/** Intensity of the border icons. >0 will render an border around themed
|
||||
* icons. */
|
||||
float icon_border_intensity;
|
||||
|
@ -1571,6 +1571,12 @@ static void rna_def_userdef_theme_ui(BlenderRNA *brna)
|
||||
RNA_def_property_ui_text(prop, "Gizmo Secondary", "");
|
||||
RNA_def_property_update(prop, 0, "rna_userdef_theme_update");
|
||||
|
||||
prop = RNA_def_property(srna, "gizmo_view_align", PROP_FLOAT, PROP_COLOR_GAMMA);
|
||||
RNA_def_property_float_sdna(prop, NULL, "gizmo_view_align");
|
||||
RNA_def_property_array(prop, 3);
|
||||
RNA_def_property_ui_text(prop, "Gizmo View Align", "");
|
||||
RNA_def_property_update(prop, 0, "rna_userdef_theme_update");
|
||||
|
||||
prop = RNA_def_property(srna, "gizmo_a", PROP_FLOAT, PROP_COLOR_GAMMA);
|
||||
RNA_def_property_float_sdna(prop, NULL, "gizmo_a");
|
||||
RNA_def_property_array(prop, 3);
|
||||
|
Loading…
Reference in New Issue
Block a user