Cleanup: simplify studiolight/matcap enum code, remove limit.
This commit is contained in:
parent
0d47a4d2fe
commit
6d7327f607
|
@ -200,217 +200,15 @@ const EnumPropertyItem rna_enum_viewport_lighting_items[] = {
|
|||
{0, NULL, 0, NULL, NULL}
|
||||
};
|
||||
|
||||
#define DEF_SINGLE_STUDIO_LIGHT_ITEM(value) {value, "STUDIOLIGHT_" #value, 0, "", ""}
|
||||
static const EnumPropertyItem rna_enum_studio_light_items[] = {
|
||||
DEF_SINGLE_STUDIO_LIGHT_ITEM(0),
|
||||
DEF_SINGLE_STUDIO_LIGHT_ITEM(1),
|
||||
DEF_SINGLE_STUDIO_LIGHT_ITEM(2),
|
||||
DEF_SINGLE_STUDIO_LIGHT_ITEM(3),
|
||||
DEF_SINGLE_STUDIO_LIGHT_ITEM(4),
|
||||
DEF_SINGLE_STUDIO_LIGHT_ITEM(5),
|
||||
DEF_SINGLE_STUDIO_LIGHT_ITEM(6),
|
||||
DEF_SINGLE_STUDIO_LIGHT_ITEM(7),
|
||||
DEF_SINGLE_STUDIO_LIGHT_ITEM(8),
|
||||
DEF_SINGLE_STUDIO_LIGHT_ITEM(9),
|
||||
DEF_SINGLE_STUDIO_LIGHT_ITEM(10),
|
||||
DEF_SINGLE_STUDIO_LIGHT_ITEM(11),
|
||||
DEF_SINGLE_STUDIO_LIGHT_ITEM(12),
|
||||
DEF_SINGLE_STUDIO_LIGHT_ITEM(13),
|
||||
DEF_SINGLE_STUDIO_LIGHT_ITEM(14),
|
||||
DEF_SINGLE_STUDIO_LIGHT_ITEM(15),
|
||||
DEF_SINGLE_STUDIO_LIGHT_ITEM(16),
|
||||
DEF_SINGLE_STUDIO_LIGHT_ITEM(17),
|
||||
DEF_SINGLE_STUDIO_LIGHT_ITEM(18),
|
||||
DEF_SINGLE_STUDIO_LIGHT_ITEM(19),
|
||||
DEF_SINGLE_STUDIO_LIGHT_ITEM(20),
|
||||
DEF_SINGLE_STUDIO_LIGHT_ITEM(21),
|
||||
DEF_SINGLE_STUDIO_LIGHT_ITEM(22),
|
||||
DEF_SINGLE_STUDIO_LIGHT_ITEM(23),
|
||||
DEF_SINGLE_STUDIO_LIGHT_ITEM(24),
|
||||
DEF_SINGLE_STUDIO_LIGHT_ITEM(25),
|
||||
DEF_SINGLE_STUDIO_LIGHT_ITEM(26),
|
||||
DEF_SINGLE_STUDIO_LIGHT_ITEM(27),
|
||||
DEF_SINGLE_STUDIO_LIGHT_ITEM(28),
|
||||
DEF_SINGLE_STUDIO_LIGHT_ITEM(29),
|
||||
DEF_SINGLE_STUDIO_LIGHT_ITEM(30),
|
||||
DEF_SINGLE_STUDIO_LIGHT_ITEM(31),
|
||||
DEF_SINGLE_STUDIO_LIGHT_ITEM(32),
|
||||
DEF_SINGLE_STUDIO_LIGHT_ITEM(33),
|
||||
DEF_SINGLE_STUDIO_LIGHT_ITEM(34),
|
||||
DEF_SINGLE_STUDIO_LIGHT_ITEM(35),
|
||||
DEF_SINGLE_STUDIO_LIGHT_ITEM(36),
|
||||
DEF_SINGLE_STUDIO_LIGHT_ITEM(37),
|
||||
DEF_SINGLE_STUDIO_LIGHT_ITEM(38),
|
||||
DEF_SINGLE_STUDIO_LIGHT_ITEM(39),
|
||||
DEF_SINGLE_STUDIO_LIGHT_ITEM(40),
|
||||
DEF_SINGLE_STUDIO_LIGHT_ITEM(41),
|
||||
DEF_SINGLE_STUDIO_LIGHT_ITEM(42),
|
||||
DEF_SINGLE_STUDIO_LIGHT_ITEM(43),
|
||||
DEF_SINGLE_STUDIO_LIGHT_ITEM(44),
|
||||
DEF_SINGLE_STUDIO_LIGHT_ITEM(45),
|
||||
DEF_SINGLE_STUDIO_LIGHT_ITEM(46),
|
||||
DEF_SINGLE_STUDIO_LIGHT_ITEM(47),
|
||||
DEF_SINGLE_STUDIO_LIGHT_ITEM(48),
|
||||
DEF_SINGLE_STUDIO_LIGHT_ITEM(49),
|
||||
DEF_SINGLE_STUDIO_LIGHT_ITEM(50),
|
||||
DEF_SINGLE_STUDIO_LIGHT_ITEM(51),
|
||||
DEF_SINGLE_STUDIO_LIGHT_ITEM(52),
|
||||
DEF_SINGLE_STUDIO_LIGHT_ITEM(53),
|
||||
DEF_SINGLE_STUDIO_LIGHT_ITEM(54),
|
||||
DEF_SINGLE_STUDIO_LIGHT_ITEM(55),
|
||||
DEF_SINGLE_STUDIO_LIGHT_ITEM(56),
|
||||
DEF_SINGLE_STUDIO_LIGHT_ITEM(57),
|
||||
DEF_SINGLE_STUDIO_LIGHT_ITEM(58),
|
||||
DEF_SINGLE_STUDIO_LIGHT_ITEM(59),
|
||||
DEF_SINGLE_STUDIO_LIGHT_ITEM(60),
|
||||
DEF_SINGLE_STUDIO_LIGHT_ITEM(61),
|
||||
DEF_SINGLE_STUDIO_LIGHT_ITEM(62),
|
||||
DEF_SINGLE_STUDIO_LIGHT_ITEM(63),
|
||||
DEF_SINGLE_STUDIO_LIGHT_ITEM(64),
|
||||
DEF_SINGLE_STUDIO_LIGHT_ITEM(65),
|
||||
DEF_SINGLE_STUDIO_LIGHT_ITEM(66),
|
||||
DEF_SINGLE_STUDIO_LIGHT_ITEM(67),
|
||||
DEF_SINGLE_STUDIO_LIGHT_ITEM(68),
|
||||
DEF_SINGLE_STUDIO_LIGHT_ITEM(69),
|
||||
DEF_SINGLE_STUDIO_LIGHT_ITEM(70),
|
||||
DEF_SINGLE_STUDIO_LIGHT_ITEM(71),
|
||||
DEF_SINGLE_STUDIO_LIGHT_ITEM(72),
|
||||
DEF_SINGLE_STUDIO_LIGHT_ITEM(73),
|
||||
DEF_SINGLE_STUDIO_LIGHT_ITEM(74),
|
||||
DEF_SINGLE_STUDIO_LIGHT_ITEM(75),
|
||||
DEF_SINGLE_STUDIO_LIGHT_ITEM(76),
|
||||
DEF_SINGLE_STUDIO_LIGHT_ITEM(77),
|
||||
DEF_SINGLE_STUDIO_LIGHT_ITEM(78),
|
||||
DEF_SINGLE_STUDIO_LIGHT_ITEM(79),
|
||||
DEF_SINGLE_STUDIO_LIGHT_ITEM(80),
|
||||
DEF_SINGLE_STUDIO_LIGHT_ITEM(81),
|
||||
DEF_SINGLE_STUDIO_LIGHT_ITEM(82),
|
||||
DEF_SINGLE_STUDIO_LIGHT_ITEM(83),
|
||||
DEF_SINGLE_STUDIO_LIGHT_ITEM(84),
|
||||
DEF_SINGLE_STUDIO_LIGHT_ITEM(85),
|
||||
DEF_SINGLE_STUDIO_LIGHT_ITEM(86),
|
||||
DEF_SINGLE_STUDIO_LIGHT_ITEM(87),
|
||||
DEF_SINGLE_STUDIO_LIGHT_ITEM(88),
|
||||
DEF_SINGLE_STUDIO_LIGHT_ITEM(89),
|
||||
DEF_SINGLE_STUDIO_LIGHT_ITEM(90),
|
||||
DEF_SINGLE_STUDIO_LIGHT_ITEM(91),
|
||||
DEF_SINGLE_STUDIO_LIGHT_ITEM(92),
|
||||
DEF_SINGLE_STUDIO_LIGHT_ITEM(93),
|
||||
DEF_SINGLE_STUDIO_LIGHT_ITEM(94),
|
||||
DEF_SINGLE_STUDIO_LIGHT_ITEM(95),
|
||||
DEF_SINGLE_STUDIO_LIGHT_ITEM(96),
|
||||
DEF_SINGLE_STUDIO_LIGHT_ITEM(97),
|
||||
DEF_SINGLE_STUDIO_LIGHT_ITEM(98),
|
||||
DEF_SINGLE_STUDIO_LIGHT_ITEM(99),
|
||||
{0, "DEFAULT", 0, "Default", ""},
|
||||
{0, NULL, 0, NULL, NULL}
|
||||
};
|
||||
#define NUM_STUDIOLIGHT_ITEMS 100
|
||||
|
||||
static const EnumPropertyItem rna_enum_matcap_items[] = {
|
||||
DEF_SINGLE_STUDIO_LIGHT_ITEM(0),
|
||||
DEF_SINGLE_STUDIO_LIGHT_ITEM(1),
|
||||
DEF_SINGLE_STUDIO_LIGHT_ITEM(2),
|
||||
DEF_SINGLE_STUDIO_LIGHT_ITEM(3),
|
||||
DEF_SINGLE_STUDIO_LIGHT_ITEM(4),
|
||||
DEF_SINGLE_STUDIO_LIGHT_ITEM(5),
|
||||
DEF_SINGLE_STUDIO_LIGHT_ITEM(6),
|
||||
DEF_SINGLE_STUDIO_LIGHT_ITEM(7),
|
||||
DEF_SINGLE_STUDIO_LIGHT_ITEM(8),
|
||||
DEF_SINGLE_STUDIO_LIGHT_ITEM(9),
|
||||
DEF_SINGLE_STUDIO_LIGHT_ITEM(10),
|
||||
DEF_SINGLE_STUDIO_LIGHT_ITEM(11),
|
||||
DEF_SINGLE_STUDIO_LIGHT_ITEM(12),
|
||||
DEF_SINGLE_STUDIO_LIGHT_ITEM(13),
|
||||
DEF_SINGLE_STUDIO_LIGHT_ITEM(14),
|
||||
DEF_SINGLE_STUDIO_LIGHT_ITEM(15),
|
||||
DEF_SINGLE_STUDIO_LIGHT_ITEM(16),
|
||||
DEF_SINGLE_STUDIO_LIGHT_ITEM(17),
|
||||
DEF_SINGLE_STUDIO_LIGHT_ITEM(18),
|
||||
DEF_SINGLE_STUDIO_LIGHT_ITEM(19),
|
||||
DEF_SINGLE_STUDIO_LIGHT_ITEM(20),
|
||||
DEF_SINGLE_STUDIO_LIGHT_ITEM(21),
|
||||
DEF_SINGLE_STUDIO_LIGHT_ITEM(22),
|
||||
DEF_SINGLE_STUDIO_LIGHT_ITEM(23),
|
||||
DEF_SINGLE_STUDIO_LIGHT_ITEM(24),
|
||||
DEF_SINGLE_STUDIO_LIGHT_ITEM(25),
|
||||
DEF_SINGLE_STUDIO_LIGHT_ITEM(26),
|
||||
DEF_SINGLE_STUDIO_LIGHT_ITEM(27),
|
||||
DEF_SINGLE_STUDIO_LIGHT_ITEM(28),
|
||||
DEF_SINGLE_STUDIO_LIGHT_ITEM(29),
|
||||
DEF_SINGLE_STUDIO_LIGHT_ITEM(30),
|
||||
DEF_SINGLE_STUDIO_LIGHT_ITEM(31),
|
||||
DEF_SINGLE_STUDIO_LIGHT_ITEM(32),
|
||||
DEF_SINGLE_STUDIO_LIGHT_ITEM(33),
|
||||
DEF_SINGLE_STUDIO_LIGHT_ITEM(34),
|
||||
DEF_SINGLE_STUDIO_LIGHT_ITEM(35),
|
||||
DEF_SINGLE_STUDIO_LIGHT_ITEM(36),
|
||||
DEF_SINGLE_STUDIO_LIGHT_ITEM(37),
|
||||
DEF_SINGLE_STUDIO_LIGHT_ITEM(38),
|
||||
DEF_SINGLE_STUDIO_LIGHT_ITEM(39),
|
||||
DEF_SINGLE_STUDIO_LIGHT_ITEM(40),
|
||||
DEF_SINGLE_STUDIO_LIGHT_ITEM(41),
|
||||
DEF_SINGLE_STUDIO_LIGHT_ITEM(42),
|
||||
DEF_SINGLE_STUDIO_LIGHT_ITEM(43),
|
||||
DEF_SINGLE_STUDIO_LIGHT_ITEM(44),
|
||||
DEF_SINGLE_STUDIO_LIGHT_ITEM(45),
|
||||
DEF_SINGLE_STUDIO_LIGHT_ITEM(46),
|
||||
DEF_SINGLE_STUDIO_LIGHT_ITEM(47),
|
||||
DEF_SINGLE_STUDIO_LIGHT_ITEM(48),
|
||||
DEF_SINGLE_STUDIO_LIGHT_ITEM(49),
|
||||
DEF_SINGLE_STUDIO_LIGHT_ITEM(50),
|
||||
DEF_SINGLE_STUDIO_LIGHT_ITEM(51),
|
||||
DEF_SINGLE_STUDIO_LIGHT_ITEM(52),
|
||||
DEF_SINGLE_STUDIO_LIGHT_ITEM(53),
|
||||
DEF_SINGLE_STUDIO_LIGHT_ITEM(54),
|
||||
DEF_SINGLE_STUDIO_LIGHT_ITEM(55),
|
||||
DEF_SINGLE_STUDIO_LIGHT_ITEM(56),
|
||||
DEF_SINGLE_STUDIO_LIGHT_ITEM(57),
|
||||
DEF_SINGLE_STUDIO_LIGHT_ITEM(58),
|
||||
DEF_SINGLE_STUDIO_LIGHT_ITEM(59),
|
||||
DEF_SINGLE_STUDIO_LIGHT_ITEM(60),
|
||||
DEF_SINGLE_STUDIO_LIGHT_ITEM(61),
|
||||
DEF_SINGLE_STUDIO_LIGHT_ITEM(62),
|
||||
DEF_SINGLE_STUDIO_LIGHT_ITEM(63),
|
||||
DEF_SINGLE_STUDIO_LIGHT_ITEM(64),
|
||||
DEF_SINGLE_STUDIO_LIGHT_ITEM(65),
|
||||
DEF_SINGLE_STUDIO_LIGHT_ITEM(66),
|
||||
DEF_SINGLE_STUDIO_LIGHT_ITEM(67),
|
||||
DEF_SINGLE_STUDIO_LIGHT_ITEM(68),
|
||||
DEF_SINGLE_STUDIO_LIGHT_ITEM(69),
|
||||
DEF_SINGLE_STUDIO_LIGHT_ITEM(70),
|
||||
DEF_SINGLE_STUDIO_LIGHT_ITEM(71),
|
||||
DEF_SINGLE_STUDIO_LIGHT_ITEM(72),
|
||||
DEF_SINGLE_STUDIO_LIGHT_ITEM(73),
|
||||
DEF_SINGLE_STUDIO_LIGHT_ITEM(74),
|
||||
DEF_SINGLE_STUDIO_LIGHT_ITEM(75),
|
||||
DEF_SINGLE_STUDIO_LIGHT_ITEM(76),
|
||||
DEF_SINGLE_STUDIO_LIGHT_ITEM(77),
|
||||
DEF_SINGLE_STUDIO_LIGHT_ITEM(78),
|
||||
DEF_SINGLE_STUDIO_LIGHT_ITEM(79),
|
||||
DEF_SINGLE_STUDIO_LIGHT_ITEM(80),
|
||||
DEF_SINGLE_STUDIO_LIGHT_ITEM(81),
|
||||
DEF_SINGLE_STUDIO_LIGHT_ITEM(82),
|
||||
DEF_SINGLE_STUDIO_LIGHT_ITEM(83),
|
||||
DEF_SINGLE_STUDIO_LIGHT_ITEM(84),
|
||||
DEF_SINGLE_STUDIO_LIGHT_ITEM(85),
|
||||
DEF_SINGLE_STUDIO_LIGHT_ITEM(86),
|
||||
DEF_SINGLE_STUDIO_LIGHT_ITEM(87),
|
||||
DEF_SINGLE_STUDIO_LIGHT_ITEM(88),
|
||||
DEF_SINGLE_STUDIO_LIGHT_ITEM(89),
|
||||
DEF_SINGLE_STUDIO_LIGHT_ITEM(90),
|
||||
DEF_SINGLE_STUDIO_LIGHT_ITEM(91),
|
||||
DEF_SINGLE_STUDIO_LIGHT_ITEM(92),
|
||||
DEF_SINGLE_STUDIO_LIGHT_ITEM(93),
|
||||
DEF_SINGLE_STUDIO_LIGHT_ITEM(94),
|
||||
DEF_SINGLE_STUDIO_LIGHT_ITEM(95),
|
||||
DEF_SINGLE_STUDIO_LIGHT_ITEM(96),
|
||||
DEF_SINGLE_STUDIO_LIGHT_ITEM(97),
|
||||
DEF_SINGLE_STUDIO_LIGHT_ITEM(98),
|
||||
DEF_SINGLE_STUDIO_LIGHT_ITEM(99),
|
||||
{0, "DEFAULT", 0, "Default", ""},
|
||||
{0, NULL, 0, NULL, NULL}
|
||||
};
|
||||
#define NUM_MATCAP_ITEMS 100
|
||||
#undef DEF_SINGLE_STUDIO_LIGHT_ITEM
|
||||
|
||||
const EnumPropertyItem rna_enum_clip_editor_mode_items[] = {
|
||||
{SC_MODE_TRACKING, "TRACKING", ICON_ANIM_DATA, "Tracking", "Show tracking and solving tools"},
|
||||
|
@ -950,13 +748,11 @@ static const EnumPropertyItem *rna_View3DShading_studio_light_itemf(
|
|||
{
|
||||
View3D *v3d = (View3D *)ptr->data;
|
||||
EnumPropertyItem *item = NULL;
|
||||
EnumPropertyItem *lastitem;
|
||||
int totitem = 0;
|
||||
bool show_studiolight;
|
||||
|
||||
LISTBASE_FOREACH(StudioLight *, sl, BKE_studiolight_listbase()) {
|
||||
show_studiolight = false;
|
||||
int icon_id = sl->irradiance_icon_id;
|
||||
bool show_studiolight = false;
|
||||
|
||||
if ((sl->flag & STUDIOLIGHT_INTERNAL)) {
|
||||
/* always show internal lights */
|
||||
|
@ -976,12 +772,9 @@ static const EnumPropertyItem *rna_View3DShading_studio_light_itemf(
|
|||
}
|
||||
}
|
||||
|
||||
if (show_studiolight && totitem < NUM_STUDIOLIGHT_ITEMS) {
|
||||
RNA_enum_items_add_value(&item, &totitem, rna_enum_studio_light_items, sl->index);
|
||||
lastitem = &item[totitem - 1];
|
||||
lastitem->value = sl->index;
|
||||
lastitem->icon = icon_id;
|
||||
lastitem->name = sl->name;
|
||||
if (show_studiolight) {
|
||||
EnumPropertyItem tmp = {sl->index, sl->name, icon_id, sl->name, ""};
|
||||
RNA_enum_item_add(&item, &totitem, &tmp);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1010,24 +803,17 @@ static const EnumPropertyItem *rna_View3DShading_matcap_itemf(
|
|||
PropertyRNA *UNUSED(prop), bool *r_free)
|
||||
{
|
||||
EnumPropertyItem *item = NULL;
|
||||
EnumPropertyItem *lastitem;
|
||||
int totitem = 0;
|
||||
bool show_studiolight;
|
||||
|
||||
const int flags = (STUDIOLIGHT_EXTERNAL_FILE | STUDIOLIGHT_ORIENTATION_VIEWNORMAL);
|
||||
|
||||
LISTBASE_FOREACH(StudioLight *, sl, BKE_studiolight_listbase()) {
|
||||
show_studiolight = false;
|
||||
int icon_id = sl->irradiance_icon_id;
|
||||
bool show_studiolight = (sl->flag & flags) == flags;
|
||||
|
||||
show_studiolight = (sl->flag & flags) == flags;
|
||||
|
||||
if (show_studiolight && totitem < NUM_MATCAP_ITEMS) {
|
||||
RNA_enum_items_add_value(&item, &totitem, rna_enum_matcap_items, sl->index);
|
||||
lastitem = &item[totitem - 1];
|
||||
lastitem->value = sl->index;
|
||||
lastitem->icon = icon_id;
|
||||
lastitem->name = sl->name;
|
||||
if (show_studiolight) {
|
||||
EnumPropertyItem tmp = {sl->index, sl->name, icon_id, sl->name, ""};
|
||||
RNA_enum_item_add(&item, &totitem, &tmp);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue