[Bf-blender-cvs] [11d075f07da] master: Cleanup: Move color attribute enums to be reusable

Hans Goudey noreply at git.blender.org
Tue May 3 12:23:35 CEST 2022


Commit: 11d075f07da9c480219d776cea087ba29d867064
Author: Hans Goudey
Date:   Tue May 3 12:23:17 2022 +0200
Branches: master
https://developer.blender.org/rB11d075f07da9c480219d776cea087ba29d867064

Cleanup: Move color attribute enums to be reusable

These enum property arrays are used by a few patches
in review. Moving them here means they don't have to
be duplicated.

===================================================================

M	source/blender/editors/geometry/geometry_attributes.cc
M	source/blender/makesrna/RNA_enum_items.h
M	source/blender/makesrna/intern/rna_attribute.c

===================================================================

diff --git a/source/blender/editors/geometry/geometry_attributes.cc b/source/blender/editors/geometry/geometry_attributes.cc
index 05f9e19da71..cfc158b117f 100644
--- a/source/blender/editors/geometry/geometry_attributes.cc
+++ b/source/blender/editors/geometry/geometry_attributes.cc
@@ -385,24 +385,16 @@ void GEOMETRY_OT_color_attribute_add(wmOperatorType *ot)
       ot->srna, "name", "Color", MAX_NAME, "Name", "Name of new color attribute");
   RNA_def_property_flag(prop, PROP_SKIP_SAVE);
 
-  static EnumPropertyItem domains[3] = {{ATTR_DOMAIN_POINT, "POINT", 0, "Vertex", ""},
-                                        {ATTR_DOMAIN_CORNER, "CORNER", 0, "Face Corner", ""},
-                                        {0, nullptr, 0, nullptr, nullptr}};
-
-  static EnumPropertyItem types[3] = {{CD_PROP_COLOR, "COLOR", 0, "Color", ""},
-                                      {CD_PROP_BYTE_COLOR, "BYTE_COLOR", 0, "Byte Color", ""},
-                                      {0, nullptr, 0, nullptr, nullptr}};
-
   prop = RNA_def_enum(ot->srna,
                       "domain",
-                      domains,
+                      rna_enum_color_attribute_domain_items,
                       ATTR_DOMAIN_POINT,
                       "Domain",
                       "Type of element that attribute is stored on");
 
   prop = RNA_def_enum(ot->srna,
                       "data_type",
-                      types,
+                      rna_enum_color_attribute_type_items,
                       CD_PROP_COLOR,
                       "Data Type",
                       "Type of data stored in attribute");
diff --git a/source/blender/makesrna/RNA_enum_items.h b/source/blender/makesrna/RNA_enum_items.h
index 74f8e2487a4..127c8465243 100644
--- a/source/blender/makesrna/RNA_enum_items.h
+++ b/source/blender/makesrna/RNA_enum_items.h
@@ -198,8 +198,10 @@ DEF_ENUM(rna_enum_context_mode_items)
 DEF_ENUM(rna_enum_preference_section_items)
 
 DEF_ENUM(rna_enum_attribute_type_items)
+DEF_ENUM(rna_enum_color_attribute_type_items)
 DEF_ENUM(rna_enum_attribute_type_with_auto_items)
 DEF_ENUM(rna_enum_attribute_domain_items)
+DEF_ENUM(rna_enum_color_attribute_domain_items)
 DEF_ENUM(rna_enum_attribute_domain_without_corner_items)
 DEF_ENUM(rna_enum_attribute_domain_with_auto_items)
 DEF_ENUM(rna_enum_geometry_component_type_items)
diff --git a/source/blender/makesrna/intern/rna_attribute.c b/source/blender/makesrna/intern/rna_attribute.c
index d49bac15242..2d9517ce1ee 100644
--- a/source/blender/makesrna/intern/rna_attribute.c
+++ b/source/blender/makesrna/intern/rna_attribute.c
@@ -40,12 +40,21 @@ const EnumPropertyItem rna_enum_attribute_type_items[] = {
     {0, NULL, 0, NULL, NULL},
 };
 
+const EnumPropertyItem rna_enum_color_attribute_type_items[] = {
+    {CD_PROP_COLOR, "FLOAT_COLOR", 0, "Color", "RGBA color 32-bit floating-point values"},
+    {CD_PROP_BYTE_COLOR,
+     "BYTE_COLOR",
+     0,
+     "Byte Color",
+     "RGBA color with 8-bit positive integer values"},
+    {0, NULL, 0, NULL, NULL}};
+
 const EnumPropertyItem rna_enum_attribute_type_with_auto_items[] = {
     {CD_AUTO_FROM_NAME, "AUTO", 0, "Auto", ""},
     {CD_PROP_FLOAT, "FLOAT", 0, "Float", "Floating-point value"},
     {CD_PROP_INT32, "INT", 0, "Integer", "32-bit integer"},
     {CD_PROP_FLOAT3, "FLOAT_VECTOR", 0, "Vector", "3D vector with floating-point values"},
-    {CD_PROP_COLOR, "FLOAT_COLOR", 0, "Color", "RGBA color 32-bit floating-point values"},
+    {CD_PROP_COLOR, "FLOAT_COLOR", 0, "Color", "RGBA color with 32-bit floating-point values"},
     {CD_PROP_BYTE_COLOR,
      "BYTE_COLOR",
      0,
@@ -92,6 +101,11 @@ const EnumPropertyItem rna_enum_attribute_domain_with_auto_items[] = {
     {0, NULL, 0, NULL, NULL},
 };
 
+const EnumPropertyItem rna_enum_color_attribute_domain_items[] = {
+    {ATTR_DOMAIN_POINT, "POINT", 0, "Vertex", ""},
+    {ATTR_DOMAIN_CORNER, "CORNER", 0, "Face Corner", ""},
+    {0, NULL, 0, NULL, NULL}};
+
 #ifdef RNA_RUNTIME
 
 #  include "BLI_math.h"



More information about the Bf-blender-cvs mailing list