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:
Diffstat (limited to 'source/blender/editors/interface/resources.c')
-rw-r--r--source/blender/editors/interface/resources.c2170
1 files changed, 1162 insertions, 1008 deletions
diff --git a/source/blender/editors/interface/resources.c b/source/blender/editors/interface/resources.c
index 8d908375c1b..fa56dc04143 100644
--- a/source/blender/editors/interface/resources.c
+++ b/source/blender/editors/interface/resources.c
@@ -40,7 +40,7 @@
#include "BKE_main.h"
#include "BKE_mesh_runtime.h"
-#include "BLO_readfile.h" /* for UserDef version patching. */
+#include "BLO_readfile.h" /* for UserDef version patching. */
#include "BLF_api.h"
@@ -68,693 +68,853 @@ static struct bThemeState g_theme_state = {
void ui_resources_init(void)
{
- UI_icons_init();
+ UI_icons_init();
}
void ui_resources_free(void)
{
- UI_icons_free();
+ UI_icons_free();
}
-
/* ******************************************************** */
/* THEMES */
/* ******************************************************** */
const uchar *UI_ThemeGetColorPtr(bTheme *btheme, int spacetype, int colorid)
{
- ThemeSpace *ts = NULL;
- static char error[4] = {240, 0, 240, 255};
- static char alert[4] = {240, 60, 60, 255};
- static char headerdesel[4] = {0, 0, 0, 255};
- static char back[4] = {0, 0, 0, 255};
- static char setting = 0;
- const char *cp = error;
-
- /* ensure we're not getting a color after running BKE_blender_userdef_free */
- BLI_assert(BLI_findindex(&U.themes, theme_active) != -1);
- BLI_assert(colorid != TH_UNDEFINED);
-
- if (btheme) {
-
- /* first check for ui buttons theme */
- if (colorid < TH_THEMEUI) {
-
- switch (colorid) {
-
- case TH_REDALERT:
- cp = alert; break;
- }
- }
- else {
-
- switch (spacetype) {
- case SPACE_PROPERTIES:
- ts = &btheme->space_properties;
- break;
- case SPACE_VIEW3D:
- ts = &btheme->space_view3d;
- break;
- case SPACE_GRAPH:
- ts = &btheme->space_graph;
- break;
- case SPACE_FILE:
- ts = &btheme->space_file;
- break;
- case SPACE_NLA:
- ts = &btheme->space_nla;
- break;
- case SPACE_ACTION:
- ts = &btheme->space_action;
- break;
- case SPACE_SEQ:
- ts = &btheme->space_sequencer;
- break;
- case SPACE_IMAGE:
- ts = &btheme->space_image;
- break;
- case SPACE_TEXT:
- ts = &btheme->space_text;
- break;
- case SPACE_OUTLINER:
- ts = &btheme->space_outliner;
- break;
- case SPACE_INFO:
- ts = &btheme->space_info;
- break;
- case SPACE_USERPREF:
- ts = &btheme->space_preferences;
- break;
- case SPACE_CONSOLE:
- ts = &btheme->space_console;
- break;
- case SPACE_NODE:
- ts = &btheme->space_node;
- break;
- case SPACE_CLIP:
- ts = &btheme->space_clip;
- break;
- case SPACE_TOPBAR:
- ts = &btheme->space_topbar;
- break;
- case SPACE_STATUSBAR:
- ts = &btheme->space_statusbar;
- break;
- default:
- ts = &btheme->space_view3d;
- break;
- }
-
- switch (colorid) {
- case TH_BACK:
- if (ELEM(theme_regionid, RGN_TYPE_WINDOW, RGN_TYPE_PREVIEW)) {
- cp = ts->back;
- }
- else if (theme_regionid == RGN_TYPE_CHANNELS) {
- cp = ts->list;
- }
- else if (ELEM(theme_regionid, RGN_TYPE_HEADER, RGN_TYPE_FOOTER)) {
- cp = ts->header;
- }
- else if (theme_regionid == RGN_TYPE_NAV_BAR) {
- cp = ts->navigation_bar;
- }
- else if (theme_regionid == RGN_TYPE_EXECUTE) {
- cp = ts->execution_buts;
- }
- else {
- cp = ts->button;
- }
-
- copy_v4_v4_char(back, cp);
- if (!ED_region_is_overlap(spacetype, theme_regionid)) {
- back[3] = 255;
- }
- cp = back;
- break;
- case TH_BACK_GRAD:
- cp = ts->back_grad;
- break;
-
- case TH_SHOW_BACK_GRAD:
- cp = &setting;
- setting = ts->show_back_grad;
- break;
- case TH_TEXT:
- if (theme_regionid == RGN_TYPE_WINDOW) {
- cp = ts->text;
- }
- else if (theme_regionid == RGN_TYPE_CHANNELS) {
- cp = ts->list_text;
- }
- else if (ELEM(theme_regionid, RGN_TYPE_HEADER, RGN_TYPE_FOOTER)) {
- cp = ts->header_text;
- }
- else {
- cp = ts->button_text;
- }
- break;
- case TH_TEXT_HI:
- if (theme_regionid == RGN_TYPE_WINDOW) {
- cp = ts->text_hi;
- }
- else if (theme_regionid == RGN_TYPE_CHANNELS) {
- cp = ts->list_text_hi;
- }
- else if (ELEM(theme_regionid, RGN_TYPE_HEADER, RGN_TYPE_FOOTER)) {
- cp = ts->header_text_hi;
- }
- else {
- cp = ts->button_text_hi;
- }
- break;
- case TH_TITLE:
- if (theme_regionid == RGN_TYPE_WINDOW) {
- cp = ts->title;
- }
- else if (theme_regionid == RGN_TYPE_CHANNELS) {
- cp = ts->list_title;
- }
- else if (ELEM(theme_regionid, RGN_TYPE_HEADER, RGN_TYPE_FOOTER)) {
- cp = ts->header_title;
- }
- else {
- cp = ts->button_title;
- }
- break;
-
- case TH_HEADER:
- cp = ts->header; break;
- case TH_HEADERDESEL:
- /* we calculate a dynamic builtin header deselect color,
- * also for pulldowns... */
- cp = ts->header;
- headerdesel[0] = cp[0] > 10 ? cp[0] - 10 : 0;
- headerdesel[1] = cp[1] > 10 ? cp[1] - 10 : 0;
- headerdesel[2] = cp[2] > 10 ? cp[2] - 10 : 0;
- headerdesel[3] = cp[3];
- cp = headerdesel;
- break;
- case TH_HEADER_TEXT:
- cp = ts->header_text; break;
- case TH_HEADER_TEXT_HI:
- cp = ts->header_text_hi; break;
-
- case TH_PANEL_HEADER:
- cp = ts->panelcolors.header; break;
- case TH_PANEL_BACK:
- cp = ts->panelcolors.back; break;
- case TH_PANEL_SUB_BACK:
- cp = ts->panelcolors.sub_back; break;
-
- case TH_BUTBACK:
- cp = ts->button; break;
- case TH_BUTBACK_TEXT:
- cp = ts->button_text; break;
- case TH_BUTBACK_TEXT_HI:
- cp = ts->button_text_hi; break;
-
- case TH_TAB_ACTIVE:
- cp = ts->tab_active; break;
- case TH_TAB_INACTIVE:
- cp = ts->tab_inactive; break;
- case TH_TAB_BACK:
- cp = ts->tab_back; break;
- case TH_TAB_OUTLINE:
- cp = ts->tab_outline; break;
-
- case TH_SHADE1:
- cp = ts->shade1; break;
- case TH_SHADE2:
- cp = ts->shade2; break;
- case TH_HILITE:
- cp = ts->hilite; break;
-
- case TH_GRID:
- cp = ts->grid; break;
- case TH_VIEW_OVERLAY:
- cp = ts->view_overlay; break;
- case TH_WIRE:
- cp = ts->wire; break;
- case TH_WIRE_INNER:
- cp = ts->syntaxr; break;
- case TH_WIRE_EDIT:
- cp = ts->wire_edit; break;
- case TH_LIGHT:
- cp = ts->lamp; break;
- case TH_SPEAKER:
- cp = ts->speaker; break;
- case TH_CAMERA:
- cp = ts->camera; break;
- case TH_EMPTY:
- cp = ts->empty; break;
- case TH_SELECT:
- cp = ts->select; break;
- case TH_ACTIVE:
- cp = ts->active; break;
- case TH_GROUP:
- cp = ts->group; break;
- case TH_GROUP_ACTIVE:
- cp = ts->group_active; break;
- case TH_TRANSFORM:
- cp = ts->transform; break;
- case TH_VERTEX:
- cp = ts->vertex; break;
- case TH_VERTEX_SELECT:
- cp = ts->vertex_select; break;
- case TH_VERTEX_BEVEL:
- cp = ts->vertex_bevel; break;
- case TH_VERTEX_UNREFERENCED:
- cp = ts->vertex_unreferenced; break;
- case TH_VERTEX_SIZE:
- cp = &ts->vertex_size; break;
- case TH_OUTLINE_WIDTH:
- cp = &ts->outline_width; break;
- case TH_EDGE:
- cp = ts->edge; break;
- case TH_EDGE_SELECT:
- cp = ts->edge_select; break;
- case TH_EDGE_SEAM:
- cp = ts->edge_seam; break;
- case TH_EDGE_SHARP:
- cp = ts->edge_sharp; break;
- case TH_EDGE_CREASE:
- cp = ts->edge_crease; break;
- case TH_EDGE_BEVEL:
- cp = ts->edge_bevel; break;
- case TH_EDITMESH_ACTIVE:
- cp = ts->editmesh_active; break;
- case TH_EDGE_FACESEL:
- cp = ts->edge_facesel; break;
- case TH_FACE:
- cp = ts->face; break;
- case TH_FACE_SELECT:
- cp = ts->face_select; break;
- case TH_FACE_DOT:
- cp = ts->face_dot; break;
- case TH_FACEDOT_SIZE:
- cp = &ts->facedot_size; break;
- case TH_DRAWEXTRA_EDGELEN:
- cp = ts->extra_edge_len; break;
- case TH_DRAWEXTRA_EDGEANG:
- cp = ts->extra_edge_angle; break;
- case TH_DRAWEXTRA_FACEAREA:
- cp = ts->extra_face_area; break;
- case TH_DRAWEXTRA_FACEANG:
- cp = ts->extra_face_angle; break;
- case TH_NORMAL:
- cp = ts->normal; break;
- case TH_VNORMAL:
- cp = ts->vertex_normal; break;
- case TH_LNORMAL:
- cp = ts->loop_normal; break;
- case TH_BONE_SOLID:
- cp = ts->bone_solid; break;
- case TH_BONE_POSE:
- cp = ts->bone_pose; break;
- case TH_BONE_POSE_ACTIVE:
- cp = ts->bone_pose_active; break;
- case TH_STRIP:
- cp = ts->strip; break;
- case TH_STRIP_SELECT:
- cp = ts->strip_select; break;
- case TH_KEYTYPE_KEYFRAME:
- cp = ts->keytype_keyframe; break;
- case TH_KEYTYPE_KEYFRAME_SELECT:
- cp = ts->keytype_keyframe_select; break;
- case TH_KEYTYPE_EXTREME:
- cp = ts->keytype_extreme; break;
- case TH_KEYTYPE_EXTREME_SELECT:
- cp = ts->keytype_extreme_select; break;
- case TH_KEYTYPE_BREAKDOWN:
- cp = ts->keytype_breakdown; break;
- case TH_KEYTYPE_BREAKDOWN_SELECT:
- cp = ts->keytype_breakdown_select; break;
- case TH_KEYTYPE_JITTER:
- cp = ts->keytype_jitter; break;
- case TH_KEYTYPE_JITTER_SELECT:
- cp = ts->keytype_jitter_select; break;
- case TH_KEYTYPE_MOVEHOLD:
- cp = ts->keytype_movehold; break;
- case TH_KEYTYPE_MOVEHOLD_SELECT:
- cp = ts->keytype_movehold_select; break;
- case TH_KEYBORDER:
- cp = ts->keyborder; break;
- case TH_KEYBORDER_SELECT:
- cp = ts->keyborder_select; break;
- case TH_CFRAME:
- cp = ts->cframe; break;
- case TH_TIME_KEYFRAME:
- cp = ts->time_keyframe; break;
- case TH_TIME_GP_KEYFRAME:
- cp = ts->time_gp_keyframe; break;
- case TH_NURB_ULINE:
- cp = ts->nurb_uline; break;
- case TH_NURB_VLINE:
- cp = ts->nurb_vline; break;
- case TH_NURB_SEL_ULINE:
- cp = ts->nurb_sel_uline; break;
- case TH_NURB_SEL_VLINE:
- cp = ts->nurb_sel_vline; break;
- case TH_ACTIVE_SPLINE:
- cp = ts->act_spline; break;
- case TH_ACTIVE_VERT:
- cp = ts->lastsel_point; break;
- case TH_HANDLE_FREE:
- cp = ts->handle_free; break;
- case TH_HANDLE_AUTO:
- cp = ts->handle_auto; break;
- case TH_HANDLE_AUTOCLAMP:
- cp = ts->handle_auto_clamped; break;
- case TH_HANDLE_VECT:
- cp = ts->handle_vect; break;
- case TH_HANDLE_ALIGN:
- cp = ts->handle_align; break;
- case TH_HANDLE_SEL_FREE:
- cp = ts->handle_sel_free; break;
- case TH_HANDLE_SEL_AUTO:
- cp = ts->handle_sel_auto; break;
- case TH_HANDLE_SEL_AUTOCLAMP:
- cp = ts->handle_sel_auto_clamped; break;
- case TH_HANDLE_SEL_VECT:
- cp = ts->handle_sel_vect; break;
- case TH_HANDLE_SEL_ALIGN:
- cp = ts->handle_sel_align; break;
- case TH_FREESTYLE_EDGE_MARK:
- cp = ts->freestyle_edge_mark; break;
- case TH_FREESTYLE_FACE_MARK:
- cp = ts->freestyle_face_mark; break;
-
- case TH_SYNTAX_B:
- cp = ts->syntaxb; break;
- case TH_SYNTAX_V:
- cp = ts->syntaxv; break;
- case TH_SYNTAX_C:
- cp = ts->syntaxc; break;
- case TH_SYNTAX_L:
- cp = ts->syntaxl; break;
- case TH_SYNTAX_D:
- cp = ts->syntaxd; break;
- case TH_SYNTAX_R:
- cp = ts->syntaxr; break;
- case TH_SYNTAX_N:
- cp = ts->syntaxn; break;
- case TH_SYNTAX_S:
- cp = ts->syntaxs; break;
-
- case TH_NODE:
- cp = ts->syntaxl; break;
- case TH_NODE_INPUT:
- cp = ts->syntaxn; break;
- case TH_NODE_OUTPUT:
- cp = ts->nodeclass_output; break;
- case TH_NODE_COLOR:
- cp = ts->syntaxb; break;
- case TH_NODE_FILTER:
- cp = ts->nodeclass_filter; break;
- case TH_NODE_VECTOR:
- cp = ts->nodeclass_vector; break;
- case TH_NODE_TEXTURE:
- cp = ts->nodeclass_texture; break;
- case TH_NODE_PATTERN:
- cp = ts->nodeclass_pattern; break;
- case TH_NODE_SCRIPT:
- cp = ts->nodeclass_script; break;
- case TH_NODE_LAYOUT:
- cp = ts->nodeclass_layout; break;
- case TH_NODE_SHADER:
- cp = ts->nodeclass_shader; break;
- case TH_NODE_CONVERTOR:
- cp = ts->syntaxv; break;
- case TH_NODE_GROUP:
- cp = ts->syntaxc; break;
- case TH_NODE_INTERFACE:
- cp = ts->console_output; break;
- case TH_NODE_FRAME:
- cp = ts->movie; break;
- case TH_NODE_MATTE:
- cp = ts->syntaxs; break;
- case TH_NODE_DISTORT:
- cp = ts->syntaxd; break;
- case TH_NODE_CURVING:
- cp = &ts->noodle_curving; break;
-
- case TH_SEQ_MOVIE:
- cp = ts->movie; break;
- case TH_SEQ_MOVIECLIP:
- cp = ts->movieclip; break;
- case TH_SEQ_MASK:
- cp = ts->mask; break;
- case TH_SEQ_IMAGE:
- cp = ts->image; break;
- case TH_SEQ_SCENE:
- cp = ts->scene; break;
- case TH_SEQ_AUDIO:
- cp = ts->audio; break;
- case TH_SEQ_EFFECT:
- cp = ts->effect; break;
- case TH_SEQ_TRANSITION:
- cp = ts->transition; break;
- case TH_SEQ_META:
- cp = ts->meta; break;
- case TH_SEQ_TEXT:
- cp = ts->text_strip; break;
- case TH_SEQ_PREVIEW:
- cp = ts->preview_back; break;
-
- case TH_CONSOLE_OUTPUT:
- cp = ts->console_output; break;
- case TH_CONSOLE_INPUT:
- cp = ts->console_input; break;
- case TH_CONSOLE_INFO:
- cp = ts->console_info; break;
- case TH_CONSOLE_ERROR:
- cp = ts->console_error; break;
- case TH_CONSOLE_CURSOR:
- cp = ts->console_cursor; break;
- case TH_CONSOLE_SELECT:
- cp = ts->console_select; break;
-
- case TH_HANDLE_VERTEX:
- cp = ts->handle_vertex;
- break;
- case TH_HANDLE_VERTEX_SELECT:
- cp = ts->handle_vertex_select;
- break;
- case TH_HANDLE_VERTEX_SIZE:
- cp = &ts->handle_vertex_size;
- break;
-
- case TH_GP_VERTEX:
- cp = ts->gp_vertex;
- break;
- case TH_GP_VERTEX_SELECT:
- cp = ts->gp_vertex_select;
- break;
- case TH_GP_VERTEX_SIZE:
- cp = &ts->gp_vertex_size;
- break;
-
- case TH_DOPESHEET_CHANNELOB:
- cp = ts->ds_channel;
- break;
- case TH_DOPESHEET_CHANNELSUBOB:
- cp = ts->ds_subchannel;
- break;
- case TH_DOPESHEET_IPOLINE:
- cp = ts->ds_ipoline;
- break;
-
- case TH_PREVIEW_BACK:
- cp = ts->preview_back;
- break;
-
- case TH_STITCH_PREVIEW_FACE:
- cp = ts->preview_stitch_face;
- break;
-
- case TH_STITCH_PREVIEW_EDGE:
- cp = ts->preview_stitch_edge;
- break;
-
- case TH_STITCH_PREVIEW_VERT:
- cp = ts->preview_stitch_vert;
- break;
-
- case TH_STITCH_PREVIEW_STITCHABLE:
- cp = ts->preview_stitch_stitchable;
- break;
-
- case TH_STITCH_PREVIEW_UNSTITCHABLE:
- cp = ts->preview_stitch_unstitchable;
- break;
- case TH_STITCH_PREVIEW_ACTIVE:
- cp = ts->preview_stitch_active;
- break;
-
- case TH_PAINT_CURVE_HANDLE:
- cp = ts->paint_curve_handle;
- break;
- case TH_PAINT_CURVE_PIVOT:
- cp = ts->paint_curve_pivot;
- break;
-
- case TH_METADATA_BG:
- cp = ts->metadatabg;
- break;
- case TH_METADATA_TEXT:
- cp = ts->metadatatext;
- break;
-
- case TH_UV_OTHERS:
- cp = ts->uv_others;
- break;
- case TH_UV_SHADOW:
- cp = ts->uv_shadow;
- break;
-
- case TH_MARKER_OUTLINE:
- cp = ts->marker_outline; break;
- case TH_MARKER:
- cp = ts->marker; break;
- case TH_ACT_MARKER:
- cp = ts->act_marker; break;
- case TH_SEL_MARKER:
- cp = ts->sel_marker; break;
- case TH_BUNDLE_SOLID:
- cp = ts->bundle_solid; break;
- case TH_DIS_MARKER:
- cp = ts->dis_marker; break;
- case TH_PATH_BEFORE:
- cp = ts->path_before; break;
- case TH_PATH_AFTER:
- cp = ts->path_after; break;
- case TH_CAMERA_PATH:
- cp = ts->camera_path; break;
- case TH_LOCK_MARKER:
- cp = ts->lock_marker; break;
-
- case TH_MATCH:
- cp = ts->match;
- break;
-
- case TH_SELECT_HIGHLIGHT:
- cp = ts->selected_highlight;
- break;
-
- case TH_SKIN_ROOT:
- cp = ts->skin_root;
- break;
-
- case TH_ANIM_ACTIVE:
- cp = ts->anim_active;
- break;
- case TH_ANIM_INACTIVE:
- cp = ts->anim_non_active;
- break;
- case TH_ANIM_PREVIEW_RANGE:
- cp = ts->anim_preview_range;
- break;
-
- case TH_NLA_TWEAK:
- cp = ts->nla_tweaking;
- break;
- case TH_NLA_TWEAK_DUPLI:
- cp = ts->nla_tweakdupli;
- break;
-
- case TH_NLA_TRANSITION:
- cp = ts->nla_transition;
- break;
- case TH_NLA_TRANSITION_SEL:
- cp = ts->nla_transition_sel;
- break;
- case TH_NLA_META:
- cp = ts->nla_meta;
- break;
- case TH_NLA_META_SEL:
- cp = ts->nla_meta_sel;
- break;
- case TH_NLA_SOUND:
- cp = ts->nla_sound;
- break;
- case TH_NLA_SOUND_SEL:
- cp = ts->nla_sound_sel;
- break;
-
- case TH_WIDGET_EMBOSS:
- cp = btheme->tui.widget_emboss; break;
-
- case TH_EDITOR_OUTLINE:
- cp = btheme->tui.editor_outline;
- 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;
-
- case TH_GIZMO_HI:
- cp = btheme->tui.gizmo_hi; break;
- case TH_GIZMO_PRIMARY:
- cp = btheme->tui.gizmo_primary; break;
- case TH_GIZMO_SECONDARY:
- cp = btheme->tui.gizmo_secondary; break;
- case TH_GIZMO_A:
- cp = btheme->tui.gizmo_a; break;
- case TH_GIZMO_B:
- cp = btheme->tui.gizmo_b; break;
-
- case TH_ICON_COLLECTION:
- cp = btheme->tui.icon_collection; break;
- case TH_ICON_OBJECT:
- cp = btheme->tui.icon_object; break;
- case TH_ICON_OBJECT_DATA:
- cp = btheme->tui.icon_object_data; break;
- case TH_ICON_MODIFIER:
- cp = btheme->tui.icon_modifier; break;
- case TH_ICON_SHADING:
- cp = btheme->tui.icon_shading; break;
-
- case TH_INFO_SELECTED:
- cp = ts->info_selected;
- break;
- case TH_INFO_SELECTED_TEXT:
- cp = ts->info_selected_text;
- break;
- case TH_INFO_ERROR:
- cp = ts->info_error;
- break;
- case TH_INFO_ERROR_TEXT:
- cp = ts->info_error_text;
- break;
- case TH_INFO_WARNING:
- cp = ts->info_warning;
- break;
- case TH_INFO_WARNING_TEXT:
- cp = ts->info_warning_text;
- break;
- case TH_INFO_INFO:
- cp = ts->info_info;
- break;
- case TH_INFO_INFO_TEXT:
- cp = ts->info_info_text;
- break;
- case TH_INFO_DEBUG:
- cp = ts->info_debug;
- break;
- case TH_INFO_DEBUG_TEXT:
- cp = ts->info_debug_text;
- break;
- case TH_V3D_CLIPPING_BORDER:
- cp = ts->clipping_border_3d;
- break;
- }
- }
- }
-
- return (const uchar *)cp;
+ ThemeSpace *ts = NULL;
+ static char error[4] = {240, 0, 240, 255};
+ static char alert[4] = {240, 60, 60, 255};
+ static char headerdesel[4] = {0, 0, 0, 255};
+ static char back[4] = {0, 0, 0, 255};
+ static char setting = 0;
+ const char *cp = error;
+
+ /* ensure we're not getting a color after running BKE_blender_userdef_free */
+ BLI_assert(BLI_findindex(&U.themes, theme_active) != -1);
+ BLI_assert(colorid != TH_UNDEFINED);
+
+ if (btheme) {
+
+ /* first check for ui buttons theme */
+ if (colorid < TH_THEMEUI) {
+
+ switch (colorid) {
+
+ case TH_REDALERT:
+ cp = alert;
+ break;
+ }
+ }
+ else {
+
+ switch (spacetype) {
+ case SPACE_PROPERTIES:
+ ts = &btheme->space_properties;
+ break;
+ case SPACE_VIEW3D:
+ ts = &btheme->space_view3d;
+ break;
+ case SPACE_GRAPH:
+ ts = &btheme->space_graph;
+ break;
+ case SPACE_FILE:
+ ts = &btheme->space_file;
+ break;
+ case SPACE_NLA:
+ ts = &btheme->space_nla;
+ break;
+ case SPACE_ACTION:
+ ts = &btheme->space_action;
+ break;
+ case SPACE_SEQ:
+ ts = &btheme->space_sequencer;
+ break;
+ case SPACE_IMAGE:
+ ts = &btheme->space_image;
+ break;
+ case SPACE_TEXT:
+ ts = &btheme->space_text;
+ break;
+ case SPACE_OUTLINER:
+ ts = &btheme->space_outliner;
+ break;
+ case SPACE_INFO:
+ ts = &btheme->space_info;
+ break;
+ case SPACE_USERPREF:
+ ts = &btheme->space_preferences;
+ break;
+ case SPACE_CONSOLE:
+ ts = &btheme->space_console;
+ break;
+ case SPACE_NODE:
+ ts = &btheme->space_node;
+ break;
+ case SPACE_CLIP:
+ ts = &btheme->space_clip;
+ break;
+ case SPACE_TOPBAR:
+ ts = &btheme->space_topbar;
+ break;
+ case SPACE_STATUSBAR:
+ ts = &btheme->space_statusbar;
+ break;
+ default:
+ ts = &btheme->space_view3d;
+ break;
+ }
+
+ switch (colorid) {
+ case TH_BACK:
+ if (ELEM(theme_regionid, RGN_TYPE_WINDOW, RGN_TYPE_PREVIEW)) {
+ cp = ts->back;
+ }
+ else if (theme_regionid == RGN_TYPE_CHANNELS) {
+ cp = ts->list;
+ }
+ else if (ELEM(theme_regionid, RGN_TYPE_HEADER, RGN_TYPE_FOOTER)) {
+ cp = ts->header;
+ }
+ else if (theme_regionid == RGN_TYPE_NAV_BAR) {
+ cp = ts->navigation_bar;
+ }
+ else if (theme_regionid == RGN_TYPE_EXECUTE) {
+ cp = ts->execution_buts;
+ }
+ else {
+ cp = ts->button;
+ }
+
+ copy_v4_v4_char(back, cp);
+ if (!ED_region_is_overlap(spacetype, theme_regionid)) {
+ back[3] = 255;
+ }
+ cp = back;
+ break;
+ case TH_BACK_GRAD:
+ cp = ts->back_grad;
+ break;
+
+ case TH_SHOW_BACK_GRAD:
+ cp = &setting;
+ setting = ts->show_back_grad;
+ break;
+ case TH_TEXT:
+ if (theme_regionid == RGN_TYPE_WINDOW) {
+ cp = ts->text;
+ }
+ else if (theme_regionid == RGN_TYPE_CHANNELS) {
+ cp = ts->list_text;
+ }
+ else if (ELEM(theme_regionid, RGN_TYPE_HEADER, RGN_TYPE_FOOTER)) {
+ cp = ts->header_text;
+ }
+ else {
+ cp = ts->button_text;
+ }
+ break;
+ case TH_TEXT_HI:
+ if (theme_regionid == RGN_TYPE_WINDOW) {
+ cp = ts->text_hi;
+ }
+ else if (theme_regionid == RGN_TYPE_CHANNELS) {
+ cp = ts->list_text_hi;
+ }
+ else if (ELEM(theme_regionid, RGN_TYPE_HEADER, RGN_TYPE_FOOTER)) {
+ cp = ts->header_text_hi;
+ }
+ else {
+ cp = ts->button_text_hi;
+ }
+ break;
+ case TH_TITLE:
+ if (theme_regionid == RGN_TYPE_WINDOW) {
+ cp = ts->title;
+ }
+ else if (theme_regionid == RGN_TYPE_CHANNELS) {
+ cp = ts->list_title;
+ }
+ else if (ELEM(theme_regionid, RGN_TYPE_HEADER, RGN_TYPE_FOOTER)) {
+ cp = ts->header_title;
+ }
+ else {
+ cp = ts->button_title;
+ }
+ break;
+
+ case TH_HEADER:
+ cp = ts->header;
+ break;
+ case TH_HEADERDESEL:
+ /* we calculate a dynamic builtin header deselect color,
+ * also for pulldowns... */
+ cp = ts->header;
+ headerdesel[0] = cp[0] > 10 ? cp[0] - 10 : 0;
+ headerdesel[1] = cp[1] > 10 ? cp[1] - 10 : 0;
+ headerdesel[2] = cp[2] > 10 ? cp[2] - 10 : 0;
+ headerdesel[3] = cp[3];
+ cp = headerdesel;
+ break;
+ case TH_HEADER_TEXT:
+ cp = ts->header_text;
+ break;
+ case TH_HEADER_TEXT_HI:
+ cp = ts->header_text_hi;
+ break;
+
+ case TH_PANEL_HEADER:
+ cp = ts->panelcolors.header;
+ break;
+ case TH_PANEL_BACK:
+ cp = ts->panelcolors.back;
+ break;
+ case TH_PANEL_SUB_BACK:
+ cp = ts->panelcolors.sub_back;
+ break;
+
+ case TH_BUTBACK:
+ cp = ts->button;
+ break;
+ case TH_BUTBACK_TEXT:
+ cp = ts->button_text;
+ break;
+ case TH_BUTBACK_TEXT_HI:
+ cp = ts->button_text_hi;
+ break;
+
+ case TH_TAB_ACTIVE:
+ cp = ts->tab_active;
+ break;
+ case TH_TAB_INACTIVE:
+ cp = ts->tab_inactive;
+ break;
+ case TH_TAB_BACK:
+ cp = ts->tab_back;
+ break;
+ case TH_TAB_OUTLINE:
+ cp = ts->tab_outline;
+ break;
+
+ case TH_SHADE1:
+ cp = ts->shade1;
+ break;
+ case TH_SHADE2:
+ cp = ts->shade2;
+ break;
+ case TH_HILITE:
+ cp = ts->hilite;
+ break;
+
+ case TH_GRID:
+ cp = ts->grid;
+ break;
+ case TH_VIEW_OVERLAY:
+ cp = ts->view_overlay;
+ break;
+ case TH_WIRE:
+ cp = ts->wire;
+ break;
+ case TH_WIRE_INNER:
+ cp = ts->syntaxr;
+ break;
+ case TH_WIRE_EDIT:
+ cp = ts->wire_edit;
+ break;
+ case TH_LIGHT:
+ cp = ts->lamp;
+ break;
+ case TH_SPEAKER:
+ cp = ts->speaker;
+ break;
+ case TH_CAMERA:
+ cp = ts->camera;
+ break;
+ case TH_EMPTY:
+ cp = ts->empty;
+ break;
+ case TH_SELECT:
+ cp = ts->select;
+ break;
+ case TH_ACTIVE:
+ cp = ts->active;
+ break;
+ case TH_GROUP:
+ cp = ts->group;
+ break;
+ case TH_GROUP_ACTIVE:
+ cp = ts->group_active;
+ break;
+ case TH_TRANSFORM:
+ cp = ts->transform;
+ break;
+ case TH_VERTEX:
+ cp = ts->vertex;
+ break;
+ case TH_VERTEX_SELECT:
+ cp = ts->vertex_select;
+ break;
+ case TH_VERTEX_BEVEL:
+ cp = ts->vertex_bevel;
+ break;
+ case TH_VERTEX_UNREFERENCED:
+ cp = ts->vertex_unreferenced;
+ break;
+ case TH_VERTEX_SIZE:
+ cp = &ts->vertex_size;
+ break;
+ case TH_OUTLINE_WIDTH:
+ cp = &ts->outline_width;
+ break;
+ case TH_EDGE:
+ cp = ts->edge;
+ break;
+ case TH_EDGE_SELECT:
+ cp = ts->edge_select;
+ break;
+ case TH_EDGE_SEAM:
+ cp = ts->edge_seam;
+ break;
+ case TH_EDGE_SHARP:
+ cp = ts->edge_sharp;
+ break;
+ case TH_EDGE_CREASE:
+ cp = ts->edge_crease;
+ break;
+ case TH_EDGE_BEVEL:
+ cp = ts->edge_bevel;
+ break;
+ case TH_EDITMESH_ACTIVE:
+ cp = ts->editmesh_active;
+ break;
+ case TH_EDGE_FACESEL:
+ cp = ts->edge_facesel;
+ break;
+ case TH_FACE:
+ cp = ts->face;
+ break;
+ case TH_FACE_SELECT:
+ cp = ts->face_select;
+ break;
+ case TH_FACE_DOT:
+ cp = ts->face_dot;
+ break;
+ case TH_FACEDOT_SIZE:
+ cp = &ts->facedot_size;
+ break;
+ case TH_DRAWEXTRA_EDGELEN:
+ cp = ts->extra_edge_len;
+ break;
+ case TH_DRAWEXTRA_EDGEANG:
+ cp = ts->extra_edge_angle;
+ break;
+ case TH_DRAWEXTRA_FACEAREA:
+ cp = ts->extra_face_area;
+ break;
+ case TH_DRAWEXTRA_FACEANG:
+ cp = ts->extra_face_angle;
+ break;
+ case TH_NORMAL:
+ cp = ts->normal;
+ break;
+ case TH_VNORMAL:
+ cp = ts->vertex_normal;
+ break;
+ case TH_LNORMAL:
+ cp = ts->loop_normal;
+ break;
+ case TH_BONE_SOLID:
+ cp = ts->bone_solid;
+ break;
+ case TH_BONE_POSE:
+ cp = ts->bone_pose;
+ break;
+ case TH_BONE_POSE_ACTIVE:
+ cp = ts->bone_pose_active;
+ break;
+ case TH_STRIP:
+ cp = ts->strip;
+ break;
+ case TH_STRIP_SELECT:
+ cp = ts->strip_select;
+ break;
+ case TH_KEYTYPE_KEYFRAME:
+ cp = ts->keytype_keyframe;
+ break;
+ case TH_KEYTYPE_KEYFRAME_SELECT:
+ cp = ts->keytype_keyframe_select;
+ break;
+ case TH_KEYTYPE_EXTREME:
+ cp = ts->keytype_extreme;
+ break;
+ case TH_KEYTYPE_EXTREME_SELECT:
+ cp = ts->keytype_extreme_select;
+ break;
+ case TH_KEYTYPE_BREAKDOWN:
+ cp = ts->keytype_breakdown;
+ break;
+ case TH_KEYTYPE_BREAKDOWN_SELECT:
+ cp = ts->keytype_breakdown_select;
+ break;
+ case TH_KEYTYPE_JITTER:
+ cp = ts->keytype_jitter;
+ break;
+ case TH_KEYTYPE_JITTER_SELECT:
+ cp = ts->keytype_jitter_select;
+ break;
+ case TH_KEYTYPE_MOVEHOLD:
+ cp = ts->keytype_movehold;
+ break;
+ case TH_KEYTYPE_MOVEHOLD_SELECT:
+ cp = ts->keytype_movehold_select;
+ break;
+ case TH_KEYBORDER:
+ cp = ts->keyborder;
+ break;
+ case TH_KEYBORDER_SELECT:
+ cp = ts->keyborder_select;
+ break;
+ case TH_CFRAME:
+ cp = ts->cframe;
+ break;
+ case TH_TIME_KEYFRAME:
+ cp = ts->time_keyframe;
+ break;
+ case TH_TIME_GP_KEYFRAME:
+ cp = ts->time_gp_keyframe;
+ break;
+ case TH_NURB_ULINE:
+ cp = ts->nurb_uline;
+ break;
+ case TH_NURB_VLINE:
+ cp = ts->nurb_vline;
+ break;
+ case TH_NURB_SEL_ULINE:
+ cp = ts->nurb_sel_uline;
+ break;
+ case TH_NURB_SEL_VLINE:
+ cp = ts->nurb_sel_vline;
+ break;
+ case TH_ACTIVE_SPLINE:
+ cp = ts->act_spline;
+ break;
+ case TH_ACTIVE_VERT:
+ cp = ts->lastsel_point;
+ break;
+ case TH_HANDLE_FREE:
+ cp = ts->handle_free;
+ break;
+ case TH_HANDLE_AUTO:
+ cp = ts->handle_auto;
+ break;
+ case TH_HANDLE_AUTOCLAMP:
+ cp = ts->handle_auto_clamped;
+ break;
+ case TH_HANDLE_VECT:
+ cp = ts->handle_vect;
+ break;
+ case TH_HANDLE_ALIGN:
+ cp = ts->handle_align;
+ break;
+ case TH_HANDLE_SEL_FREE:
+ cp = ts->handle_sel_free;
+ break;
+ case TH_HANDLE_SEL_AUTO:
+ cp = ts->handle_sel_auto;
+ break;
+ case TH_HANDLE_SEL_AUTOCLAMP:
+ cp = ts->handle_sel_auto_clamped;
+ break;
+ case TH_HANDLE_SEL_VECT:
+ cp = ts->handle_sel_vect;
+ break;
+ case TH_HANDLE_SEL_ALIGN:
+ cp = ts->handle_sel_align;
+ break;
+ case TH_FREESTYLE_EDGE_MARK:
+ cp = ts->freestyle_edge_mark;
+ break;
+ case TH_FREESTYLE_FACE_MARK:
+ cp = ts->freestyle_face_mark;
+ break;
+
+ case TH_SYNTAX_B:
+ cp = ts->syntaxb;
+ break;
+ case TH_SYNTAX_V:
+ cp = ts->syntaxv;
+ break;
+ case TH_SYNTAX_C:
+ cp = ts->syntaxc;
+ break;
+ case TH_SYNTAX_L:
+ cp = ts->syntaxl;
+ break;
+ case TH_SYNTAX_D:
+ cp = ts->syntaxd;
+ break;
+ case TH_SYNTAX_R:
+ cp = ts->syntaxr;
+ break;
+ case TH_SYNTAX_N:
+ cp = ts->syntaxn;
+ break;
+ case TH_SYNTAX_S:
+ cp = ts->syntaxs;
+ break;
+
+ case TH_NODE:
+ cp = ts->syntaxl;
+ break;
+ case TH_NODE_INPUT:
+ cp = ts->syntaxn;
+ break;
+ case TH_NODE_OUTPUT:
+ cp = ts->nodeclass_output;
+ break;
+ case TH_NODE_COLOR:
+ cp = ts->syntaxb;
+ break;
+ case TH_NODE_FILTER:
+ cp = ts->nodeclass_filter;
+ break;
+ case TH_NODE_VECTOR:
+ cp = ts->nodeclass_vector;
+ break;
+ case TH_NODE_TEXTURE:
+ cp = ts->nodeclass_texture;
+ break;
+ case TH_NODE_PATTERN:
+ cp = ts->nodeclass_pattern;
+ break;
+ case TH_NODE_SCRIPT:
+ cp = ts->nodeclass_script;
+ break;
+ case TH_NODE_LAYOUT:
+ cp = ts->nodeclass_layout;
+ break;
+ case TH_NODE_SHADER:
+ cp = ts->nodeclass_shader;
+ break;
+ case TH_NODE_CONVERTOR:
+ cp = ts->syntaxv;
+ break;
+ case TH_NODE_GROUP:
+ cp = ts->syntaxc;
+ break;
+ case TH_NODE_INTERFACE:
+ cp = ts->console_output;
+ break;
+ case TH_NODE_FRAME:
+ cp = ts->movie;
+ break;
+ case TH_NODE_MATTE:
+ cp = ts->syntaxs;
+ break;
+ case TH_NODE_DISTORT:
+ cp = ts->syntaxd;
+ break;
+ case TH_NODE_CURVING:
+ cp = &ts->noodle_curving;
+ break;
+
+ case TH_SEQ_MOVIE:
+ cp = ts->movie;
+ break;
+ case TH_SEQ_MOVIECLIP:
+ cp = ts->movieclip;
+ break;
+ case TH_SEQ_MASK:
+ cp = ts->mask;
+ break;
+ case TH_SEQ_IMAGE:
+ cp = ts->image;
+ break;
+ case TH_SEQ_SCENE:
+ cp = ts->scene;
+ break;
+ case TH_SEQ_AUDIO:
+ cp = ts->audio;
+ break;
+ case TH_SEQ_EFFECT:
+ cp = ts->effect;
+ break;
+ case TH_SEQ_TRANSITION:
+ cp = ts->transition;
+ break;
+ case TH_SEQ_META:
+ cp = ts->meta;
+ break;
+ case TH_SEQ_TEXT:
+ cp = ts->text_strip;
+ break;
+ case TH_SEQ_PREVIEW:
+ cp = ts->preview_back;
+ break;
+
+ case TH_CONSOLE_OUTPUT:
+ cp = ts->console_output;
+ break;
+ case TH_CONSOLE_INPUT:
+ cp = ts->console_input;
+ break;
+ case TH_CONSOLE_INFO:
+ cp = ts->console_info;
+ break;
+ case TH_CONSOLE_ERROR:
+ cp = ts->console_error;
+ break;
+ case TH_CONSOLE_CURSOR:
+ cp = ts->console_cursor;
+ break;
+ case TH_CONSOLE_SELECT:
+ cp = ts->console_select;
+ break;
+
+ case TH_HANDLE_VERTEX:
+ cp = ts->handle_vertex;
+ break;
+ case TH_HANDLE_VERTEX_SELECT:
+ cp = ts->handle_vertex_select;
+ break;
+ case TH_HANDLE_VERTEX_SIZE:
+ cp = &ts->handle_vertex_size;
+ break;
+
+ case TH_GP_VERTEX:
+ cp = ts->gp_vertex;
+ break;
+ case TH_GP_VERTEX_SELECT:
+ cp = ts->gp_vertex_select;
+ break;
+ case TH_GP_VERTEX_SIZE:
+ cp = &ts->gp_vertex_size;
+ break;
+
+ case TH_DOPESHEET_CHANNELOB:
+ cp = ts->ds_channel;
+ break;
+ case TH_DOPESHEET_CHANNELSUBOB:
+ cp = ts->ds_subchannel;
+ break;
+ case TH_DOPESHEET_IPOLINE:
+ cp = ts->ds_ipoline;
+ break;
+
+ case TH_PREVIEW_BACK:
+ cp = ts->preview_back;
+ break;
+
+ case TH_STITCH_PREVIEW_FACE:
+ cp = ts->preview_stitch_face;
+ break;
+
+ case TH_STITCH_PREVIEW_EDGE:
+ cp = ts->preview_stitch_edge;
+ break;
+
+ case TH_STITCH_PREVIEW_VERT:
+ cp = ts->preview_stitch_vert;
+ break;
+
+ case TH_STITCH_PREVIEW_STITCHABLE:
+ cp = ts->preview_stitch_stitchable;
+ break;
+
+ case TH_STITCH_PREVIEW_UNSTITCHABLE:
+ cp = ts->preview_stitch_unstitchable;
+ break;
+ case TH_STITCH_PREVIEW_ACTIVE:
+ cp = ts->preview_stitch_active;
+ break;
+
+ case TH_PAINT_CURVE_HANDLE:
+ cp = ts->paint_curve_handle;
+ break;
+ case TH_PAINT_CURVE_PIVOT:
+ cp = ts->paint_curve_pivot;
+ break;
+
+ case TH_METADATA_BG:
+ cp = ts->metadatabg;
+ break;
+ case TH_METADATA_TEXT:
+ cp = ts->metadatatext;
+ break;
+
+ case TH_UV_OTHERS:
+ cp = ts->uv_others;
+ break;
+ case TH_UV_SHADOW:
+ cp = ts->uv_shadow;
+ break;
+
+ case TH_MARKER_OUTLINE:
+ cp = ts->marker_outline;
+ break;
+ case TH_MARKER:
+ cp = ts->marker;
+ break;
+ case TH_ACT_MARKER:
+ cp = ts->act_marker;
+ break;
+ case TH_SEL_MARKER:
+ cp = ts->sel_marker;
+ break;
+ case TH_BUNDLE_SOLID:
+ cp = ts->bundle_solid;
+ break;
+ case TH_DIS_MARKER:
+ cp = ts->dis_marker;
+ break;
+ case TH_PATH_BEFORE:
+ cp = ts->path_before;
+ break;
+ case TH_PATH_AFTER:
+ cp = ts->path_after;
+ break;
+ case TH_CAMERA_PATH:
+ cp = ts->camera_path;
+ break;
+ case TH_LOCK_MARKER:
+ cp = ts->lock_marker;
+ break;
+
+ case TH_MATCH:
+ cp = ts->match;
+ break;
+
+ case TH_SELECT_HIGHLIGHT:
+ cp = ts->selected_highlight;
+ break;
+
+ case TH_SKIN_ROOT:
+ cp = ts->skin_root;
+ break;
+
+ case TH_ANIM_ACTIVE:
+ cp = ts->anim_active;
+ break;
+ case TH_ANIM_INACTIVE:
+ cp = ts->anim_non_active;
+ break;
+ case TH_ANIM_PREVIEW_RANGE:
+ cp = ts->anim_preview_range;
+ break;
+
+ case TH_NLA_TWEAK:
+ cp = ts->nla_tweaking;
+ break;
+ case TH_NLA_TWEAK_DUPLI:
+ cp = ts->nla_tweakdupli;
+ break;
+
+ case TH_NLA_TRANSITION:
+ cp = ts->nla_transition;
+ break;
+ case TH_NLA_TRANSITION_SEL:
+ cp = ts->nla_transition_sel;
+ break;
+ case TH_NLA_META:
+ cp = ts->nla_meta;
+ break;
+ case TH_NLA_META_SEL:
+ cp = ts->nla_meta_sel;
+ break;
+ case TH_NLA_SOUND:
+ cp = ts->nla_sound;
+ break;
+ case TH_NLA_SOUND_SEL:
+ cp = ts->nla_sound_sel;
+ break;
+
+ case TH_WIDGET_EMBOSS:
+ cp = btheme->tui.widget_emboss;
+ break;
+
+ case TH_EDITOR_OUTLINE:
+ cp = btheme->tui.editor_outline;
+ 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;
+
+ case TH_GIZMO_HI:
+ cp = btheme->tui.gizmo_hi;
+ break;
+ case TH_GIZMO_PRIMARY:
+ cp = btheme->tui.gizmo_primary;
+ break;
+ case TH_GIZMO_SECONDARY:
+ cp = btheme->tui.gizmo_secondary;
+ break;
+ case TH_GIZMO_A:
+ cp = btheme->tui.gizmo_a;
+ break;
+ case TH_GIZMO_B:
+ cp = btheme->tui.gizmo_b;
+ break;
+
+ case TH_ICON_COLLECTION:
+ cp = btheme->tui.icon_collection;
+ break;
+ case TH_ICON_OBJECT:
+ cp = btheme->tui.icon_object;
+ break;
+ case TH_ICON_OBJECT_DATA:
+ cp = btheme->tui.icon_object_data;
+ break;
+ case TH_ICON_MODIFIER:
+ cp = btheme->tui.icon_modifier;
+ break;
+ case TH_ICON_SHADING:
+ cp = btheme->tui.icon_shading;
+ break;
+
+ case TH_INFO_SELECTED:
+ cp = ts->info_selected;
+ break;
+ case TH_INFO_SELECTED_TEXT:
+ cp = ts->info_selected_text;
+ break;
+ case TH_INFO_ERROR:
+ cp = ts->info_error;
+ break;
+ case TH_INFO_ERROR_TEXT:
+ cp = ts->info_error_text;
+ break;
+ case TH_INFO_WARNING:
+ cp = ts->info_warning;
+ break;
+ case TH_INFO_WARNING_TEXT:
+ cp = ts->info_warning_text;
+ break;
+ case TH_INFO_INFO:
+ cp = ts->info_info;
+ break;
+ case TH_INFO_INFO_TEXT:
+ cp = ts->info_info_text;
+ break;
+ case TH_INFO_DEBUG:
+ cp = ts->info_debug;
+ break;
+ case TH_INFO_DEBUG_TEXT:
+ cp = ts->info_debug_text;
+ break;
+ case TH_V3D_CLIPPING_BORDER:
+ cp = ts->clipping_border_3d;
+ break;
+ }
+ }
+ }
+
+ return (const uchar *)cp;
}
/**
@@ -764,53 +924,52 @@ const uchar *UI_ThemeGetColorPtr(bTheme *btheme, int spacetype, int colorid)
*/
void UI_theme_init_default(void)
{
- /* we search for the theme with name Default */
- bTheme *btheme = BLI_findstring(&U.themes, "Default", offsetof(bTheme, name));
- if (btheme == NULL) {
- btheme = MEM_callocN(sizeof(bTheme), __func__);
- BLI_addtail(&U.themes, btheme);
- }
-
- UI_SetTheme(0, 0); /* make sure the global used in this file is set */
-
- const int active_theme_area = btheme->active_theme_area;
- memcpy(btheme, &U_theme_default, sizeof(*btheme));
- btheme->active_theme_area = active_theme_area;
+ /* we search for the theme with name Default */
+ bTheme *btheme = BLI_findstring(&U.themes, "Default", offsetof(bTheme, name));
+ if (btheme == NULL) {
+ btheme = MEM_callocN(sizeof(bTheme), __func__);
+ BLI_addtail(&U.themes, btheme);
+ }
+
+ UI_SetTheme(0, 0); /* make sure the global used in this file is set */
+
+ const int active_theme_area = btheme->active_theme_area;
+ memcpy(btheme, &U_theme_default, sizeof(*btheme));
+ btheme->active_theme_area = active_theme_area;
}
void UI_style_init_default(void)
{
- BLI_freelistN(&U.uistyles);
- /* gets automatically re-allocated */
- uiStyleInit();
+ BLI_freelistN(&U.uistyles);
+ /* gets automatically re-allocated */
+ uiStyleInit();
}
-
void UI_SetTheme(int spacetype, int regionid)
{
- if (spacetype) {
- /* later on, a local theme can be found too */
- theme_active = U.themes.first;
- theme_spacetype = spacetype;
- theme_regionid = regionid;
- }
- else if (regionid) {
- /* popups */
- theme_active = U.themes.first;
- theme_spacetype = SPACE_PROPERTIES;
- theme_regionid = regionid;
- }
- else {
- /* for safety, when theme was deleted */
- theme_active = U.themes.first;
- theme_spacetype = SPACE_VIEW3D;
- theme_regionid = RGN_TYPE_WINDOW;
- }
+ if (spacetype) {
+ /* later on, a local theme can be found too */
+ theme_active = U.themes.first;
+ theme_spacetype = spacetype;
+ theme_regionid = regionid;
+ }
+ else if (regionid) {
+ /* popups */
+ theme_active = U.themes.first;
+ theme_spacetype = SPACE_PROPERTIES;
+ theme_regionid = regionid;
+ }
+ else {
+ /* for safety, when theme was deleted */
+ theme_active = U.themes.first;
+ theme_spacetype = SPACE_VIEW3D;
+ theme_regionid = RGN_TYPE_WINDOW;
+ }
}
bTheme *UI_GetTheme(void)
{
- return U.themes.first;
+ return U.themes.first;
}
/**
@@ -818,492 +977,487 @@ bTheme *UI_GetTheme(void)
*/
void UI_Theme_Store(struct bThemeState *theme_state)
{
- *theme_state = g_theme_state;
+ *theme_state = g_theme_state;
}
void UI_Theme_Restore(struct bThemeState *theme_state)
{
- g_theme_state = *theme_state;
+ g_theme_state = *theme_state;
}
void UI_GetThemeColorShadeAlpha4ubv(int colorid, int coloffset, int alphaoffset, uchar col[4])
{
- int r, g, b, a;
- const uchar *cp;
-
- cp = UI_ThemeGetColorPtr(theme_active, theme_spacetype, colorid);
- r = coloffset + (int) cp[0];
- CLAMP(r, 0, 255);
- g = coloffset + (int) cp[1];
- CLAMP(g, 0, 255);
- b = coloffset + (int) cp[2];
- CLAMP(b, 0, 255);
- a = alphaoffset + (int) cp[3];
- CLAMP(a, 0, 255);
-
- col[0] = r;
- col[1] = g;
- col[2] = b;
- col[3] = a;
+ int r, g, b, a;
+ const uchar *cp;
+
+ cp = UI_ThemeGetColorPtr(theme_active, theme_spacetype, colorid);
+ r = coloffset + (int)cp[0];
+ CLAMP(r, 0, 255);
+ g = coloffset + (int)cp[1];
+ CLAMP(g, 0, 255);
+ b = coloffset + (int)cp[2];
+ CLAMP(b, 0, 255);
+ a = alphaoffset + (int)cp[3];
+ CLAMP(a, 0, 255);
+
+ col[0] = r;
+ col[1] = g;
+ col[2] = b;
+ col[3] = a;
}
void UI_GetThemeColorBlend3ubv(int colorid1, int colorid2, float fac, uchar col[3])
{
- const uchar *cp1, *cp2;
+ const uchar *cp1, *cp2;
- cp1 = UI_ThemeGetColorPtr(theme_active, theme_spacetype, colorid1);
- cp2 = UI_ThemeGetColorPtr(theme_active, theme_spacetype, colorid2);
+ cp1 = UI_ThemeGetColorPtr(theme_active, theme_spacetype, colorid1);
+ cp2 = UI_ThemeGetColorPtr(theme_active, theme_spacetype, colorid2);
- CLAMP(fac, 0.0f, 1.0f);
- col[0] = floorf((1.0f - fac) * cp1[0] + fac * cp2[0]);
- col[1] = floorf((1.0f - fac) * cp1[1] + fac * cp2[1]);
- col[2] = floorf((1.0f - fac) * cp1[2] + fac * cp2[2]);
+ CLAMP(fac, 0.0f, 1.0f);
+ col[0] = floorf((1.0f - fac) * cp1[0] + fac * cp2[0]);
+ col[1] = floorf((1.0f - fac) * cp1[1] + fac * cp2[1]);
+ col[2] = floorf((1.0f - fac) * cp1[2] + fac * cp2[2]);
}
void UI_GetThemeColorBlend3f(int colorid1, int colorid2, float fac, float r_col[3])
{
- const uchar *cp1, *cp2;
+ const uchar *cp1, *cp2;
- cp1 = UI_ThemeGetColorPtr(theme_active, theme_spacetype, colorid1);
- cp2 = UI_ThemeGetColorPtr(theme_active, theme_spacetype, colorid2);
+ cp1 = UI_ThemeGetColorPtr(theme_active, theme_spacetype, colorid1);
+ cp2 = UI_ThemeGetColorPtr(theme_active, theme_spacetype, colorid2);
- CLAMP(fac, 0.0f, 1.0f);
- r_col[0] = ((1.0f - fac) * cp1[0] + fac * cp2[0]) / 255.0f;
- r_col[1] = ((1.0f - fac) * cp1[1] + fac * cp2[1]) / 255.0f;
- r_col[2] = ((1.0f - fac) * cp1[2] + fac * cp2[2]) / 255.0f;
+ CLAMP(fac, 0.0f, 1.0f);
+ r_col[0] = ((1.0f - fac) * cp1[0] + fac * cp2[0]) / 255.0f;
+ r_col[1] = ((1.0f - fac) * cp1[1] + fac * cp2[1]) / 255.0f;
+ r_col[2] = ((1.0f - fac) * cp1[2] + fac * cp2[2]) / 255.0f;
}
void UI_GetThemeColorBlend4f(int colorid1, int colorid2, float fac, float r_col[4])
{
- const uchar *cp1, *cp2;
+ const uchar *cp1, *cp2;
- cp1 = UI_ThemeGetColorPtr(theme_active, theme_spacetype, colorid1);
- cp2 = UI_ThemeGetColorPtr(theme_active, theme_spacetype, colorid2);
+ cp1 = UI_ThemeGetColorPtr(theme_active, theme_spacetype, colorid1);
+ cp2 = UI_ThemeGetColorPtr(theme_active, theme_spacetype, colorid2);
- CLAMP(fac, 0.0f, 1.0f);
- r_col[0] = ((1.0f - fac) * cp1[0] + fac * cp2[0]) / 255.0f;
- r_col[1] = ((1.0f - fac) * cp1[1] + fac * cp2[1]) / 255.0f;
- r_col[2] = ((1.0f - fac) * cp1[2] + fac * cp2[2]) / 255.0f;
- r_col[3] = ((1.0f - fac) * cp1[3] + fac * cp2[3]) / 255.0f;
+ CLAMP(fac, 0.0f, 1.0f);
+ r_col[0] = ((1.0f - fac) * cp1[0] + fac * cp2[0]) / 255.0f;
+ r_col[1] = ((1.0f - fac) * cp1[1] + fac * cp2[1]) / 255.0f;
+ r_col[2] = ((1.0f - fac) * cp1[2] + fac * cp2[2]) / 255.0f;
+ r_col[3] = ((1.0f - fac) * cp1[3] + fac * cp2[3]) / 255.0f;
}
void UI_FontThemeColor(int fontid, int colorid)
{
- uchar color[4];
- UI_GetThemeColor4ubv(colorid, color);
- BLF_color4ubv(fontid, color);
+ uchar color[4];
+ UI_GetThemeColor4ubv(colorid, color);
+ BLF_color4ubv(fontid, color);
}
/* get individual values, not scaled */
float UI_GetThemeValuef(int colorid)
{
- const uchar *cp;
+ const uchar *cp;
- cp = UI_ThemeGetColorPtr(theme_active, theme_spacetype, colorid);
- return ((float)cp[0]);
+ cp = UI_ThemeGetColorPtr(theme_active, theme_spacetype, colorid);
+ return ((float)cp[0]);
}
/* get individual values, not scaled */
int UI_GetThemeValue(int colorid)
{
- const uchar *cp;
+ const uchar *cp;
- cp = UI_ThemeGetColorPtr(theme_active, theme_spacetype, colorid);
- return ((int) cp[0]);
+ cp = UI_ThemeGetColorPtr(theme_active, theme_spacetype, colorid);
+ return ((int)cp[0]);
}
/* versions of the function above, which take a space-type */
float UI_GetThemeValueTypef(int colorid, int spacetype)
{
- const uchar *cp;
+ const uchar *cp;
- cp = UI_ThemeGetColorPtr(theme_active, spacetype, colorid);
- return ((float)cp[0]);
+ cp = UI_ThemeGetColorPtr(theme_active, spacetype, colorid);
+ return ((float)cp[0]);
}
int UI_GetThemeValueType(int colorid, int spacetype)
{
- const uchar *cp;
+ const uchar *cp;
- cp = UI_ThemeGetColorPtr(theme_active, spacetype, colorid);
- return ((int)cp[0]);
+ cp = UI_ThemeGetColorPtr(theme_active, spacetype, colorid);
+ return ((int)cp[0]);
}
-
/* get the color, range 0.0-1.0 */
void UI_GetThemeColor3fv(int colorid, float col[3])
{
- const uchar *cp;
+ const uchar *cp;
- cp = UI_ThemeGetColorPtr(theme_active, theme_spacetype, colorid);
- col[0] = ((float)cp[0]) / 255.0f;
- col[1] = ((float)cp[1]) / 255.0f;
- col[2] = ((float)cp[2]) / 255.0f;
+ cp = UI_ThemeGetColorPtr(theme_active, theme_spacetype, colorid);
+ col[0] = ((float)cp[0]) / 255.0f;
+ col[1] = ((float)cp[1]) / 255.0f;
+ col[2] = ((float)cp[2]) / 255.0f;
}
void UI_GetThemeColor4fv(int colorid, float col[4])
{
- const uchar *cp;
+ const uchar *cp;
- cp = UI_ThemeGetColorPtr(theme_active, theme_spacetype, colorid);
- col[0] = ((float)cp[0]) / 255.0f;
- col[1] = ((float)cp[1]) / 255.0f;
- col[2] = ((float)cp[2]) / 255.0f;
- col[3] = ((float)cp[3]) / 255.0f;
+ cp = UI_ThemeGetColorPtr(theme_active, theme_spacetype, colorid);
+ col[0] = ((float)cp[0]) / 255.0f;
+ col[1] = ((float)cp[1]) / 255.0f;
+ col[2] = ((float)cp[2]) / 255.0f;
+ col[3] = ((float)cp[3]) / 255.0f;
}
void UI_GetThemeColorType4fv(int colorid, int spacetype, float col[4])
{
- const unsigned char *cp;
+ const unsigned char *cp;
- cp = UI_ThemeGetColorPtr(theme_active, spacetype, colorid);
- col[0] = ((float)cp[0]) / 255.0f;
- col[1] = ((float)cp[1]) / 255.0f;
- col[2] = ((float)cp[2]) / 255.0f;
- col[3] = ((float)cp[3]) / 255.0f;
+ cp = UI_ThemeGetColorPtr(theme_active, spacetype, colorid);
+ col[0] = ((float)cp[0]) / 255.0f;
+ col[1] = ((float)cp[1]) / 255.0f;
+ col[2] = ((float)cp[2]) / 255.0f;
+ col[3] = ((float)cp[3]) / 255.0f;
}
/* get the color, range 0.0-1.0, complete with shading offset */
void UI_GetThemeColorShade3fv(int colorid, int offset, float col[3])
{
- int r, g, b;
- const uchar *cp;
+ int r, g, b;
+ const uchar *cp;
- cp = UI_ThemeGetColorPtr(theme_active, theme_spacetype, colorid);
+ cp = UI_ThemeGetColorPtr(theme_active, theme_spacetype, colorid);
- r = offset + (int) cp[0];
- CLAMP(r, 0, 255);
- g = offset + (int) cp[1];
- CLAMP(g, 0, 255);
- b = offset + (int) cp[2];
- CLAMP(b, 0, 255);
+ r = offset + (int)cp[0];
+ CLAMP(r, 0, 255);
+ g = offset + (int)cp[1];
+ CLAMP(g, 0, 255);
+ b = offset + (int)cp[2];
+ CLAMP(b, 0, 255);
- col[0] = ((float)r) / 255.0f;
- col[1] = ((float)g) / 255.0f;
- col[2] = ((float)b) / 255.0f;
+ col[0] = ((float)r) / 255.0f;
+ col[1] = ((float)g) / 255.0f;
+ col[2] = ((float)b) / 255.0f;
}
void UI_GetThemeColorShade3ubv(int colorid, int offset, uchar col[3])
{
- int r, g, b;
- const uchar *cp;
+ int r, g, b;
+ const uchar *cp;
- cp = UI_ThemeGetColorPtr(theme_active, theme_spacetype, colorid);
+ cp = UI_ThemeGetColorPtr(theme_active, theme_spacetype, colorid);
- r = offset + (int) cp[0];
- CLAMP(r, 0, 255);
- g = offset + (int) cp[1];
- CLAMP(g, 0, 255);
- b = offset + (int) cp[2];
- CLAMP(b, 0, 255);
+ r = offset + (int)cp[0];
+ CLAMP(r, 0, 255);
+ g = offset + (int)cp[1];
+ CLAMP(g, 0, 255);
+ b = offset + (int)cp[2];
+ CLAMP(b, 0, 255);
- col[0] = r;
- col[1] = g;
- col[2] = b;
+ col[0] = r;
+ col[1] = g;
+ col[2] = b;
}
-void UI_GetThemeColorBlendShade3ubv(int colorid1, int colorid2, float fac, int offset, uchar col[3])
+void UI_GetThemeColorBlendShade3ubv(
+ int colorid1, int colorid2, float fac, int offset, uchar col[3])
{
- const uchar *cp1, *cp2;
+ const uchar *cp1, *cp2;
- cp1 = UI_ThemeGetColorPtr(theme_active, theme_spacetype, colorid1);
- cp2 = UI_ThemeGetColorPtr(theme_active, theme_spacetype, colorid2);
+ cp1 = UI_ThemeGetColorPtr(theme_active, theme_spacetype, colorid1);
+ cp2 = UI_ThemeGetColorPtr(theme_active, theme_spacetype, colorid2);
- CLAMP(fac, 0.0f, 1.0f);
+ CLAMP(fac, 0.0f, 1.0f);
- float blend[3];
- blend[0] = offset + floorf((1.0f - fac) * cp1[0] + fac * cp2[0]);
- blend[1] = offset + floorf((1.0f - fac) * cp1[1] + fac * cp2[1]);
- blend[2] = offset + floorf((1.0f - fac) * cp1[2] + fac * cp2[2]);
+ float blend[3];
+ blend[0] = offset + floorf((1.0f - fac) * cp1[0] + fac * cp2[0]);
+ blend[1] = offset + floorf((1.0f - fac) * cp1[1] + fac * cp2[1]);
+ blend[2] = offset + floorf((1.0f - fac) * cp1[2] + fac * cp2[2]);
- unit_float_to_uchar_clamp_v3(col, blend);
+ unit_float_to_uchar_clamp_v3(col, blend);
}
void UI_GetThemeColorShade4ubv(int colorid, int offset, uchar col[4])
{
- int r, g, b;
- const uchar *cp;
-
- cp = UI_ThemeGetColorPtr(theme_active, theme_spacetype, colorid);
- r = offset + (int) cp[0];
- CLAMP(r, 0, 255);
- g = offset + (int) cp[1];
- CLAMP(g, 0, 255);
- b = offset + (int) cp[2];
- CLAMP(b, 0, 255);
-
- col[0] = r;
- col[1] = g;
- col[2] = b;
- col[3] = cp[3];
+ int r, g, b;
+ const uchar *cp;
+
+ cp = UI_ThemeGetColorPtr(theme_active, theme_spacetype, colorid);
+ r = offset + (int)cp[0];
+ CLAMP(r, 0, 255);
+ g = offset + (int)cp[1];
+ CLAMP(g, 0, 255);
+ b = offset + (int)cp[2];
+ CLAMP(b, 0, 255);
+
+ col[0] = r;
+ col[1] = g;
+ col[2] = b;
+ col[3] = cp[3];
}
void UI_GetThemeColorShadeAlpha4fv(int colorid, int coloffset, int alphaoffset, float col[4])
{
- int r, g, b, a;
- const uchar *cp;
-
- cp = UI_ThemeGetColorPtr(theme_active, theme_spacetype, colorid);
-
- r = coloffset + (int) cp[0];
- CLAMP(r, 0, 255);
- g = coloffset + (int) cp[1];
- CLAMP(g, 0, 255);
- b = coloffset + (int) cp[2];
- CLAMP(b, 0, 255);
- a = alphaoffset + (int) cp[3];
- CLAMP(b, 0, 255);
-
- col[0] = ((float)r) / 255.0f;
- col[1] = ((float)g) / 255.0f;
- col[2] = ((float)b) / 255.0f;
- col[3] = ((float)a) / 255.0f;
+ int r, g, b, a;
+ const uchar *cp;
+
+ cp = UI_ThemeGetColorPtr(theme_active, theme_spacetype, colorid);
+
+ r = coloffset + (int)cp[0];
+ CLAMP(r, 0, 255);
+ g = coloffset + (int)cp[1];
+ CLAMP(g, 0, 255);
+ b = coloffset + (int)cp[2];
+ CLAMP(b, 0, 255);
+ a = alphaoffset + (int)cp[3];
+ CLAMP(b, 0, 255);
+
+ col[0] = ((float)r) / 255.0f;
+ col[1] = ((float)g) / 255.0f;
+ col[2] = ((float)b) / 255.0f;
+ col[3] = ((float)a) / 255.0f;
}
void UI_GetThemeColorBlendShade3fv(int colorid1, int colorid2, float fac, int offset, float col[3])
{
- int r, g, b;
- const uchar *cp1, *cp2;
+ int r, g, b;
+ const uchar *cp1, *cp2;
- cp1 = UI_ThemeGetColorPtr(theme_active, theme_spacetype, colorid1);
- cp2 = UI_ThemeGetColorPtr(theme_active, theme_spacetype, colorid2);
+ cp1 = UI_ThemeGetColorPtr(theme_active, theme_spacetype, colorid1);
+ cp2 = UI_ThemeGetColorPtr(theme_active, theme_spacetype, colorid2);
- CLAMP(fac, 0.0f, 1.0f);
+ CLAMP(fac, 0.0f, 1.0f);
- r = offset + floorf((1.0f - fac) * cp1[0] + fac * cp2[0]);
- CLAMP(r, 0, 255);
- g = offset + floorf((1.0f - fac) * cp1[1] + fac * cp2[1]);
- CLAMP(g, 0, 255);
- b = offset + floorf((1.0f - fac) * cp1[2] + fac * cp2[2]);
- CLAMP(b, 0, 255);
+ r = offset + floorf((1.0f - fac) * cp1[0] + fac * cp2[0]);
+ CLAMP(r, 0, 255);
+ g = offset + floorf((1.0f - fac) * cp1[1] + fac * cp2[1]);
+ CLAMP(g, 0, 255);
+ b = offset + floorf((1.0f - fac) * cp1[2] + fac * cp2[2]);
+ CLAMP(b, 0, 255);
- col[0] = ((float)r) / 255.0f;
- col[1] = ((float)g) / 255.0f;
- col[2] = ((float)b) / 255.0f;
+ col[0] = ((float)r) / 255.0f;
+ col[1] = ((float)g) / 255.0f;
+ col[2] = ((float)b) / 255.0f;
}
void UI_GetThemeColorBlendShade4fv(int colorid1, int colorid2, float fac, int offset, float col[4])
{
- int r, g, b, a;
- const uchar *cp1, *cp2;
-
- cp1 = UI_ThemeGetColorPtr(theme_active, theme_spacetype, colorid1);
- cp2 = UI_ThemeGetColorPtr(theme_active, theme_spacetype, colorid2);
-
- CLAMP(fac, 0.0f, 1.0f);
-
- r = offset + floorf((1.0f - fac) * cp1[0] + fac * cp2[0]);
- CLAMP(r, 0, 255);
- g = offset + floorf((1.0f - fac) * cp1[1] + fac * cp2[1]);
- CLAMP(g, 0, 255);
- b = offset + floorf((1.0f - fac) * cp1[2] + fac * cp2[2]);
- CLAMP(b, 0, 255);
- a = offset + floorf((1.0f - fac) * cp1[3] + fac * cp2[3]);
- CLAMP(a, 0, 255);
-
- col[0] = ((float)r) / 255.0f;
- col[1] = ((float)g) / 255.0f;
- col[2] = ((float)b) / 255.0f;
- col[3] = ((float)a) / 255.0f;
+ int r, g, b, a;
+ const uchar *cp1, *cp2;
+
+ cp1 = UI_ThemeGetColorPtr(theme_active, theme_spacetype, colorid1);
+ cp2 = UI_ThemeGetColorPtr(theme_active, theme_spacetype, colorid2);
+
+ CLAMP(fac, 0.0f, 1.0f);
+
+ r = offset + floorf((1.0f - fac) * cp1[0] + fac * cp2[0]);
+ CLAMP(r, 0, 255);
+ g = offset + floorf((1.0f - fac) * cp1[1] + fac * cp2[1]);
+ CLAMP(g, 0, 255);
+ b = offset + floorf((1.0f - fac) * cp1[2] + fac * cp2[2]);
+ CLAMP(b, 0, 255);
+ a = offset + floorf((1.0f - fac) * cp1[3] + fac * cp2[3]);
+ CLAMP(a, 0, 255);
+
+ col[0] = ((float)r) / 255.0f;
+ col[1] = ((float)g) / 255.0f;
+ col[2] = ((float)b) / 255.0f;
+ col[3] = ((float)a) / 255.0f;
}
/* get the color, in char pointer */
void UI_GetThemeColor3ubv(int colorid, uchar col[3])
{
- const uchar *cp;
+ const uchar *cp;
- cp = UI_ThemeGetColorPtr(theme_active, theme_spacetype, colorid);
- col[0] = cp[0];
- col[1] = cp[1];
- col[2] = cp[2];
+ cp = UI_ThemeGetColorPtr(theme_active, theme_spacetype, colorid);
+ col[0] = cp[0];
+ col[1] = cp[1];
+ col[2] = cp[2];
}
/* get the color, range 0.0-1.0, complete with shading offset */
void UI_GetThemeColorShade4fv(int colorid, int offset, float col[4])
{
- int r, g, b, a;
- const uchar *cp;
+ int r, g, b, a;
+ const uchar *cp;
- cp = UI_ThemeGetColorPtr(theme_active, theme_spacetype, colorid);
+ cp = UI_ThemeGetColorPtr(theme_active, theme_spacetype, colorid);
- r = offset + (int) cp[0];
- CLAMP(r, 0, 255);
- g = offset + (int) cp[1];
- CLAMP(g, 0, 255);
- b = offset + (int) cp[2];
- CLAMP(b, 0, 255);
+ r = offset + (int)cp[0];
+ CLAMP(r, 0, 255);
+ g = offset + (int)cp[1];
+ CLAMP(g, 0, 255);
+ b = offset + (int)cp[2];
+ CLAMP(b, 0, 255);
- a = (int) cp[3]; /* no shading offset... */
- CLAMP(a, 0, 255);
+ a = (int)cp[3]; /* no shading offset... */
+ CLAMP(a, 0, 255);
- col[0] = ((float)r) / 255.0f;
- col[1] = ((float)g) / 255.0f;
- col[2] = ((float)b) / 255.0f;
- col[3] = ((float)a) / 255.0f;
+ col[0] = ((float)r) / 255.0f;
+ col[1] = ((float)g) / 255.0f;
+ col[2] = ((float)b) / 255.0f;
+ col[3] = ((float)a) / 255.0f;
}
/* get the color, in char pointer */
void UI_GetThemeColor4ubv(int colorid, uchar col[4])
{
- const uchar *cp;
+ const uchar *cp;
- cp = UI_ThemeGetColorPtr(theme_active, theme_spacetype, colorid);
- col[0] = cp[0];
- col[1] = cp[1];
- col[2] = cp[2];
- col[3] = cp[3];
+ cp = UI_ThemeGetColorPtr(theme_active, theme_spacetype, colorid);
+ col[0] = cp[0];
+ col[1] = cp[1];
+ col[2] = cp[2];
+ col[3] = cp[3];
}
void UI_GetThemeColorType3fv(int colorid, int spacetype, float col[3])
{
- const uchar *cp;
+ const uchar *cp;
- cp = UI_ThemeGetColorPtr(theme_active, spacetype, colorid);
- col[0] = ((float)cp[0]) / 255.0f;
- col[1] = ((float)cp[1]) / 255.0f;
- col[2] = ((float)cp[2]) / 255.0f;
+ cp = UI_ThemeGetColorPtr(theme_active, spacetype, colorid);
+ col[0] = ((float)cp[0]) / 255.0f;
+ col[1] = ((float)cp[1]) / 255.0f;
+ col[2] = ((float)cp[2]) / 255.0f;
}
void UI_GetThemeColorType3ubv(int colorid, int spacetype, uchar col[3])
{
- const uchar *cp;
+ const uchar *cp;
- cp = UI_ThemeGetColorPtr(theme_active, spacetype, colorid);
- col[0] = cp[0];
- col[1] = cp[1];
- col[2] = cp[2];
+ cp = UI_ThemeGetColorPtr(theme_active, spacetype, colorid);
+ col[0] = cp[0];
+ col[1] = cp[1];
+ col[2] = cp[2];
}
void UI_GetThemeColorType4ubv(int colorid, int spacetype, uchar col[4])
{
- const uchar *cp;
+ const uchar *cp;
- cp = UI_ThemeGetColorPtr(theme_active, spacetype, colorid);
- col[0] = cp[0];
- col[1] = cp[1];
- col[2] = cp[2];
- col[3] = cp[3];
+ cp = UI_ThemeGetColorPtr(theme_active, spacetype, colorid);
+ col[0] = cp[0];
+ col[1] = cp[1];
+ col[2] = cp[2];
+ col[3] = cp[3];
}
bool UI_GetIconThemeColor4fv(int colorid, float col[4])
{
- if (colorid == 0) {
- return false;
- }
-
- /* Only colored icons in outliner and popups, overall UI is intended
- * to stay monochrome and out of the way except a few places where it
- * is important to communicate different data types. */
- if (!((theme_spacetype == SPACE_OUTLINER) ||
- (theme_regionid == RGN_TYPE_TEMPORARY)))
- {
- return false;
- }
-
- const uchar *cp;
- cp = UI_ThemeGetColorPtr(theme_active, theme_spacetype, colorid);
- col[0] = ((float)cp[0]) / 255.0f;
- col[1] = ((float)cp[1]) / 255.0f;
- col[2] = ((float)cp[2]) / 255.0f;
- col[3] = ((float)cp[3]) / 255.0f;
-
- return true;
+ if (colorid == 0) {
+ return false;
+ }
+
+ /* Only colored icons in outliner and popups, overall UI is intended
+ * to stay monochrome and out of the way except a few places where it
+ * is important to communicate different data types. */
+ if (!((theme_spacetype == SPACE_OUTLINER) || (theme_regionid == RGN_TYPE_TEMPORARY))) {
+ return false;
+ }
+
+ const uchar *cp;
+ cp = UI_ThemeGetColorPtr(theme_active, theme_spacetype, colorid);
+ col[0] = ((float)cp[0]) / 255.0f;
+ col[1] = ((float)cp[1]) / 255.0f;
+ col[2] = ((float)cp[2]) / 255.0f;
+ col[3] = ((float)cp[3]) / 255.0f;
+
+ return true;
}
void UI_GetColorPtrShade3ubv(const uchar cp[3], uchar col[3], int offset)
{
- int r, g, b;
+ int r, g, b;
- r = offset + (int)cp[0];
- g = offset + (int)cp[1];
- b = offset + (int)cp[2];
+ r = offset + (int)cp[0];
+ g = offset + (int)cp[1];
+ b = offset + (int)cp[2];
- CLAMP(r, 0, 255);
- CLAMP(g, 0, 255);
- CLAMP(b, 0, 255);
+ CLAMP(r, 0, 255);
+ CLAMP(g, 0, 255);
+ CLAMP(b, 0, 255);
- col[0] = r;
- col[1] = g;
- col[2] = b;
+ col[0] = r;
+ col[1] = g;
+ col[2] = b;
}
/* get a 3 byte color, blended and shaded between two other char color pointers */
void UI_GetColorPtrBlendShade3ubv(
- const uchar cp1[3], const uchar cp2[3], uchar col[3],
- float fac, int offset)
+ const uchar cp1[3], const uchar cp2[3], uchar col[3], float fac, int offset)
{
- int r, g, b;
+ int r, g, b;
- CLAMP(fac, 0.0f, 1.0f);
- r = offset + floor((1.0f - fac) * cp1[0] + fac * cp2[0]);
- g = offset + floor((1.0f - fac) * cp1[1] + fac * cp2[1]);
- b = offset + floor((1.0f - fac) * cp1[2] + fac * cp2[2]);
+ CLAMP(fac, 0.0f, 1.0f);
+ r = offset + floor((1.0f - fac) * cp1[0] + fac * cp2[0]);
+ g = offset + floor((1.0f - fac) * cp1[1] + fac * cp2[1]);
+ b = offset + floor((1.0f - fac) * cp1[2] + fac * cp2[2]);
- CLAMP(r, 0, 255);
- CLAMP(g, 0, 255);
- CLAMP(b, 0, 255);
+ CLAMP(r, 0, 255);
+ CLAMP(g, 0, 255);
+ CLAMP(b, 0, 255);
- col[0] = r;
- col[1] = g;
- col[2] = b;
+ col[0] = r;
+ col[1] = g;
+ col[2] = b;
}
void UI_ThemeClearColor(int colorid)
{
- float col[3];
+ float col[3];
- UI_GetThemeColor3fv(colorid, col);
- GPU_clear_color(col[0], col[1], col[2], 0.0f);
+ UI_GetThemeColor3fv(colorid, col);
+ GPU_clear_color(col[0], col[1], col[2], 0.0f);
}
void UI_ThemeClearColorAlpha(int colorid, float alpha)
{
- float col[3];
- UI_GetThemeColor3fv(colorid, col);
- GPU_clear_color(col[0], col[1], col[2], alpha);
+ float col[3];
+ UI_GetThemeColor3fv(colorid, col);
+ GPU_clear_color(col[0], col[1], col[2], alpha);
}
-
int UI_ThemeMenuShadowWidth(void)
{
- bTheme *btheme = UI_GetTheme();
- return (int)(btheme->tui.menu_shadow_width * UI_DPI_FAC);
+ bTheme *btheme = UI_GetTheme();
+ return (int)(btheme->tui.menu_shadow_width * UI_DPI_FAC);
}
void UI_make_axis_color(const uchar src_col[3], uchar dst_col[3], const char axis)
{
- uchar col[3];
-
- switch (axis) {
- case 'X':
- UI_GetThemeColor3ubv(TH_AXIS_X, col);
- UI_GetColorPtrBlendShade3ubv(src_col, col, dst_col, 0.5f, -10);
- break;
- case 'Y':
- UI_GetThemeColor3ubv(TH_AXIS_Y, col);
- UI_GetColorPtrBlendShade3ubv(src_col, col, dst_col, 0.5f, -10);
- break;
- case 'Z':
- UI_GetThemeColor3ubv(TH_AXIS_Z, col);
- UI_GetColorPtrBlendShade3ubv(src_col, col, dst_col, 0.5f, -10);
- break;
- default:
- BLI_assert(0);
- break;
- }
+ uchar col[3];
+
+ switch (axis) {
+ case 'X':
+ UI_GetThemeColor3ubv(TH_AXIS_X, col);
+ UI_GetColorPtrBlendShade3ubv(src_col, col, dst_col, 0.5f, -10);
+ break;
+ case 'Y':
+ UI_GetThemeColor3ubv(TH_AXIS_Y, col);
+ UI_GetColorPtrBlendShade3ubv(src_col, col, dst_col, 0.5f, -10);
+ break;
+ case 'Z':
+ UI_GetThemeColor3ubv(TH_AXIS_Z, col);
+ UI_GetColorPtrBlendShade3ubv(src_col, col, dst_col, 0.5f, -10);
+ break;
+ default:
+ BLI_assert(0);
+ break;
+ }
}
/* patching UserDef struct and Themes */
void init_userdef_do_versions(Main *bmain)
{
- BLO_version_defaults_userpref_blend(bmain, &U);
+ BLO_version_defaults_userpref_blend(bmain, &U);
- if (STREQ(U.tempdir, "/")) {
- BKE_tempdir_system_init(U.tempdir);
- }
+ if (STREQ(U.tempdir, "/")) {
+ BKE_tempdir_system_init(U.tempdir);
+ }
- /* Not versioning, just avoid errors. */
+ /* Not versioning, just avoid errors. */
#ifndef WITH_CYCLES
- BKE_addon_remove_safe(&U.addons, "cycles");
+ BKE_addon_remove_safe(&U.addons, "cycles");
#endif
-
}