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_userpref.py23
-rw-r--r--source/blender/blenkernel/BKE_blender.h2
-rw-r--r--source/blender/editors/animation/anim_draw.c2
-rw-r--r--source/blender/editors/include/UI_resources.h6
-rw-r--r--source/blender/editors/interface/resources.c43
-rw-r--r--source/blender/editors/space_graph/space_graph.c6
-rw-r--r--source/blender/editors/space_view3d/view3d_draw.c16
-rw-r--r--source/blender/editors/transform/transform_manipulator.c10
-rw-r--r--source/blender/makesdna/DNA_userdef_types.h3
-rw-r--r--source/blender/makesrna/intern/rna_userdef.c19
10 files changed, 95 insertions, 35 deletions
diff --git a/release/scripts/startup/bl_ui/space_userpref.py b/release/scripts/startup/bl_ui/space_userpref.py
index 455bf210ac2..c5a0a851fc5 100644
--- a/release/scripts/startup/bl_ui/space_userpref.py
+++ b/release/scripts/startup/bl_ui/space_userpref.py
@@ -728,6 +728,29 @@ class USERPREF_PT_theme(Panel):
colsub = padding.column()
colsub.row().prop(ui, "header")
+ col.separator()
+ col.separator()
+
+ ui = theme.user_interface
+ col.label("Axis Colors:")
+
+ row = col.row()
+
+ subsplit = row.split(percentage=0.95)
+
+ padding = subsplit.split(percentage=0.15)
+ colsub = padding.column()
+ colsub = padding.column()
+ colsub.row().prop(ui, "axis_x")
+ colsub.row().prop(ui, "axis_y")
+ colsub.row().prop(ui, "axis_z")
+
+ subsplit = row.split(percentage=0.85)
+
+ padding = subsplit.split(percentage=0.15)
+ colsub = padding.column()
+ colsub = padding.column()
+
layout.separator()
layout.separator()
elif theme.theme_area == 'BONE_COLOR_SETS':
diff --git a/source/blender/blenkernel/BKE_blender.h b/source/blender/blenkernel/BKE_blender.h
index e7033d8648d..3c210877de7 100644
--- a/source/blender/blenkernel/BKE_blender.h
+++ b/source/blender/blenkernel/BKE_blender.h
@@ -42,7 +42,7 @@ extern "C" {
* and keep comment above the defines.
* Use STRINGIFY() rather than defining with quotes */
#define BLENDER_VERSION 264
-#define BLENDER_SUBVERSION 8
+#define BLENDER_SUBVERSION 9
/* 262 was the last editmesh release but it has compatibility code for bmesh data */
#define BLENDER_MINVERSION 262
diff --git a/source/blender/editors/animation/anim_draw.c b/source/blender/editors/animation/anim_draw.c
index 01c0a95e200..0f0584ad8fe 100644
--- a/source/blender/editors/animation/anim_draw.c
+++ b/source/blender/editors/animation/anim_draw.c
@@ -381,7 +381,7 @@ float ANIM_unit_mapping_get_factor(Scene *scene, ID *id, FCurve *fcu, short rest
return RAD2DEGF(1.0f); /* radians to degrees */
}
}
-
+
/* TODO: other rotation types here as necessary */
}
}
diff --git a/source/blender/editors/include/UI_resources.h b/source/blender/editors/include/UI_resources.h
index e879a01dbfb..f4e921e2fa4 100644
--- a/source/blender/editors/include/UI_resources.h
+++ b/source/blender/editors/include/UI_resources.h
@@ -215,7 +215,11 @@ enum {
TH_NLA_META,
TH_NLA_META_SEL,
TH_NLA_SOUND,
- TH_NLA_SOUND_SEL
+ TH_NLA_SOUND_SEL,
+
+ TH_AXIS_X, /* X/Y/Z Axis */
+ TH_AXIS_Y,
+ TH_AXIS_Z
};
/* XXX WARNING: previous is saved in file, so do not change order! */
diff --git a/source/blender/editors/interface/resources.c b/source/blender/editors/interface/resources.c
index e03a2887866..fa5d5806bb8 100644
--- a/source/blender/editors/interface/resources.c
+++ b/source/blender/editors/interface/resources.c
@@ -236,7 +236,7 @@ const unsigned char *UI_ThemeGetColorPtr(bTheme *btheme, int spacetype, int colo
cp = ts->shade2; break;
case TH_HILITE:
cp = ts->hilite; break;
-
+
case TH_GRID:
cp = ts->grid; break;
case TH_WIRE:
@@ -510,6 +510,13 @@ const unsigned char *UI_ThemeGetColorPtr(bTheme *btheme, int spacetype, int colo
case TH_NLA_SOUND_SEL:
cp = ts->nla_sound_sel;
break;
+
+ case TH_AXIS_X:
+ cp = btheme->tui.xaxis; break;
+ case TH_AXIS_Y:
+ cp = btheme->tui.yaxis; break;
+ case TH_AXIS_Z:
+ cp = btheme->tui.zaxis; break;
}
}
}
@@ -655,9 +662,14 @@ void ui_theme_init_default(void)
/* UI buttons */
ui_widget_color_init(&btheme->tui);
+
btheme->tui.iconfile[0] = 0;
btheme->tui.panel.show_header = FALSE;
rgba_char_args_set(btheme->tui.panel.header, 0, 0, 0, 25);
+
+ rgba_char_args_set(btheme->tui.xaxis, 220, 0, 0, 255);
+ rgba_char_args_set(btheme->tui.yaxis, 0, 220, 0, 255);
+ rgba_char_args_set(btheme->tui.zaxis, 0, 0, 220, 255);
/* Bone Color Sets */
ui_theme_init_boneColorSets(btheme);
@@ -1072,7 +1084,6 @@ float UI_GetThemeValuef(int colorid)
cp = UI_ThemeGetColorPtr(theme_active, theme_spacetype, colorid);
return ((float)cp[0]);
-
}
/* get individual values, not scaled */
@@ -1082,7 +1093,6 @@ int UI_GetThemeValue(int colorid)
cp = UI_ThemeGetColorPtr(theme_active, theme_spacetype, colorid);
return ((int) cp[0]);
-
}
@@ -1244,21 +1254,20 @@ void UI_ThemeClearColor(int colorid)
void UI_make_axis_color(const unsigned char src_col[3], unsigned char dst_col[3], const char axis)
{
+ unsigned char col[3];
+
switch (axis) {
case 'X':
- dst_col[0] = src_col[0] > 219 ? 255 : src_col[0] + 36;
- dst_col[1] = src_col[1] < 26 ? 0 : src_col[1] - 26;
- dst_col[2] = src_col[2] < 26 ? 0 : src_col[2] - 26;
+ UI_GetThemeColor3ubv(TH_AXIS_X, col);
+ UI_GetColorPtrBlendShade3ubv(src_col, col, dst_col, 0.5f, -10);
break;
case 'Y':
- dst_col[0] = src_col[0] < 46 ? 0 : src_col[0] - 36;
- dst_col[1] = src_col[1] > 189 ? 255 : src_col[1] + 66;
- dst_col[2] = src_col[2] < 46 ? 0 : src_col[2] - 36;
+ UI_GetThemeColor3ubv(TH_AXIS_Y, col);
+ UI_GetColorPtrBlendShade3ubv(src_col, col, dst_col, 0.5f, -10);
break;
case 'Z':
- dst_col[0] = src_col[0] < 26 ? 0 : src_col[0] - 26;
- dst_col[1] = src_col[1] < 26 ? 0 : src_col[1] - 26;
- dst_col[2] = src_col[2] > 209 ? 255 : src_col[2] + 46;
+ UI_GetThemeColor3ubv(TH_AXIS_Z, col);
+ UI_GetColorPtrBlendShade3ubv(src_col, col, dst_col, 0.5f, -10);
break;
default:
BLI_assert(!"invalid axis arg");
@@ -1946,6 +1955,16 @@ void init_userdef_do_versions(void)
rgba_char_args_set(btheme->tv3d.skin_root, 180, 77, 77, 255);
}
}
+
+ if (bmain->versionfile < 264 || (bmain->versionfile == 264 && bmain->subversionfile < 9)) {
+ bTheme *btheme;
+
+ for (btheme = U.themes.first; btheme; btheme = btheme->next) {
+ rgba_char_args_set(btheme->tui.xaxis, 220, 0, 0, 255);
+ rgba_char_args_set(btheme->tui.yaxis, 0, 220, 0, 255);
+ rgba_char_args_set(btheme->tui.zaxis, 0, 0, 220, 255);
+ }
+ }
/* GL Texture Garbage Collection (variable abused above!) */
if (U.textimeout == 0) {
diff --git a/source/blender/editors/space_graph/space_graph.c b/source/blender/editors/space_graph/space_graph.c
index f41169b6c39..fa7c6bd472a 100644
--- a/source/blender/editors/space_graph/space_graph.c
+++ b/source/blender/editors/space_graph/space_graph.c
@@ -563,13 +563,13 @@ static void graph_refresh(const bContext *C, ScrArea *sa)
switch (fcu->array_index) {
case 0:
- col[0] = 1.0f; col[1] = 0.0f; col[2] = 0.0f;
+ UI_GetThemeColor3fv(TH_AXIS_X, col);
break;
case 1:
- col[0] = 0.0f; col[1] = 1.0f; col[2] = 0.0f;
+ UI_GetThemeColor3fv(TH_AXIS_Y, col);
break;
case 2:
- col[0] = 0.0f; col[1] = 0.0f; col[2] = 1.0f;
+ UI_GetThemeColor3fv(TH_AXIS_Z, col);
break;
default:
/* 'unknown' color - bluish so as to not conflict with handles */
diff --git a/source/blender/editors/space_view3d/view3d_draw.c b/source/blender/editors/space_view3d/view3d_draw.c
index 4d4fad47698..60cf9a3c4c4 100644
--- a/source/blender/editors/space_view3d/view3d_draw.c
+++ b/source/blender/editors/space_view3d/view3d_draw.c
@@ -545,12 +545,8 @@ static void drawfloor(Scene *scene, View3D *v3d, const char **grid_unit)
}
}
}
-
-
-
-
- if (v3d->zbuf && scene->obedit) glDepthMask(1);
+ if (v3d->zbuf && scene->obedit) glDepthMask(1);
}
static void drawcursor(Scene *scene, ARegion *ar, View3D *v3d)
@@ -600,8 +596,8 @@ static void draw_view_axis(RegionView3D *rv3d)
mul_qt_v3(rv3d->viewquat, vec);
dx = vec[0] * k;
dy = vec[1] * k;
-
- glColor4ub(220, 0, 0, bright);
+
+ UI_ThemeColorShadeAlpha(TH_AXIS_X, 0, bright);
glBegin(GL_LINES);
glVertex2f(start, start + ydisp);
glVertex2f(start + dx, start + dy + ydisp);
@@ -620,8 +616,8 @@ static void draw_view_axis(RegionView3D *rv3d)
mul_qt_v3(rv3d->viewquat, vec);
dx = vec[0] * k;
dy = vec[1] * k;
-
- glColor4ub(0, 220, 0, bright);
+
+ UI_ThemeColorShadeAlpha(TH_AXIS_Y, 0, bright);
glBegin(GL_LINES);
glVertex2f(start, start + ydisp);
glVertex2f(start + dx, start + dy + ydisp);
@@ -640,7 +636,7 @@ static void draw_view_axis(RegionView3D *rv3d)
dx = vec[0] * k;
dy = vec[1] * k;
- glColor4ub(30, 30, 220, bright);
+ UI_ThemeColorShadeAlpha(TH_AXIS_Z, 0, bright);
glBegin(GL_LINES);
glVertex2f(start, start + ydisp);
glVertex2f(start + dx, start + dy + ydisp);
diff --git a/source/blender/editors/transform/transform_manipulator.c b/source/blender/editors/transform/transform_manipulator.c
index 0780b8f90b5..a3f45acc02e 100644
--- a/source/blender/editors/transform/transform_manipulator.c
+++ b/source/blender/editors/transform/transform_manipulator.c
@@ -744,7 +744,7 @@ static char axisBlendAngle(float angle)
return (char)(255.0f * (angle - 5) / 15.0f);
}
-/* three colors can be set;
+/* three colors can be set:
* gray for ghosting
* moving: in transform theme color
* else the red/green/blue
@@ -776,15 +776,13 @@ static void manipulator_setcolor(View3D *v3d, char axis, int colcode, unsigned c
}
break;
case 'X':
- col[0] = 220;
+ UI_GetThemeColor3ubv(TH_AXIS_X, col);
break;
case 'Y':
- col[1] = 220;
+ UI_GetThemeColor3ubv(TH_AXIS_Y, col);
break;
case 'Z':
- col[0] = 30;
- col[1] = 30;
- col[2] = 220;
+ UI_GetThemeColor3ubv(TH_AXIS_Z, col);
break;
default:
BLI_assert(!"invalid axis arg");
diff --git a/source/blender/makesdna/DNA_userdef_types.h b/source/blender/makesdna/DNA_userdef_types.h
index 2256968da56..caa7c880aee 100644
--- a/source/blender/makesdna/DNA_userdef_types.h
+++ b/source/blender/makesdna/DNA_userdef_types.h
@@ -162,7 +162,8 @@ typedef struct ThemeUI {
char iconfile[256]; // FILE_MAXFILE length
float icon_alpha;
- float pad;
+ /* Axis Colors */
+ char xaxis[4], yaxis[4], zaxis[4];
} ThemeUI;
/* try to put them all in one, if needed a special struct can be created as well
diff --git a/source/blender/makesrna/intern/rna_userdef.c b/source/blender/makesrna/intern/rna_userdef.c
index fe179d8486d..11e04cdd281 100644
--- a/source/blender/makesrna/intern/rna_userdef.c
+++ b/source/blender/makesrna/intern/rna_userdef.c
@@ -770,6 +770,25 @@ static void rna_def_userdef_theme_ui(BlenderRNA *brna)
prop = RNA_def_property(srna, "icon_alpha", PROP_FLOAT, PROP_FACTOR);
RNA_def_property_ui_text(prop, "Icon Alpha", "Transparency of icons in the interface, to reduce contrast");
RNA_def_property_update(prop, 0, "rna_userdef_update");
+
+ /* axis */
+ prop = RNA_def_property(srna, "axis_x", PROP_FLOAT, PROP_COLOR_GAMMA);
+ RNA_def_property_float_sdna(prop, NULL, "xaxis");
+ RNA_def_property_array(prop, 3);
+ RNA_def_property_ui_text(prop, "X Axis", "");
+ RNA_def_property_update(prop, 0, "rna_userdef_update");
+
+ prop = RNA_def_property(srna, "axis_y", PROP_FLOAT, PROP_COLOR_GAMMA);
+ RNA_def_property_float_sdna(prop, NULL, "yaxis");
+ RNA_def_property_array(prop, 3);
+ RNA_def_property_ui_text(prop, "Y Axis", "");
+ RNA_def_property_update(prop, 0, "rna_userdef_update");
+
+ prop = RNA_def_property(srna, "axis_z", PROP_FLOAT, PROP_COLOR_GAMMA);
+ RNA_def_property_float_sdna(prop, NULL, "zaxis");
+ RNA_def_property_array(prop, 3);
+ RNA_def_property_ui_text(prop, "Z Axis", "");
+ RNA_def_property_update(prop, 0, "rna_userdef_update");
}
static void rna_def_userdef_theme_space_generic(BlenderRNA *brna)