Blender V5.0
rna_access_internal.hh File Reference

Go to the source code of this file.

Functions

void rna_property_rna_or_id_get (PropertyRNA *prop, PointerRNA *ptr, PropertyRNAOrID *r_prop_rna_or_id)
void rna_idproperty_touch (IDProperty *idprop)
IDPropertyrna_idproperty_find (PointerRNA *ptr, const char *name)
IDPropertyrna_system_idproperty_find (PointerRNA *ptr, const char *name)
PropertyRNArna_struct_find_nested (PointerRNA *ptr, StructRNA *srna)

Function Documentation

◆ rna_idproperty_find()

IDProperty * rna_idproperty_find ( PointerRNA * ptr,
const char * name )

◆ rna_idproperty_touch()

◆ rna_property_rna_or_id_get()

void rna_property_rna_or_id_get ( PropertyRNA * prop,
PointerRNA * ptr,
PropertyRNAOrID * r_prop_rna_or_id )

This function initializes a PropertyRNAOrID with all required info, from a given PropertyRNA and PointerRNA data. It deals properly with the three cases (static RNA, runtime RNA, and IDProperty).

Warning
given ptr PointerRNA is assumed to be a valid data one here, calling code is responsible to ensure that.

Definition at line 548 of file rna_access.cc.

References PropertyRNAOrID::array_len, arraytypemap, IDPropertyUIDataInt::enum_items_num, IDProperty::flag, PropertyRNA::flag, PropertyRNA::getlength, PropertyRNA::identifier, PropertyRNAOrID::identifier, IDP_ARRAY, IDP_FLAG_GHOST, IDP_FreeFromGroup(), IDP_INT, PropertyRNAOrID::idprop, PropertyRNAOrID::is_array, PropertyRNAOrID::is_idprop, PropertyRNAOrID::is_rna_storage_idprop, PropertyRNAOrID::is_set, IDProperty::len, PropertyRNA::magic, IDProperty::name, PROP_IDPROPERTY, PropertyRNAOrID::ptr, ptr, PropertyRNAOrID::rawprop, rna_idproperty_find(), rna_idproperty_verify_valid(), RNA_MAGIC, RNA_MAX_ARRAY_DIMENSION, RNA_struct_system_idprops(), rna_system_idproperty_find(), PropertyRNAOrID::rnaprop, IDProperty::subtype, PropertyRNA::totarraylength, IDProperty::type, typemap, and IDProperty::ui_data.

Referenced by rna_idproperty_check(), RNA_property_boolean_get(), RNA_property_boolean_get_array(), RNA_property_boolean_set(), RNA_property_boolean_set_array(), RNA_property_enum_get(), RNA_property_enum_set(), RNA_property_equals(), RNA_property_float_get(), RNA_property_float_get_array(), RNA_property_float_set(), RNA_property_float_set_array(), RNA_property_int_get(), RNA_property_int_get_array(), RNA_property_int_set(), RNA_property_int_set_array(), RNA_property_string_get(), RNA_property_string_length(), RNA_property_string_set(), RNA_property_string_set_bytes(), and RNA_struct_override_matches().

◆ rna_struct_find_nested()

PropertyRNA * rna_struct_find_nested ( PointerRNA * ptr,
StructRNA * srna )

Find the property which uses the given nested struct.

Definition at line 945 of file rna_access.cc.

References ptr, RNA_PROP_END, RNA_property_pointer_type(), and RNA_STRUCT_BEGIN.

Referenced by RNA_path_from_ID_to_struct().

◆ rna_system_idproperty_find()

IDProperty * rna_system_idproperty_find ( PointerRNA * ptr,
const char * name )