42 BLI_assert(index < gz->type->target_property_defs_len);
45 return &gz_prop_array[index];
70 gz_prop->
type = gz_prop_type;
74 gz_prop->
index = index;
86 if (prop ==
nullptr) {
101 gz_prop->
type = gz_prop_type;
129 gz_prop->
type =
nullptr;
132 gz_prop->
prop =
nullptr;
162 return ((gz_prop->
prop !=
nullptr) ||
175 if (gz_prop->
index == -1) {
193 if (gz_prop->
index == -1) {
239 float step, precision;
241 &gz_prop->
ptr, gz_prop->
prop, &range[0], &range[1], &step, &precision);
274 const uint idname_size = strlen(idname) + 1;
277 memcpy(gz_prop_type->
idname, idname, idname_size);
315 value.
owner = region;
316 value.user_data = region;
322 value.
owner = region;
337 if (gz_prop->
prop !=
nullptr) {
339 const float cfra =
float(scene->r.cfra);
340 const int index = gz_prop->
index == -1 ? 0 : gz_prop->
index;
342 C, scene, &gz_prop->
ptr, gz_prop->
prop, index, cfra,
false);
Functions to insert, delete or modify keyframes.
Scene * CTX_data_scene(const bContext *C)
void * BLI_findstring(const struct ListBase *listbase, const char *id, int offset) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL(1)
void BLI_addtail(struct ListBase *listbase, void *vlink) ATTR_NONNULL(1)
int BLI_findstringindex(const struct ListBase *listbase, const char *id, int offset) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL(1)
#define POINTER_OFFSET(v, ofs)
void ED_region_tag_redraw(ARegion *region)
void ED_region_do_msg_notify_tag_redraw(bContext *C, wmMsgSubscribeKey *msg_key, wmMsgSubscribeValue *msg_val)
Read Guarded memory(de)allocation.
#define RNA_warning(format,...)
constexpr PointerRNA PointerRNA_NULL
draw_view in_light_buf[] float
void *(* MEM_callocN)(size_t len, const char *str)
bool autokeyframe_property(bContext *C, Scene *scene, PointerRNA *ptr, PropertyRNA *prop, int rnaindex, float cfra, bool only_if_property_keyed)
float RNA_property_float_get(PointerRNA *ptr, PropertyRNA *prop)
void RNA_property_float_get_array(PointerRNA *ptr, PropertyRNA *prop, float *values)
void RNA_property_float_ui_range(PointerRNA *ptr, PropertyRNA *prop, float *softmin, float *softmax, float *step, float *precision)
void RNA_property_float_set_index(PointerRNA *ptr, PropertyRNA *prop, int index, float value)
PropertyRNA * RNA_struct_find_property(PointerRNA *ptr, const char *identifier)
float RNA_property_float_get_index(PointerRNA *ptr, PropertyRNA *prop, int index)
void RNA_property_update(bContext *C, PointerRNA *ptr, PropertyRNA *prop)
const char * RNA_struct_identifier(const StructRNA *type)
int RNA_property_array_length(PointerRNA *ptr, PropertyRNA *prop)
void RNA_property_float_set_array(PointerRNA *ptr, PropertyRNA *prop, const float *values)
void RNA_property_float_set(PointerRNA *ptr, PropertyRNA *prop, float value)
wmGizmoMap * parent_gzmap
wmGizmoPropertyFnRangeGet range_get_fn
const wmGizmoPropertyType * type
wmGizmoPropertyFnGet value_get_fn
struct wmGizmoProperty::@1373 custom_func
wmGizmoPropertyFnSet value_set_fn
wmGizmoPropertyFnFree free_fn
ListBase target_property_defs
int target_property_defs_len
wmGizmoFnPropertyUpdate property_update
wmGizmoGroup * parent_gzgroup
blender::Vector< wmGizmoOpElem, 4 > op_data
void WM_gizmomap_tag_refresh(wmGizmoMap *gzmap)
void WM_gizmo_target_property_float_set(bContext *C, const wmGizmo *gz, wmGizmoProperty *gz_prop, const float value)
void WM_gizmo_target_property_anim_autokey(bContext *C, const wmGizmo *, wmGizmoProperty *gz_prop)
const wmGizmoPropertyType * WM_gizmotype_target_property_find(const wmGizmoType *gzt, const char *idname)
bool WM_gizmo_target_property_is_valid_any(wmGizmo *gz)
bool WM_gizmo_target_property_is_valid(const wmGizmoProperty *gz_prop)
wmGizmoProperty * WM_gizmo_target_property_array(wmGizmo *gz)
BLI_INLINE wmGizmoProperty * wm_gizmo_target_property_array(wmGizmo *gz)
void WM_gizmo_target_property_float_get_array(const wmGizmo *gz, wmGizmoProperty *gz_prop, float *value)
void WM_gizmo_target_property_clear_rna_ptr(wmGizmo *gz, const wmGizmoPropertyType *gz_prop_type)
int WM_gizmo_target_property_array_length(const wmGizmo *, wmGizmoProperty *gz_prop)
void WM_gizmo_do_msg_notify_tag_refresh(bContext *, wmMsgSubscribeKey *, wmMsgSubscribeValue *msg_val)
void WM_gizmotype_target_property_def(wmGizmoType *gzt, const char *idname, int data_type, int array_length)
void WM_gizmo_target_property_def_func_ptr(wmGizmo *gz, const wmGizmoPropertyType *gz_prop_type, const wmGizmoPropertyFnParams *params)
wmGizmoProperty * WM_gizmo_target_property_at_index(wmGizmo *gz, int index)
void WM_gizmo_target_property_clear_rna(wmGizmo *gz, const char *idname)
void WM_gizmo_target_property_def_rna(wmGizmo *gz, const char *idname, PointerRNA *ptr, const char *propname, int index)
float WM_gizmo_target_property_float_get(const wmGizmo *gz, wmGizmoProperty *gz_prop)
void WM_gizmo_target_property_float_set_array(bContext *C, const wmGizmo *gz, wmGizmoProperty *gz_prop, const float *value)
void WM_gizmo_target_property_subscribe_all(wmGizmo *gz, wmMsgBus *mbus, ARegion *region)
wmGizmoProperty * WM_gizmo_target_property_find(wmGizmo *gz, const char *idname)
void WM_gizmo_target_property_def_rna_ptr(wmGizmo *gz, const wmGizmoPropertyType *gz_prop_type, PointerRNA *ptr, PropertyRNA *prop, int index)
void WM_gizmo_target_property_def_func(wmGizmo *gz, const char *idname, const wmGizmoPropertyFnParams *params)
bool WM_gizmo_target_property_float_range_get(const wmGizmo *gz, wmGizmoProperty *gz_prop, float range[2])
void WM_msg_subscribe_rna(wmMsgBus *mbus, PointerRNA *ptr, const PropertyRNA *prop, const wmMsgSubscribeValue *msg_val_params, const char *id_repr)