diff options
Diffstat (limited to 'source/blender/python/generic/py_capi_rna.h')
-rw-r--r-- | source/blender/python/generic/py_capi_rna.h | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/source/blender/python/generic/py_capi_rna.h b/source/blender/python/generic/py_capi_rna.h index 326ca777a4b..9733cb043ea 100644 --- a/source/blender/python/generic/py_capi_rna.h +++ b/source/blender/python/generic/py_capi_rna.h @@ -25,13 +25,28 @@ struct EnumPropertyItem; +/** + * Convert all items into a single comma separated string. + * Use for creating useful error messages. + */ char *pyrna_enum_repr(const struct EnumPropertyItem *item); +/** + * Same as #RNA_enum_value_from_id, but raises an exception. + */ int pyrna_enum_value_from_id(const struct EnumPropertyItem *item, const char *identifier, int *value, const char *error_prefix); +/** + * Takes a set of strings and map it to and array of booleans. + * + * Useful when the values aren't flags. + * + * \param type_convert_sign: Maps signed to unsigned range, + * needed when we want to use the full range of a signed short/char. + */ unsigned int *pyrna_enum_bitmap_from_set(const struct EnumPropertyItem *items, PyObject *value, int type_size, @@ -39,6 +54,9 @@ unsigned int *pyrna_enum_bitmap_from_set(const struct EnumPropertyItem *items, int bitmap_size, const char *error_prefix); +/** + * 'value' _must_ be a set type, error check before calling. + */ int pyrna_enum_bitfield_from_set(const struct EnumPropertyItem *items, PyObject *value, int *r_value, @@ -62,5 +80,11 @@ struct BPy_EnumProperty_Parse { int value; bool is_set; }; +/** + * Use with #PyArg_ParseTuple's `O&` formatting. + */ int pyrna_enum_value_parse_string(PyObject *o, void *p); +/** + * Use with #PyArg_ParseTuple's `O&` formatting. + */ int pyrna_enum_bitfield_parse_set(PyObject *o, void *p); |