Blender V4.3
RNA_access.hh
Go to the documentation of this file.
1/* SPDX-FileCopyrightText: 2023 Blender Authors
2 *
3 * SPDX-License-Identifier: GPL-2.0-or-later */
4
5/* Use a define instead of `#pragma once` because of `rna_internal.hh` */
6#ifndef __RNA_ACCESS_H__
7#define __RNA_ACCESS_H__
8
13#include <optional>
14#include <stdarg.h>
15#include <string>
16
17#include "RNA_types.hh"
18
19#include "BLI_compiler_attrs.h"
20#include "BLI_function_ref.hh"
21
22struct ID;
26struct IDProperty;
27struct ListBase;
28struct Main;
29struct ReportList;
30struct Scene;
31struct bContext;
32
33/* Types */
35
36/* Pointer
37 *
38 * These functions will fill in RNA pointers, this can be done in three ways:
39 * - a pointer Main is created by just passing the data pointer
40 * - a pointer to a datablock can be created with the type and id data pointer
41 * - a pointer to data contained in a datablock can be created with the id type
42 * and id data pointer, and the data type and pointer to the struct itself.
43 *
44 * There is also a way to get a pointer with the information about all structs.
45 */
46
49PointerRNA RNA_pointer_create(ID *id, StructRNA *type, void *data);
51
53 PropertyRNA *prop,
54 int prop_index,
55 PathResolvedRNA *r_anim_rna);
56
59
60/* Structs */
61
62StructRNA *RNA_struct_find(const char *identifier);
63
64const char *RNA_struct_identifier(const StructRNA *type);
65const char *RNA_struct_ui_name(const StructRNA *type);
66const char *RNA_struct_ui_name_raw(const StructRNA *type);
67const char *RNA_struct_ui_description(const StructRNA *type);
68const char *RNA_struct_ui_description_raw(const StructRNA *type);
69const char *RNA_struct_translation_context(const StructRNA *type);
70int RNA_struct_ui_icon(const StructRNA *type);
71
81const StructRNA *RNA_struct_base_child_of(const StructRNA *type, const StructRNA *parent_type);
82
83bool RNA_struct_is_ID(const StructRNA *type);
84bool RNA_struct_is_a(const StructRNA *type, const StructRNA *srna);
85
86bool RNA_struct_undo_check(const StructRNA *type);
87
91
93void RNA_struct_py_type_set(StructRNA *srna, void *py_type);
94
96void RNA_struct_blender_type_set(StructRNA *srna, void *blender_type);
97
113bool RNA_struct_idprops_unset(PointerRNA *ptr, const char *identifier);
114
115PropertyRNA *RNA_struct_find_property(PointerRNA *ptr, const char *identifier);
116
122 const char *name,
123 const PropertyType property_type_check);
129 const char *name,
130 const StructRNA *struct_type_check);
131
133unsigned int RNA_struct_count_properties(StructRNA *srna);
134
140PropertyRNA *RNA_struct_type_find_property_no_base(StructRNA *srna, const char *identifier);
145PropertyRNA *RNA_struct_type_find_property(StructRNA *srna, const char *identifier);
146
147FunctionRNA *RNA_struct_find_function(StructRNA *srna, const char *identifier);
149
150char *RNA_struct_name_get_alloc(PointerRNA *ptr, char *fixedbuf, int fixedlen, int *r_len)
152
156bool RNA_struct_available_or_report(ReportList *reports, const char *identifier);
158 const char *identifier,
159 const char *sep);
160
161/* Properties
162 *
163 * Access to struct properties. All this works with RNA pointers rather than
164 * direct pointers to the data. */
165
166/* Property Information */
167
168const char *RNA_property_identifier(const PropertyRNA *prop);
169const char *RNA_property_description(PropertyRNA *prop);
170
186
196int RNA_property_array_dimension(const PointerRNA *ptr, PropertyRNA *prop, int length[]);
197char RNA_property_array_item_char(PropertyRNA *prop, int index);
198int RNA_property_array_item_index(PropertyRNA *prop, char name);
199
204
205const char *RNA_property_ui_name(const PropertyRNA *prop);
206const char *RNA_property_ui_name_raw(const PropertyRNA *prop);
207const char *RNA_property_ui_description(const PropertyRNA *prop);
208const char *RNA_property_ui_description_raw(const PropertyRNA *prop);
209const char *RNA_property_translation_context(const PropertyRNA *prop);
210int RNA_property_ui_icon(const PropertyRNA *prop);
211
212/* Dynamic Property Information */
213
214void RNA_property_int_range(PointerRNA *ptr, PropertyRNA *prop, int *hardmin, int *hardmax);
216 PointerRNA *ptr, PropertyRNA *prop, int *softmin, int *softmax, int *step);
217
218void RNA_property_float_range(PointerRNA *ptr, PropertyRNA *prop, float *hardmin, float *hardmax);
220 PropertyRNA *prop,
221 float *softmin,
222 float *softmax,
223 float *step,
224 float *precision);
225
226int RNA_property_float_clamp(PointerRNA *ptr, PropertyRNA *prop, float *value);
227int RNA_property_int_clamp(PointerRNA *ptr, PropertyRNA *prop, int *value);
228
229bool RNA_enum_identifier(const EnumPropertyItem *item, int value, const char **r_identifier);
231 int value,
232 const char **r_identifier);
233bool RNA_enum_name(const EnumPropertyItem *item, int value, const char **r_name);
234bool RNA_enum_description(const EnumPropertyItem *item, int value, const char **r_description);
235int RNA_enum_from_value(const EnumPropertyItem *item, int value);
236int RNA_enum_from_identifier(const EnumPropertyItem *item, const char *identifier);
238 const char *identifier,
239 int *r_value);
244int RNA_enum_from_name(const EnumPropertyItem *item, const char *name);
245unsigned int RNA_enum_items_count(const EnumPropertyItem *item);
246
249 PropertyRNA *prop,
250 bool use_static,
251 const EnumPropertyItem **r_item,
252 int *r_totitem,
253 bool *r_free);
256 PropertyRNA *prop,
257 const EnumPropertyItem **r_item,
258 int *r_totitem,
259 bool *r_free);
262 PropertyRNA *prop,
263 const EnumPropertyItem **r_item,
264 int *r_totitem,
265 bool *r_free);
268 PropertyRNA *prop,
269 const EnumPropertyItem **r_item,
270 int *r_totitem,
271 bool *r_free);
273 bContext *C, PointerRNA *ptr, PropertyRNA *prop, const char *identifier, int *r_value);
275 bContext *C, PointerRNA *ptr, PropertyRNA *prop, int value, const char **r_identifier);
277 bContext *C, PointerRNA *ptr, PropertyRNA *prop, int value, const char **r_name);
279 bContext *C, PointerRNA *ptr, PropertyRNA *prop, int value, const char **r_name);
280
282 bContext *C, PointerRNA *ptr, PropertyRNA *prop, int value, EnumPropertyItem *r_item);
284 bContext *C, PointerRNA *ptr, PropertyRNA *prop, int value, EnumPropertyItem *r_item);
285
287 bContext *C, PointerRNA *ptr, PropertyRNA *prop, int value, const char **identifier);
288
291
295bool RNA_property_is_runtime(const PropertyRNA *prop);
296
302bool RNA_property_editable_info(const PointerRNA *ptr, PropertyRNA *prop, const char **r_info);
306bool RNA_property_editable_index(const PointerRNA *ptr, PropertyRNA *prop, const int index);
307
312
354bool RNA_property_overridable_library_set(PointerRNA *ptr, PropertyRNA *prop, bool is_overridable);
361bool RNA_property_path_from_ID_check(PointerRNA *ptr, PropertyRNA *prop); /* slow, use with care */
362
367void RNA_property_update_main(Main *bmain, Scene *scene, PointerRNA *ptr, PropertyRNA *prop);
373
374/* Property Data */
375
377void RNA_property_boolean_set(PointerRNA *ptr, PropertyRNA *prop, bool value);
378void RNA_property_boolean_get_array(PointerRNA *ptr, PropertyRNA *prop, bool *values);
380void RNA_property_boolean_set_array(PointerRNA *ptr, PropertyRNA *prop, const bool *values);
381void RNA_property_boolean_set_index(PointerRNA *ptr, PropertyRNA *prop, int index, bool value);
385
387void RNA_property_int_set(PointerRNA *ptr, PropertyRNA *prop, int value);
388void RNA_property_int_get_array(PointerRNA *ptr, PropertyRNA *prop, int *values);
391void RNA_property_int_set_array(PointerRNA *ptr, PropertyRNA *prop, const int *values);
392void RNA_property_int_set_index(PointerRNA *ptr, PropertyRNA *prop, int index, int value);
394bool RNA_property_int_set_default(PropertyRNA *prop, int value);
397
399void RNA_property_float_set(PointerRNA *ptr, PropertyRNA *prop, float value);
400void RNA_property_float_get_array(PointerRNA *ptr, PropertyRNA *prop, float *values);
401void RNA_property_float_get_array_range(PointerRNA *ptr, PropertyRNA *prop, float values[2]);
403void RNA_property_float_set_array(PointerRNA *ptr, PropertyRNA *prop, const float *values);
404void RNA_property_float_set_index(PointerRNA *ptr, PropertyRNA *prop, int index, float value);
406bool RNA_property_float_set_default(PropertyRNA *prop, float value);
409
411void RNA_property_string_get(PointerRNA *ptr, PropertyRNA *prop, char *value);
413 PropertyRNA *prop,
414 char *fixedbuf,
415 int fixedlen,
416 int *r_len) ATTR_WARN_UNUSED_RESULT;
417void RNA_property_string_set(PointerRNA *ptr, PropertyRNA *prop, const char *value);
418void RNA_property_string_set_bytes(PointerRNA *ptr, PropertyRNA *prop, const char *value, int len);
419
427 const bContext *C,
429 PropertyRNA *prop,
430 const char *edit_text,
432
437void RNA_property_string_get_default(PropertyRNA *prop, char *value, int value_maxncpy);
439 PropertyRNA *prop,
440 char *fixedbuf,
441 int fixedlen,
442 int *r_len) ATTR_WARN_UNUSED_RESULT;
447
449void RNA_property_enum_set(PointerRNA *ptr, PropertyRNA *prop, int value);
459 const bContext *C, PointerRNA *ptr, PropertyRNA *prop, int from_value, int step);
460
463 PropertyRNA *prop,
464 PointerRNA ptr_value,
465 ReportList *reports) ATTR_NONNULL(1, 2);
467
469 PropertyRNA *prop,
481 PropertyRNA *prop,
482 const PointerRNA *t_ptr);
484 PropertyRNA *prop,
485 int key,
486 PointerRNA *r_ptr);
488 PropertyRNA *prop,
489 const char *key,
490 PointerRNA *r_ptr);
492 PointerRNA *ptr, PropertyRNA *prop, const char *key, PointerRNA *r_ptr, int *r_index);
493
502
507 PropertyRNA *prop,
508 int key,
509 const PointerRNA *assign_ptr);
511
512/* efficient functions to set properties for arrays */
514 PointerRNA *ptr, PropertyRNA *prop, PropertyRNA *itemprop, bool set, RawArray *array);
517 PropertyRNA *prop,
518 const char *propname,
519 void *array,
520 RawPropertyType type,
521 int len);
524 PropertyRNA *prop,
525 const char *propname,
526 void *array,
527 RawPropertyType type,
528 int len);
531
532/* to create ID property groups */
538bool RNA_property_collection_move(PointerRNA *ptr, PropertyRNA *prop, int key, int pos);
539
540/* copy/reset */
542 Main *bmain, PointerRNA *ptr, PointerRNA *fromptr, PropertyRNA *prop, int index);
543bool RNA_property_reset(PointerRNA *ptr, PropertyRNA *prop, int index);
545
546/* Quick name based property access
547 *
548 * These are just an easier way to access property values without having to
549 * call RNA_struct_find_property. The names have to exist as RNA properties
550 * for the type in the pointer, if they do not exist an error will be printed.
551 *
552 * There is no support for pointers and collections here yet, these can be
553 * added when ID properties support them. */
554
555bool RNA_boolean_get(PointerRNA *ptr, const char *name);
556void RNA_boolean_set(PointerRNA *ptr, const char *name, bool value);
557void RNA_boolean_get_array(PointerRNA *ptr, const char *name, bool *values);
558void RNA_boolean_set_array(PointerRNA *ptr, const char *name, const bool *values);
559
560int RNA_int_get(PointerRNA *ptr, const char *name);
561void RNA_int_set(PointerRNA *ptr, const char *name, int value);
562void RNA_int_get_array(PointerRNA *ptr, const char *name, int *values);
563void RNA_int_set_array(PointerRNA *ptr, const char *name, const int *values);
564
565float RNA_float_get(PointerRNA *ptr, const char *name);
566void RNA_float_set(PointerRNA *ptr, const char *name, float value);
567void RNA_float_get_array(PointerRNA *ptr, const char *name, float *values);
568void RNA_float_set_array(PointerRNA *ptr, const char *name, const float *values);
569
570int RNA_enum_get(PointerRNA *ptr, const char *name);
571void RNA_enum_set(PointerRNA *ptr, const char *name, int value);
572void RNA_enum_set_identifier(bContext *C, PointerRNA *ptr, const char *name, const char *id);
573bool RNA_enum_is_equal(bContext *C, PointerRNA *ptr, const char *name, const char *enumname);
574
575/* Lower level functions that don't use a PointerRNA. */
576bool RNA_enum_value_from_id(const EnumPropertyItem *item, const char *identifier, int *r_value);
577bool RNA_enum_id_from_value(const EnumPropertyItem *item, int value, const char **r_identifier);
578bool RNA_enum_icon_from_value(const EnumPropertyItem *item, int value, int *r_icon);
579bool RNA_enum_name_from_value(const EnumPropertyItem *item, int value, const char **r_name);
580
581void RNA_string_get(PointerRNA *ptr, const char *name, char *value);
583 const char *name,
584 char *fixedbuf,
585 int fixedlen,
586 int *r_len) ATTR_WARN_UNUSED_RESULT;
587int RNA_string_length(PointerRNA *ptr, const char *name);
588void RNA_string_set(PointerRNA *ptr, const char *name, const char *value);
589
593PointerRNA RNA_pointer_get(PointerRNA *ptr, const char *name);
594/* Set the property name of PointerRNA ptr to ptr_value */
595void RNA_pointer_set(PointerRNA *ptr, const char *name, PointerRNA ptr_value);
596void RNA_pointer_add(PointerRNA *ptr, const char *name);
597
598void RNA_collection_begin(PointerRNA *ptr, const char *name, CollectionPropertyIterator *iter);
599int RNA_collection_length(PointerRNA *ptr, const char *name);
600bool RNA_collection_is_empty(PointerRNA *ptr, const char *name);
601void RNA_collection_add(PointerRNA *ptr, const char *name, PointerRNA *r_value);
602void RNA_collection_clear(PointerRNA *ptr, const char *name);
603
604#define RNA_BEGIN(sptr, itemptr, propname) \
605 { \
606 CollectionPropertyIterator rna_macro_iter; \
607 for (RNA_collection_begin(sptr, propname, &rna_macro_iter); rna_macro_iter.valid; \
608 RNA_property_collection_next(&rna_macro_iter)) \
609 { \
610 PointerRNA itemptr = rna_macro_iter.ptr;
611
612#define RNA_END \
613 } \
614 RNA_property_collection_end(&rna_macro_iter); \
615 } \
616 ((void)0)
617
618#define RNA_PROP_BEGIN(sptr, itemptr, prop) \
619 { \
620 CollectionPropertyIterator rna_macro_iter; \
621 for (RNA_property_collection_begin(sptr, prop, &rna_macro_iter); rna_macro_iter.valid; \
622 RNA_property_collection_next(&rna_macro_iter)) \
623 { \
624 PointerRNA itemptr = rna_macro_iter.ptr;
625
626#define RNA_PROP_END \
627 } \
628 RNA_property_collection_end(&rna_macro_iter); \
629 } \
630 ((void)0)
631
632#define RNA_STRUCT_BEGIN(sptr, prop) \
633 { \
634 CollectionPropertyIterator rna_macro_iter; \
635 for (RNA_property_collection_begin( \
636 sptr, RNA_struct_iterator_property((sptr)->type), &rna_macro_iter); \
637 rna_macro_iter.valid; \
638 RNA_property_collection_next(&rna_macro_iter)) \
639 { \
640 PropertyRNA *prop = (PropertyRNA *)rna_macro_iter.ptr.data;
641
642#define RNA_STRUCT_BEGIN_SKIP_RNA_TYPE(sptr, prop) \
643 { \
644 CollectionPropertyIterator rna_macro_iter; \
645 RNA_property_collection_begin( \
646 sptr, RNA_struct_iterator_property((sptr)->type), &rna_macro_iter); \
647 if (rna_macro_iter.valid) { \
648 RNA_property_collection_next(&rna_macro_iter); \
649 } \
650 for (; rna_macro_iter.valid; RNA_property_collection_next(&rna_macro_iter)) { \
651 PropertyRNA *prop = (PropertyRNA *)rna_macro_iter.ptr.data;
652
653#define RNA_STRUCT_END \
654 } \
655 RNA_property_collection_end(&rna_macro_iter); \
656 } \
657 ((void)0)
658
672bool RNA_property_is_set_ex(PointerRNA *ptr, PropertyRNA *prop, bool use_ghost);
676bool RNA_struct_property_is_set_ex(PointerRNA *ptr, const char *identifier, bool use_ghost);
677bool RNA_struct_property_is_set(PointerRNA *ptr, const char *identifier);
678bool RNA_property_is_idprop(const PropertyRNA *prop);
683void RNA_struct_property_unset(PointerRNA *ptr, const char *identifier);
684
688std::string RNA_property_as_string(
689 bContext *C, PointerRNA *ptr, PropertyRNA *prop, int index, int max_prop_length);
695std::optional<std::string> RNA_pointer_as_string(bContext *C,
697 PropertyRNA *prop_ptr,
698 PointerRNA *ptr_prop);
704 bool as_function,
705 bool all_args,
706 bool nested_args,
707 int max_prop_length,
708 PropertyRNA *iterprop);
711 bool as_function,
712 bool all_args,
713 bool nested_args,
714 int max_prop_length);
716 bContext *C, FunctionRNA *func, bool as_function, bool all_args, int max_prop_length);
717
718/* Function */
719
720const char *RNA_function_identifier(FunctionRNA *func);
725
728 FunctionRNA *func,
729 const char *identifier);
731
732/* Utility */
733
735
738int RNA_parameter_list_size(const ParameterList *parms);
741
745
746void RNA_parameter_get(ParameterList *parms, PropertyRNA *parm, void **r_value);
747void RNA_parameter_get_lookup(ParameterList *parms, const char *identifier, void **r_value);
748void RNA_parameter_set(ParameterList *parms, PropertyRNA *parm, const void *value);
749void RNA_parameter_set_lookup(ParameterList *parms, const char *identifier, const void *value);
750
751/* Only for PROP_DYNAMIC properties! */
752
755void RNA_parameter_dynamic_length_set(ParameterList *parms, PropertyRNA *parm, int length);
757 PropertyRNA *parm,
758 void *data,
759 int length);
760
762 bContext *C, ReportList *reports, PointerRNA *ptr, FunctionRNA *func, ParameterList *parms);
763
764const char *RNA_translate_ui_text(
765 const char *text, const char *text_ctxt, StructRNA *type, PropertyRNA *prop, int translate);
766
767/* ID */
768
771
772#define RNA_POINTER_INVALIDATE(ptr) \
773 { \
774 /* this is checked for validity */ \
775 (ptr)->type = NULL; /* should not be needed but prevent bad pointer access, just in case */ \
776 (ptr)->owner_id = NULL; \
777 } \
778 (void)0
779
780/* macro which inserts the function name */
781#if defined __GNUC__
782# define RNA_warning(format, args...) _RNA_warning("%s: " format "\n", __func__, ##args)
783#elif defined(_MSVC_TRADITIONAL) && \
784 !_MSVC_TRADITIONAL /* The "new preprocessor" is enabled via `/Zc:preprocessor`. */
785# define RNA_warning(format, ...) _RNA_warning("%s: " format "\n", __FUNCTION__, ##__VA_ARGS__)
786#else
787# define RNA_warning(format, ...) _RNA_warning("%s: " format "\n", __FUNCTION__, __VA_ARGS__)
788#endif
789
791void _RNA_warning(const char *format, ...) ATTR_PRINTF_FORMAT(1, 2);
792
793/* Equals test. */
794
800 /* Only care about equality, not full comparison. */
809};
810
812 Main *bmain, PointerRNA *ptr_a, PointerRNA *ptr_b, PropertyRNA *prop, eRNACompareMode mode);
813bool RNA_struct_equals(Main *bmain, PointerRNA *ptr_a, PointerRNA *ptr_b, eRNACompareMode mode);
814
815/* Override. */
816
832
850
862
863
874 PointerRNA *ptr_local,
875 PointerRNA *ptr_reference,
876 const char *root_path,
877 size_t root_path_len,
878 IDOverrideLibrary *liboverride,
879 eRNAOverrideMatch flags,
880 eRNAOverrideMatchResult *r_report_flags);
881
887 PointerRNA *ptr_local,
888 PointerRNA *ptr_reference,
889 PointerRNA *ptr_storage,
890 IDOverrideLibrary *liboverride);
891
906
916 PointerRNA *id_ptr_dst,
917 PointerRNA *id_ptr_src,
918 PointerRNA *id_ptr_storage,
919 IDOverrideLibrary *liboverride,
921
924 PropertyRNA *prop,
925 ID **r_owner_id);
928 PropertyRNA *prop,
929 bool *r_created);
930
932 Main *bmain, PointerRNA *ptr, PropertyRNA *prop, int index, bool strict, bool *r_strict);
935 PropertyRNA *prop,
936 short operation,
937 int index,
938 bool strict,
939 bool *r_strict,
940 bool *r_created);
941
944 PropertyRNA *prop,
945 int index);
946
947void RNA_struct_state_owner_set(const char *name);
948const char *RNA_struct_state_owner_get();
949
950#endif /* __RNA_ACCESS_H__ */
#define ATTR_WARN_UNUSED_RESULT
#define ATTR_PRINTF_FORMAT(format_param, dots_param)
#define ATTR_NONNULL(...)
#define ENUM_OPERATORS(_type, _max)
StructUnregisterFunc RNA_struct_unregister(StructRNA *type)
float RNA_property_float_get(PointerRNA *ptr, PropertyRNA *prop)
bool RNA_property_is_runtime(const PropertyRNA *prop)
bool RNA_property_collection_lookup_int_has_fn(PropertyRNA *prop)
void RNA_boolean_set_array(PointerRNA *ptr, const char *name, const bool *values)
bool RNA_property_enum_value(bContext *C, PointerRNA *ptr, PropertyRNA *prop, const char *identifier, int *r_value)
StructRegisterFunc RNA_struct_register(StructRNA *type)
void RNA_property_float_get_default_array(PointerRNA *ptr, PropertyRNA *prop, float *values)
void RNA_parameter_list_end(ParameterIterator *iter)
void RNA_int_set_array(PointerRNA *ptr, const char *name, const int *values)
const char * RNA_property_ui_name_raw(const PropertyRNA *prop)
void RNA_property_boolean_set_index(PointerRNA *ptr, PropertyRNA *prop, int index, bool value)
void RNA_property_int_set(PointerRNA *ptr, PropertyRNA *prop, int value)
const StructRNA * RNA_struct_base_child_of(const StructRNA *type, const StructRNA *parent_type)
void RNA_property_int_ui_range(PointerRNA *ptr, PropertyRNA *prop, int *softmin, int *softmax, int *step)
PropertyRNA * RNA_struct_type_find_property(StructRNA *srna, const char *identifier)
const char * RNA_property_ui_description(const PropertyRNA *prop)
bool RNA_property_update_check(PropertyRNA *prop)
bool RNA_property_array_check(PropertyRNA *prop)
bool RNA_struct_is_a(const StructRNA *type, const StructRNA *srna)
PropertyRNA * RNA_struct_find_collection_property_check(PointerRNA &props, const char *name, const StructRNA *struct_type_check)
bool RNA_property_is_unlink(PropertyRNA *prop)
std::string RNA_pointer_as_string_id(bContext *C, PointerRNA *ptr)
void RNA_parameter_get(ParameterList *parms, PropertyRNA *parm, void **r_value)
StructRNA * RNA_struct_find(const char *identifier)
void RNA_property_float_get_array(PointerRNA *ptr, PropertyRNA *prop, float *values)
bool RNA_property_assign_default(PointerRNA *ptr, PropertyRNA *prop)
const char * RNA_function_identifier(FunctionRNA *func)
char * RNA_property_string_get_alloc(PointerRNA *ptr, PropertyRNA *prop, char *fixedbuf, int fixedlen, int *r_len) ATTR_WARN_UNUSED_RESULT
bool RNA_property_anim_editable(const PointerRNA *ptr, PropertyRNA *prop)
PropertyScaleType RNA_property_ui_scale(PropertyRNA *prop)
void RNA_struct_state_owner_set(const char *name)
bool RNA_property_int_set_default(PropertyRNA *prop, int value)
void RNA_struct_py_type_set(StructRNA *srna, void *py_type)
void RNA_int_get_array(PointerRNA *ptr, const char *name, int *values)
bool RNA_property_path_from_ID_check(PointerRNA *ptr, PropertyRNA *prop)
bool RNA_property_boolean_get_default_index(PointerRNA *ptr, PropertyRNA *prop, int index)
void RNA_property_enum_items_ex(bContext *C, PointerRNA *ptr, PropertyRNA *prop, bool use_static, const EnumPropertyItem **r_item, int *r_totitem, bool *r_free)
bool RNA_enum_identifier(const EnumPropertyItem *item, int value, const char **r_identifier)
IDProperty ** RNA_struct_idprops_p(PointerRNA *ptr)
bool RNA_property_float_set_default(PropertyRNA *prop, float value)
void RNA_string_set(PointerRNA *ptr, const char *name, const char *value)
const char * RNA_translate_ui_text(const char *text, const char *text_ctxt, StructRNA *type, PropertyRNA *prop, int translate)
PointerRNA RNA_pointer_get(PointerRNA *ptr, const char *name)
int RNA_collection_length(PointerRNA *ptr, const char *name)
int RNA_enum_from_name(const EnumPropertyItem *item, const char *name)
int RNA_property_int_clamp(PointerRNA *ptr, PropertyRNA *prop, int *value)
int RNA_property_float_clamp(PointerRNA *ptr, PropertyRNA *prop, float *value)
IDOverrideLibraryProperty * RNA_property_override_property_find(Main *bmain, PointerRNA *ptr, PropertyRNA *prop, ID **r_owner_id)
int RNA_property_int_get_default(PointerRNA *ptr, PropertyRNA *prop)
void RNA_pointer_set(PointerRNA *ptr, const char *name, PointerRNA ptr_value)
void RNA_boolean_get_array(PointerRNA *ptr, const char *name, bool *values)
bool RNA_struct_available_or_report(ReportList *reports, const char *identifier)
bool RNA_enum_is_equal(bContext *C, PointerRNA *ptr, const char *name, const char *enumname)
PropertyRNA * RNA_struct_find_property_check(PointerRNA &props, const char *name, const PropertyType property_type_check)
int RNA_property_enum_bitflag_identifiers(bContext *C, PointerRNA *ptr, PropertyRNA *prop, int value, const char **identifier)
bool RNA_struct_is_ID(const StructRNA *type)
PropertyRNA * RNA_function_get_parameter(PointerRNA *ptr, FunctionRNA *func, int index)
int RNA_property_int_get_index(PointerRNA *ptr, PropertyRNA *prop, int index)
void RNA_property_float_ui_range(PointerRNA *ptr, PropertyRNA *prop, float *softmin, float *softmax, float *step, float *precision)
const ListBase * RNA_struct_type_properties(StructRNA *srna)
void RNA_property_float_set_index(PointerRNA *ptr, PropertyRNA *prop, int index, float value)
bool RNA_enum_value_from_id(const EnumPropertyItem *item, const char *identifier, int *r_value)
const ListBase * RNA_struct_type_functions(StructRNA *srna)
eStringPropertySearchFlag RNA_property_string_search_flag(PropertyRNA *prop)
bool RNA_property_collection_is_empty(PointerRNA *ptr, PropertyRNA *prop)
bool RNA_property_animateable(const PointerRNA *ptr, PropertyRNA *prop)
PropertyUnit RNA_property_unit(PropertyRNA *prop)
void RNA_struct_blender_type_set(StructRNA *srna, void *blender_type)
IDOverrideLibraryProperty * RNA_property_override_property_get(Main *bmain, PointerRNA *ptr, PropertyRNA *prop, bool *r_created)
int RNA_function_defined(FunctionRNA *func)
int RNA_property_ui_icon(const PropertyRNA *prop)
eRNAOverrideStatus
@ RNA_OVERRIDE_STATUS_OVERRIDABLE
@ RNA_OVERRIDE_STATUS_MANDATORY
@ RNA_OVERRIDE_STATUS_OVERRIDDEN
@ RNA_OVERRIDE_STATUS_LOCKED
void RNA_parameter_dynamic_length_set_data(ParameterList *parms, PropertyRNA *parm, void *data, int length)
bool RNA_struct_equals(Main *bmain, PointerRNA *ptr_a, PointerRNA *ptr_b, eRNACompareMode mode)
int RNA_property_collection_lookup_index(PointerRNA *ptr, PropertyRNA *prop, const PointerRNA *t_ptr)
void RNA_collection_clear(PointerRNA *ptr, const char *name)
bool RNA_property_reset(PointerRNA *ptr, PropertyRNA *prop, int index)
void RNA_parameter_dynamic_length_set(ParameterList *parms, PropertyRNA *parm, int length)
StructRNA * RNA_property_pointer_type(PointerRNA *ptr, PropertyRNA *prop)
bool RNA_property_enum_name_gettexted(bContext *C, PointerRNA *ptr, PropertyRNA *prop, int value, const char **r_name)
PropertyRNA * RNA_struct_find_property(PointerRNA *ptr, const char *identifier)
bool RNA_collection_is_empty(PointerRNA *ptr, const char *name)
float RNA_property_float_get_index(PointerRNA *ptr, PropertyRNA *prop, int index)
void RNA_property_string_search(const bContext *C, PointerRNA *ptr, PropertyRNA *prop, const char *edit_text, blender::FunctionRef< void(StringPropertySearchVisitParams)> visit_fn)
short RNA_type_to_ID_code(const StructRNA *type)
void RNA_boolean_set(PointerRNA *ptr, const char *name, bool value)
const EnumPropertyItem * RNA_struct_property_tag_defines(const StructRNA *type)
PropertyRNA * RNA_function_find_parameter(PointerRNA *ptr, FunctionRNA *func, const char *identifier)
void RNA_property_collection_skip(CollectionPropertyIterator *iter, int num)
int RNA_property_string_default_length(PointerRNA *ptr, PropertyRNA *prop)
float RNA_property_float_get_default_index(PointerRNA *ptr, PropertyRNA *prop, int index)
void RNA_pointer_add(PointerRNA *ptr, const char *name)
bool RNA_property_collection_lookup_string_has_nameprop(PropertyRNA *prop)
int RNA_enum_from_identifier(const EnumPropertyItem *item, const char *identifier)
bool RNA_property_enum_identifier(bContext *C, PointerRNA *ptr, PropertyRNA *prop, int value, const char **r_identifier)
bool RNA_path_resolved_create(PointerRNA *ptr, PropertyRNA *prop, int prop_index, PathResolvedRNA *r_anim_rna)
int RNA_property_collection_raw_get(ReportList *reports, PointerRNA *ptr, PropertyRNA *prop, const char *propname, void *array, RawPropertyType type, int len)
int RNA_property_multi_array_length(PointerRNA *ptr, PropertyRNA *prop, int dimension)
bool RNA_property_is_set_ex(PointerRNA *ptr, PropertyRNA *prop, bool use_ghost)
bool RNA_property_editable_index(const PointerRNA *ptr, PropertyRNA *prop, const int index)
int RNA_property_enum_get_default(PointerRNA *ptr, PropertyRNA *prop)
const char * RNA_property_ui_description_raw(const PropertyRNA *prop)
void RNA_property_string_get_default(PropertyRNA *prop, char *value, int value_maxncpy)
bool RNA_property_collection_lookup_string_supported(PropertyRNA *prop)
void RNA_parameter_set(ParameterList *parms, PropertyRNA *parm, const void *value)
bool RNA_struct_property_is_set_ex(PointerRNA *ptr, const char *identifier, bool use_ghost)
bool RNA_property_is_set(PointerRNA *ptr, PropertyRNA *prop)
const char * RNA_property_description(PropertyRNA *prop)
eRNAOverrideApplyFlag
@ RNA_OVERRIDE_APPLY_FLAG_IGNORE_ID_POINTERS
@ RNA_OVERRIDE_APPLY_FLAG_SKIP_RESYNC_CHECK
@ RNA_OVERRIDE_APPLY_FLAG_NOP
@ RNA_OVERRIDE_APPLY_FLAG_RESTORE_ONLY
bool RNA_enum_icon_from_value(const EnumPropertyItem *item, int value, int *r_icon)
BlenderRNA BLENDER_RNA
void RNA_property_float_range(PointerRNA *ptr, PropertyRNA *prop, float *hardmin, float *hardmax)
void RNA_property_boolean_get_array(PointerRNA *ptr, PropertyRNA *prop, bool *values)
PropertyType RNA_property_type(PropertyRNA *prop)
const char * RNA_function_ui_description_raw(FunctionRNA *func)
eRNAOverrideStatus RNA_property_override_library_status(Main *bmain, PointerRNA *ptr, PropertyRNA *prop, int index)
PointerRNA void RNA_property_pointer_set(PointerRNA *ptr, PropertyRNA *prop, PointerRNA ptr_value, ReportList *reports) ATTR_NONNULL(1
void RNA_property_pointer_add(PointerRNA *ptr, PropertyRNA *prop)
void RNA_int_set(PointerRNA *ptr, const char *name, int value)
void RNA_property_enum_set(PointerRNA *ptr, PropertyRNA *prop, int value)
void * RNA_struct_blender_type_get(StructRNA *srna)
void ** RNA_struct_instance(PointerRNA *ptr)
char RNA_property_array_item_char(PropertyRNA *prop, int index)
int RNA_property_enum_step(const bContext *C, PointerRNA *ptr, PropertyRNA *prop, int from_value, int step)
void RNA_parameter_list_free(ParameterList *parms)
bool RNA_struct_contains_property(PointerRNA *ptr, PropertyRNA *prop_test)
IDProperty * RNA_struct_idprops(PointerRNA *ptr, bool create)
bool RNA_struct_override_matches(Main *bmain, PointerRNA *ptr_local, PointerRNA *ptr_reference, const char *root_path, size_t root_path_len, IDOverrideLibrary *liboverride, eRNAOverrideMatch flags, eRNAOverrideMatchResult *r_report_flags)
void RNA_float_get_array(PointerRNA *ptr, const char *name, float *values)
void RNA_property_update(bContext *C, PointerRNA *ptr, PropertyRNA *prop)
bool RNA_property_overridable_library_set(PointerRNA *ptr, PropertyRNA *prop, bool is_overridable)
unsigned int RNA_struct_count_properties(StructRNA *srna)
int RNA_property_int_get_default_index(PointerRNA *ptr, PropertyRNA *prop, int index)
size_t RNA_raw_type_sizeof(RawPropertyType type)
bool RNA_property_boolean_get(PointerRNA *ptr, PropertyRNA *prop)
void _RNA_warning(const char *format,...) ATTR_PRINTF_FORMAT(1
void RNA_property_float_get_array_range(PointerRNA *ptr, PropertyRNA *prop, float values[2])
IDOverrideLibraryPropertyOperation * RNA_property_override_property_operation_get(Main *bmain, PointerRNA *ptr, PropertyRNA *prop, short operation, int index, bool strict, bool *r_strict, bool *r_created)
void RNA_property_boolean_get_default_array(PointerRNA *ptr, PropertyRNA *prop, bool *values)
const char * RNA_struct_identifier(const StructRNA *type)
bool RNA_struct_idprops_contains_datablock(const StructRNA *type)
void RNA_property_int_set_index(PointerRNA *ptr, PropertyRNA *prop, int index, int value)
unsigned int RNA_enum_items_count(const EnumPropertyItem *item)
PointerRNA RNA_property_pointer_get(PointerRNA *ptr, PropertyRNA *prop) ATTR_NONNULL(1
void RNA_property_enum_items_gettexted(bContext *C, PointerRNA *ptr, PropertyRNA *prop, const EnumPropertyItem **r_item, int *r_totitem, bool *r_free)
bool RNA_enum_id_from_value(const EnumPropertyItem *item, int value, const char **r_identifier)
int RNA_property_int_get(PointerRNA *ptr, PropertyRNA *prop)
bool RNA_struct_override_store(Main *bmain, PointerRNA *ptr_local, PointerRNA *ptr_reference, PointerRNA *ptr_storage, IDOverrideLibrary *liboverride)
const char * RNA_property_translation_context(const PropertyRNA *prop)
void RNA_property_collection_next(CollectionPropertyIterator *iter)
void RNA_collection_add(PointerRNA *ptr, const char *name, PointerRNA *r_value)
void RNA_parameter_list_next(ParameterIterator *iter)
int RNA_property_override_flag(PropertyRNA *prop)
void RNA_enum_set_identifier(bContext *C, PointerRNA *ptr, const char *name, const char *id)
void RNA_string_get(PointerRNA *ptr, const char *name, char *value)
char * RNA_struct_name_get_alloc(PointerRNA *ptr, char *fixedbuf, int fixedlen, int *r_len) ATTR_WARN_UNUSED_RESULT
const char * RNA_function_ui_description(FunctionRNA *func)
int RNA_enum_bitflag_identifiers(const EnumPropertyItem *item, int value, const char **r_identifier)
void RNA_struct_override_apply(Main *bmain, PointerRNA *id_ptr_dst, PointerRNA *id_ptr_src, PointerRNA *id_ptr_storage, IDOverrideLibrary *liboverride, eRNAOverrideApplyFlag flag)
int RNA_int_get(PointerRNA *ptr, const char *name)
char * RNA_string_get_alloc(PointerRNA *ptr, const char *name, char *fixedbuf, int fixedlen, int *r_len) ATTR_WARN_UNUSED_RESULT
int RNA_property_array_dimension(const PointerRNA *ptr, PropertyRNA *prop, int length[])
bool RNA_enum_value_from_identifier(const EnumPropertyItem *item, const char *identifier, int *r_value)
bool RNA_enum_name_from_value(const EnumPropertyItem *item, int value, const char **r_name)
std::string RNA_pointer_as_string_keywords(bContext *C, PointerRNA *ptr, bool as_function, bool all_args, bool nested_args, int max_prop_length)
IDOverrideLibraryPropertyOperation * RNA_property_override_property_operation_find(Main *bmain, PointerRNA *ptr, PropertyRNA *prop, int index, bool strict, bool *r_strict)
PropertyRNA * RNA_struct_type_find_property_no_base(StructRNA *srna, const char *identifier)
std::string RNA_pointer_as_string_keywords_ex(bContext *C, PointerRNA *ptr, bool as_function, bool all_args, bool nested_args, int max_prop_length, PropertyRNA *iterprop)
eRNAOverrideMatch
@ RNA_OVERRIDE_COMPARE_IGNORE_OVERRIDDEN
@ RNA_OVERRIDE_COMPARE_CREATE
@ RNA_OVERRIDE_COMPARE_IGNORE_NON_OVERRIDABLE
@ RNA_OVERRIDE_COMPARE_RESTORE
@ RNA_OVERRIDE_COMPARE_TAG_FOR_RESTORE
int RNA_function_flag(FunctionRNA *func)
void * RNA_property_py_data_get(PropertyRNA *prop)
void RNA_property_update_main(Main *bmain, Scene *scene, PointerRNA *ptr, PropertyRNA *prop)
float RNA_property_float_get_default(PointerRNA *ptr, PropertyRNA *prop)
bool RNA_property_pointer_poll(PointerRNA *ptr, PropertyRNA *prop, PointerRNA *value)
PointerRNA void PointerRNA void RNA_property_collection_begin(PointerRNA *ptr, PropertyRNA *prop, CollectionPropertyIterator *iter)
int RNA_property_flag(PropertyRNA *prop)
RawPropertyType RNA_property_raw_type(PropertyRNA *prop)
bool RNA_property_comparable(PointerRNA *ptr, PropertyRNA *prop)
const char * RNA_struct_ui_description_raw(const StructRNA *type)
char * RNA_property_string_get_default_alloc(PointerRNA *ptr, PropertyRNA *prop, char *fixedbuf, int fixedlen, int *r_len) ATTR_WARN_UNUSED_RESULT
int RNA_struct_ui_icon(const StructRNA *type)
void RNA_property_boolean_set(PointerRNA *ptr, PropertyRNA *prop, bool value)
float RNA_float_get(PointerRNA *ptr, const char *name)
bool RNA_property_builtin(PropertyRNA *prop)
void RNA_property_int_get_array_range(PointerRNA *ptr, PropertyRNA *prop, int values[2])
const char * RNA_struct_ui_description(const StructRNA *type)
bool RNA_enum_description(const EnumPropertyItem *item, int value, const char **r_description)
int RNA_parameter_list_arg_count(const ParameterList *parms)
bool RNA_property_collection_lookup_int(PointerRNA *ptr, PropertyRNA *prop, int key, PointerRNA *r_ptr)
bool RNA_struct_idprops_register_check(const StructRNA *type)
void RNA_parameter_set_lookup(ParameterList *parms, const char *identifier, const void *value)
void RNA_property_string_set_bytes(PointerRNA *ptr, PropertyRNA *prop, const char *value, int len)
void RNA_float_set(PointerRNA *ptr, const char *name, float value)
bool RNA_property_enum_name(bContext *C, PointerRNA *ptr, PropertyRNA *prop, int value, const char **r_name)
int RNA_string_length(PointerRNA *ptr, const char *name)
const char * RNA_struct_ui_name(const StructRNA *type)
bool RNA_struct_undo_check(const StructRNA *type)
void RNA_collection_begin(PointerRNA *ptr, const char *name, CollectionPropertyIterator *iter)
void RNA_struct_property_unset(PointerRNA *ptr, const char *identifier)
void RNA_property_collection_add(PointerRNA *ptr, PropertyRNA *prop, PointerRNA *r_ptr)
bool RNA_pointer_is_null(const PointerRNA *ptr)
int RNA_property_array_length(PointerRNA *ptr, PropertyRNA *prop)
ParameterList * RNA_parameter_list_create(ParameterList *parms, PointerRNA *ptr, FunctionRNA *func)
const char * RNA_property_ui_name(const PropertyRNA *prop)
StructRNA * RNA_struct_base(StructRNA *type)
FunctionRNA * RNA_struct_find_function(StructRNA *srna, const char *identifier)
bool RNA_property_is_idprop(const PropertyRNA *prop)
int RNA_property_string_maxlength(PropertyRNA *prop)
void RNA_property_enum_items_gettexted_all(bContext *C, PointerRNA *ptr, PropertyRNA *prop, const EnumPropertyItem **r_item, int *r_totitem, bool *r_free)
const char * RNA_struct_state_owner_get()
std::optional< std::string > RNA_pointer_as_string(bContext *C, PointerRNA *ptr, PropertyRNA *prop_ptr, PointerRNA *ptr_prop)
bool RNA_struct_idprops_datablock_allowed(const StructRNA *type)
bool RNA_property_editable(const PointerRNA *ptr, PropertyRNA *prop)
bool RNA_property_enum_item_from_value(bContext *C, PointerRNA *ptr, PropertyRNA *prop, int value, EnumPropertyItem *r_item)
bool RNA_property_collection_lookup_string_index(PointerRNA *ptr, PropertyRNA *prop, const char *key, PointerRNA *r_ptr, int *r_index)
void RNA_property_float_set_array(PointerRNA *ptr, PropertyRNA *prop, const float *values)
void RNA_property_int_set_array(PointerRNA *ptr, PropertyRNA *prop, const int *values)
void RNA_property_int_get_default_array(PointerRNA *ptr, PropertyRNA *prop, int *values)
bool RNA_property_editable_info(const PointerRNA *ptr, PropertyRNA *prop, const char **r_info)
int RNA_property_enum_get(PointerRNA *ptr, PropertyRNA *prop)
PointerRNA RNA_pointer_recast(PointerRNA *ptr)
void RNA_property_float_set(PointerRNA *ptr, PropertyRNA *prop, float value)
PropertyRNA * RNA_struct_name_property(const StructRNA *type)
eRNACompareMode
@ RNA_EQ_UNSET_MATCH_ANY
@ RNA_EQ_STRICT
@ RNA_EQ_COMPARE
@ RNA_EQ_UNSET_MATCH_NONE
std::string RNA_property_string_get(PointerRNA *ptr, PropertyRNA *prop)
void RNA_property_int_get_array(PointerRNA *ptr, PropertyRNA *prop, int *values)
bool RNA_property_collection_move(PointerRNA *ptr, PropertyRNA *prop, int key, int pos)
StructRNA * ID_code_to_RNA_type(short idcode)
PropertySubType RNA_property_subtype(PropertyRNA *prop)
bool RNA_property_overridden(PointerRNA *ptr, PropertyRNA *prop)
bool RNA_struct_property_is_set(PointerRNA *ptr, const char *identifier)
bool RNA_property_overridable_get(const PointerRNA *ptr, PropertyRNA *prop)
int RNA_parameter_list_ret_count(const ParameterList *parms)
PointerRNA RNA_main_pointer_create(Main *main)
void RNA_property_int_range(PointerRNA *ptr, PropertyRNA *prop, int *hardmin, int *hardmax)
int RNA_enum_from_value(const EnumPropertyItem *item, int value)
bool RNA_struct_idprops_unset(PointerRNA *ptr, const char *identifier)
bool RNA_boolean_get(PointerRNA *ptr, const char *name)
int RNA_function_call(bContext *C, ReportList *reports, PointerRNA *ptr, FunctionRNA *func, ParameterList *parms)
int RNA_parameter_dynamic_length_get(ParameterList *parms, PropertyRNA *parm)
const char * RNA_struct_ui_name_raw(const StructRNA *type)
bool RNA_property_collection_lookup_string(PointerRNA *ptr, PropertyRNA *prop, const char *key, PointerRNA *r_ptr)
void RNA_property_enum_items(bContext *C, PointerRNA *ptr, PropertyRNA *prop, const EnumPropertyItem **r_item, int *r_totitem, bool *r_free)
bool RNA_property_driver_editable(const PointerRNA *ptr, PropertyRNA *prop)
void RNA_property_collection_clear(PointerRNA *ptr, PropertyRNA *prop)
int RNA_property_tags(PropertyRNA *prop)
PointerRNA void PointerRNA RNA_property_pointer_get_default(PointerRNA *ptr, PropertyRNA *prop) ATTR_NONNULL(1
bool RNA_property_collection_type_get(PointerRNA *ptr, PropertyRNA *prop, PointerRNA *r_ptr)
void RNA_property_collection_end(CollectionPropertyIterator *iter)
bool RNA_property_collection_lookup_string_has_fn(PropertyRNA *prop)
bool RNA_struct_idprops_check(StructRNA *srna)
void RNA_enum_set(PointerRNA *ptr, const char *name, int value)
void RNA_float_set_array(PointerRNA *ptr, const char *name, const float *values)
int RNA_property_array_item_index(PropertyRNA *prop, char name)
PointerRNA RNA_blender_rna_pointer_create()
PointerRNA RNA_pointer_create(ID *id, StructRNA *type, void *data)
bool RNA_property_boolean_get_index(PointerRNA *ptr, PropertyRNA *prop, int index)
bool RNA_property_boolean_get_default(PointerRNA *ptr, PropertyRNA *prop)
bool RNA_struct_bl_idname_ok_or_report(ReportList *reports, const char *identifier, const char *sep)
bool RNA_property_collection_remove(PointerRNA *ptr, PropertyRNA *prop, int key)
int RNA_enum_get(PointerRNA *ptr, const char *name)
bool RNA_property_enum_item_from_value_gettexted(bContext *C, PointerRNA *ptr, PropertyRNA *prop, int value, EnumPropertyItem *r_item)
std::string RNA_function_as_string_keywords(bContext *C, FunctionRNA *func, bool as_function, bool all_args, int max_prop_length)
void RNA_property_unset(PointerRNA *ptr, PropertyRNA *prop)
bool RNA_enum_name(const EnumPropertyItem *item, int value, const char **r_name)
eRNAOverrideMatchResult
@ RNA_OVERRIDE_MATCH_RESULT_RESTORED
@ RNA_OVERRIDE_MATCH_RESULT_RESTORE_TAGGED
@ RNA_OVERRIDE_MATCH_RESULT_CREATED
@ RNA_OVERRIDE_MATCH_RESULT_INIT
void RNA_parameter_list_begin(ParameterList *parms, ParameterIterator *iter)
int RNA_parameter_dynamic_length_get_data(ParameterList *parms, PropertyRNA *parm, void *data)
void RNA_property_pointer_remove(PointerRNA *ptr, PropertyRNA *prop)
std::string RNA_property_as_string(bContext *C, PointerRNA *ptr, PropertyRNA *prop, int index, int max_prop_length)
int RNA_property_string_length(PointerRNA *ptr, PropertyRNA *prop)
bool RNA_property_equals(Main *bmain, PointerRNA *ptr_a, PointerRNA *ptr_b, PropertyRNA *prop, eRNACompareMode mode)
PropertyRNA * RNA_struct_iterator_property(StructRNA *type)
int RNA_parameter_list_size(const ParameterList *parms)
int RNA_parameter_flag(PropertyRNA *prop)
void RNA_parameter_get_lookup(ParameterList *parms, const char *identifier, void **r_value)
void * RNA_struct_py_type_get(StructRNA *srna)
bool RNA_property_editable_flag(const PointerRNA *ptr, PropertyRNA *prop)
const char * RNA_struct_translation_context(const StructRNA *type)
int RNA_property_collection_raw_set(ReportList *reports, PointerRNA *ptr, PropertyRNA *prop, const char *propname, void *array, RawPropertyType type, int len)
bool RNA_property_animated(PointerRNA *ptr, PropertyRNA *prop)
const char * RNA_property_identifier(const PropertyRNA *prop)
int RNA_property_collection_raw_array(PointerRNA *ptr, PropertyRNA *prop, PropertyRNA *itemprop, bool set, RawArray *array)
const ListBase * RNA_function_defined_parameters(FunctionRNA *func)
bool RNA_property_collection_assign_int(PointerRNA *ptr, PropertyRNA *prop, int key, const PointerRNA *assign_ptr)
int RNA_property_collection_length(PointerRNA *ptr, PropertyRNA *prop)
void RNA_property_boolean_set_array(PointerRNA *ptr, PropertyRNA *prop, const bool *values)
PointerRNA RNA_id_pointer_create(ID *id)
void RNA_property_string_set(PointerRNA *ptr, PropertyRNA *prop, const char *value)
bool RNA_property_copy(Main *bmain, PointerRNA *ptr, PointerRNA *fromptr, PropertyRNA *prop, int index)
PropertyScaleType
Definition RNA_types.hh:106
eStringPropertySearchFlag
Definition RNA_types.hh:570
PropertyType
Definition RNA_types.hh:64
bool(*)(Main *bmain, StructRNA *type) StructUnregisterFunc
Definition RNA_types.hh:760
PropertyUnit
Definition RNA_types.hh:75
StructRNA *(*)(Main *bmain, ReportList *reports, void *data, const char *identifier, StructValidateFunc validate, StructCallbackFunc call, StructFreeFunc free) StructRegisterFunc
Definition RNA_types.hh:752
RawPropertyType
Definition RNA_types.hh:471
PropertySubType
Definition RNA_types.hh:135
int len
format
int main()
Definition DNA_ID.h:413
PointerRNA * ptr
Definition wm_files.cc:4126
uint8_t flag
Definition wm_window.cc:138