From 410810d42f92f6726f859601d2517df1ee7e6f75 Mon Sep 17 00:00:00 2001 From: Jeroen Bakker Date: Mon, 16 Apr 2018 15:01:31 +0200 Subject: Workbench: Added Object Color to collection_properties --- source/blender/makesrna/intern/rna_layer.c | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) (limited to 'source/blender/makesrna/intern/rna_layer.c') diff --git a/source/blender/makesrna/intern/rna_layer.c b/source/blender/makesrna/intern/rna_layer.c index 7d09f30ed6a..36e6afe26d6 100644 --- a/source/blender/makesrna/intern/rna_layer.c +++ b/source/blender/makesrna/intern/rna_layer.c @@ -309,6 +309,9 @@ static void rna_LayerEngineSettings_##_ENGINE_##_##_NAME_##_set(PointerRNA *ptr, #define RNA_LAYER_ENGINE_EEVEE_GET_SET_BOOL(_NAME_) \ RNA_LAYER_ENGINE_GET_SET(bool, Eevee, COLLECTION_MODE_NONE, _NAME_) +#define RNA_LAYER_ENGINE_WORKBENCH_GET_SET_FLOAT_ARRAY(_NAME_, _LEN_) \ + RNA_LAYER_ENGINE_GET_SET_ARRAY(float, Workbench, COLLECTION_MODE_NONE, _NAME_, _LEN_) + /* mode engines */ #define RNA_LAYER_MODE_OBJECT_GET_SET_FLOAT(_NAME_) \ @@ -353,6 +356,10 @@ RNA_LAYER_ENGINE_CLAY_GET_SET_FLOAT(ssao_attenuation) RNA_LAYER_ENGINE_CLAY_GET_SET_FLOAT(hair_brightness_randomness) #endif /* WITH_CLAY_ENGINE */ +/* workbench engine */ +/* LayerCollection settings. */ +RNA_LAYER_ENGINE_WORKBENCH_GET_SET_FLOAT_ARRAY(object_color, 3) + /* eevee engine */ /* ViewLayer settings. */ RNA_LAYER_ENGINE_EEVEE_GET_SET_BOOL(gtao_enable) @@ -578,6 +585,9 @@ static StructRNA *rna_LayerCollectionSettings_refine(PointerRNA *ptr) return &RNA_LayerCollectionEngineSettingsClay; } #endif + if (STREQ(props->name, RE_engine_id_BLENDER_WORKBENCH)) { + return &RNA_LayerCollectionEngineSettingsWorkbench; + } if (STREQ(props->name, RE_engine_id_BLENDER_EEVEE)) { /* printf("Mode not fully implemented\n"); */ return &RNA_LayerCollectionSettings; @@ -1736,6 +1746,25 @@ static void rna_def_layer_collection_engine_settings_clay(BlenderRNA *brna) } #endif /* WITH_CLAY_ENGINE */ +static void rna_def_layer_collection_engine_settings_workbench(BlenderRNA *brna) +{ + StructRNA *srna; + PropertyRNA *prop; + + srna = RNA_def_struct(brna, "LayerCollectionEngineSettingsWorkbench", "LayerCollectionSettings"); + RNA_def_struct_ui_text(srna, "Collections Workbench Engine Settings", "Engine specific settings for this collection"); + + RNA_define_verify_sdna(0); /* not in sdna */ + + prop = RNA_def_property(srna, "object_color", PROP_FLOAT, PROP_COLOR); + RNA_def_property_array(prop, 3); + RNA_def_property_float_funcs(prop, "rna_LayerEngineSettings_Workbench_object_color_get", + "rna_LayerEngineSettings_Workbench_object_color_set", NULL); + RNA_def_property_ui_text(prop, "Object Color", "Color for Drawing Objects"); + RNA_def_property_flag(prop, PROP_CONTEXT_UPDATE); + RNA_def_property_update(prop, 0, "rna_LayerCollectionEngineSettings_update"); +} + static void rna_def_layer_collection_mode_settings_object(BlenderRNA *brna) { StructRNA *srna; @@ -1958,6 +1987,7 @@ static void rna_def_layer_collection_settings(BlenderRNA *brna) rna_def_layer_collection_engine_settings_clay(brna); #endif + rna_def_layer_collection_engine_settings_workbench(brna); rna_def_layer_collection_mode_settings_object(brna); rna_def_layer_collection_mode_settings_edit(brna); rna_def_layer_collection_mode_settings_paint_weight(brna); -- cgit v1.2.3