UI: Asset Shelf (Experimental Feature) #104831
|
@ -307,6 +307,10 @@ const bTheme U_theme_default = {
|
|||
.back = RGBA(0x3d3d3dff),
|
||||
.sub_back = RGBA(0x0000001f),
|
||||
},
|
||||
.asset_shelf = {
|
||||
.header_back = RGBA(0x18181800),
|
||||
.back = RGBA(0x30303000),
|
||||
},
|
||||
.grid = RGBA(0x54545480),
|
||||
.wire = RGBA(0x000000ff),
|
||||
.wire_edit = RGBA(0x000000ff),
|
||||
|
|
|
@ -25,7 +25,7 @@ extern "C" {
|
|||
|
||||
/* Blender file format version. */
|
||||
#define BLENDER_FILE_VERSION BLENDER_VERSION
|
||||
#define BLENDER_FILE_SUBVERSION 4
|
||||
#define BLENDER_FILE_SUBVERSION 5
|
||||
|
||||
/* Minimum Blender version that supports reading file written with the current
|
||||
* version. Older Blender versions will test this and show a warning if the file
|
||||
|
|
|
@ -93,6 +93,11 @@ static void do_versions_theme(const UserDef *userdef, bTheme *btheme)
|
|||
FROM_DEFAULT_V4_UCHAR(space_view3d.face_retopology);
|
||||
}
|
||||
|
||||
if (!USER_VERSION_ATLEAST(306, 5)) {
|
||||
FROM_DEFAULT_V4_UCHAR(space_view3d.asset_shelf.back);
|
||||
FROM_DEFAULT_V4_UCHAR(space_view3d.asset_shelf.header_back);
|
||||
}
|
||||
|
||||
/**
|
||||
* Versioning code until next subversion bump goes here.
|
||||
*
|
||||
|
|
|
@ -165,6 +165,12 @@ const uchar *UI_ThemeGetColorPtr(bTheme *btheme, int spacetype, int colorid)
|
|||
else if (g_theme_state.regionid == RGN_TYPE_EXECUTE) {
|
||||
cp = ts->execution_buts;
|
||||
}
|
||||
else if (g_theme_state.regionid == RGN_TYPE_ASSET_SHELF) {
|
||||
cp = ts->asset_shelf.back;
|
||||
}
|
||||
else if (g_theme_state.regionid == RGN_TYPE_ASSET_SHELF_FOOTER) {
|
||||
cp = ts->asset_shelf.header_back;
|
||||
}
|
||||
else {
|
||||
cp = ts->button;
|
||||
}
|
||||
|
|
|
@ -215,6 +215,11 @@ typedef struct ThemeUI {
|
|||
|
||||
} ThemeUI;
|
||||
|
||||
typedef struct ThemeAssetShelf {
|
||||
unsigned char header_back[4];
|
||||
unsigned char back[4];
|
||||
} ThemeAssetShelf;
|
||||
|
||||
/* try to put them all in one, if needed a special struct can be created as well
|
||||
* for example later on, when we introduce wire colors for ob types or so...
|
||||
*/
|
||||
|
@ -270,6 +275,8 @@ typedef struct ThemeSpace {
|
|||
/* NOTE: cannot use name 'panel' because of DNA mapping old files. */
|
||||
uiPanelColors panelcolors;
|
||||
|
||||
ThemeAssetShelf asset_shelf;
|
||||
|
||||
unsigned char shade1[4];
|
||||
unsigned char shade2[4];
|
||||
|
||||
|
|
|
@ -1898,6 +1898,34 @@ static void rna_def_userdef_theme_spaces_list_main(StructRNA *srna)
|
|||
RNA_def_property_ui_text(prop, "Theme Space List", "Settings for space list");
|
||||
}
|
||||
|
||||
static void rna_def_userdef_theme_asset_shelf(BlenderRNA *brna)
|
||||
{
|
||||
StructRNA *srna;
|
||||
PropertyRNA *prop;
|
||||
|
||||
srna = RNA_def_struct(brna, "ThemeAssetShelf", NULL);
|
||||
RNA_def_struct_clear_flag(srna, STRUCT_UNDO);
|
||||
RNA_def_struct_ui_text(srna, "Theme Asset Shelf Color", "Theme settings for asset shelves");
|
||||
|
||||
prop = RNA_def_property(srna, "header_back", PROP_FLOAT, PROP_COLOR_GAMMA);
|
||||
RNA_def_property_array(prop, 3);
|
||||
RNA_def_property_ui_text(prop, "Header Background", "");
|
||||
RNA_def_property_update(prop, 0, "rna_userdef_theme_update");
|
||||
|
||||
prop = RNA_def_property(srna, "back", PROP_FLOAT, PROP_COLOR_GAMMA);
|
||||
RNA_def_property_array(prop, 3);
|
||||
RNA_def_property_ui_text(prop, "Main Region Background", "");
|
||||
RNA_def_property_update(prop, 0, "rna_userdef_theme_update");
|
||||
}
|
||||
|
||||
static void rna_def_userdef_theme_spaces_asset_shelf_main(StructRNA *srna)
|
||||
{
|
||||
PropertyRNA *prop = RNA_def_property(srna, "asset_shelf", PROP_POINTER, PROP_NONE);
|
||||
RNA_def_property_flag(prop, PROP_NEVER_NULL);
|
||||
RNA_def_property_struct_type(prop, "ThemeAssetShelf");
|
||||
RNA_def_property_ui_text(prop, "Asset Shelf", "Settings for asset shelf");
|
||||
}
|
||||
|
||||
static void rna_def_userdef_theme_spaces_vertex(StructRNA *srna)
|
||||
{
|
||||
PropertyRNA *prop;
|
||||
|
@ -2408,6 +2436,8 @@ static void rna_def_userdef_theme_space_view3d(BlenderRNA *brna)
|
|||
RNA_def_property_ui_text(
|
||||
prop, "Object Origin Size", "Diameter in pixels for object/light origin display");
|
||||
RNA_def_property_update(prop, 0, "rna_userdef_theme_update");
|
||||
|
||||
rna_def_userdef_theme_spaces_asset_shelf_main(srna);
|
||||
}
|
||||
|
||||
static void rna_def_userdef_theme_space_graph(BlenderRNA *brna)
|
||||
|
@ -4315,6 +4345,7 @@ static void rna_def_userdef_dothemes(BlenderRNA *brna)
|
|||
rna_def_userdef_theme_space_generic(brna);
|
||||
rna_def_userdef_theme_space_gradient(brna);
|
||||
rna_def_userdef_theme_space_list_generic(brna);
|
||||
rna_def_userdef_theme_asset_shelf(brna);
|
||||
|
||||
rna_def_userdef_theme_space_view3d(brna);
|
||||
rna_def_userdef_theme_space_graph(brna);
|
||||
|
|
Loading…
Reference in New Issue