Blender V4.3
py_capi_rna.hh File Reference
#include "BLI_sys_types.h"

Go to the source code of this file.

Classes

struct  BPy_EnumProperty_Parse
 

Functions

char * pyrna_enum_repr (const EnumPropertyItem *item)
 
int pyrna_enum_value_from_id (const EnumPropertyItem *item, const char *identifier, int *r_value, const char *error_prefix)
 
unsigned intpyrna_enum_bitmap_from_set (const EnumPropertyItem *items, PyObject *value, int type_size, bool type_convert_sign, int bitmap_size, const char *error_prefix)
 
int pyrna_enum_bitfield_from_set (const EnumPropertyItem *items, PyObject *value, int *r_value, const char *error_prefix)
 
PyObject * pyrna_enum_bitfield_as_set (const EnumPropertyItem *items, int value)
 
int pyrna_enum_value_parse_string (PyObject *o, void *p)
 
int pyrna_enum_bitfield_parse_set (PyObject *o, void *p)
 

Function Documentation

◆ pyrna_enum_bitfield_as_set()

PyObject * pyrna_enum_bitfield_as_set ( const EnumPropertyItem * items,
int value )

Definition at line 171 of file py_capi_rna.cc.

References ret, RNA_enum_bitflag_identifiers(), and RNA_ENUM_BITFLAG_SIZE.

Referenced by pyop_call(), and pyop_get_bl_options().

◆ pyrna_enum_bitfield_from_set()

int pyrna_enum_bitfield_from_set ( const EnumPropertyItem * items,
PyObject * value,
int * r_value,
const char * error_prefix )

'value' must be a set type, error check before calling.

Definition at line 134 of file py_capi_rna.cc.

References flag, hash, pos, pyrna_enum_value_from_id(), and ret.

Referenced by bpy_msgbus_subscribe_rna(), pyrna_enum_bitfield_parse_set(), pyrna_prop_to_enum_bitfield(), and pyrna_struct_keyframe_parse().

◆ pyrna_enum_bitfield_parse_set()

◆ pyrna_enum_bitmap_from_set()

unsigned int * pyrna_enum_bitmap_from_set ( const EnumPropertyItem * items,
PyObject * value,
int type_size,
bool type_convert_sign,
int bitmap_size,
const char * error_prefix )

Takes a set of strings and map it to and array of booleans.

Useful when the values aren't flags.

Parameters
type_convert_signMaps signed to unsigned range, needed when we want to use the full range of a signed short/char.

Definition at line 71 of file py_capi_rna.cc.

References BLI_assert, BLI_assert_unreachable, BLI_BITMAP_ENABLE, BLI_BITMAP_NEW, error(), hash, int, MEM_freeN(), pos, pyrna_enum_value_from_id(), and ret.

Referenced by bpy_user_map().

◆ pyrna_enum_repr()

char * pyrna_enum_repr ( const EnumPropertyItem * item)

Convert all items into a single comma separated string. Use for creating useful error messages.

Definition at line 31 of file py_capi_rna.cc.

References BLI_dynstr_appendf(), BLI_dynstr_free(), BLI_dynstr_get_cstring(), BLI_dynstr_new(), and EnumPropertyItem::identifier.

Referenced by pyop_call(), pyop_poll(), pyrna_enum_as_string(), and pyrna_enum_value_from_id().

◆ pyrna_enum_value_from_id()

int pyrna_enum_value_from_id ( const EnumPropertyItem * item,
const char * identifier,
int * r_value,
const char * error_prefix )

◆ pyrna_enum_value_parse_string()