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:
authorBrecht Van Lommel <brechtvanlommel@gmail.com>2018-06-05 13:08:29 +0300
committerBrecht Van Lommel <brechtvanlommel@gmail.com>2018-06-05 13:23:55 +0300
commit6d7327f607593561a0a128e2199c3a8487f09655 (patch)
tree955a77423f99a84c06032df0a46db96f26ec7a61
parent0d47a4d2feb43c686de2534b3bd0855bb315acc7 (diff)
Cleanup: simplify studiolight/matcap enum code, remove limit.
-rw-r--r--source/blender/makesrna/intern/rna_space.c234
1 files changed, 10 insertions, 224 deletions
diff --git a/source/blender/makesrna/intern/rna_space.c b/source/blender/makesrna/intern/rna_space.c
index 150bff1d254..8bc6391a761 100644
--- a/source/blender/makesrna/intern/rna_space.c
+++ b/source/blender/makesrna/intern/rna_space.c
@@ -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);
}
}