Blender V4.5
ED_keyframing.hh
Go to the documentation of this file.
1/* SPDX-FileCopyrightText: 2008 Blender Authors
2 *
3 * SPDX-License-Identifier: GPL-2.0-or-later */
4
8
9#pragma once
10
11#include "DNA_anim_types.h"
12#include "RNA_types.hh"
13
14struct ID;
15struct Main;
16struct Scene;
17
18struct KeyingSet;
19
21struct FCurve;
22
23struct ReportList;
24struct bContext;
25
26struct EnumPropertyItem;
27struct PointerRNA;
28struct PropertyRNA;
29
30namespace blender::animrig {
31enum class ModifyKeyReturn;
32enum class ModifyKeyMode;
33} // namespace blender::animrig
34
35/* -------------------------------------------------------------------- */
38
46
47/* -------- */
48
58void ED_keyframes_add(FCurve *fcu, int num_keys_to_add);
59
61
62/* -------------------------------------------------------------------- */
65
69int ANIM_scene_get_keyingset_index(Scene *scene, KeyingSet *keyingset);
70
72 const bContext *C,
74 PropertyRNA *prop,
75 const char *edit_text,
77
79 const bContext *C,
81 PropertyRNA *prop,
82 const char *edit_text,
84
90 PropertyRNA *prop,
91 bool *r_free);
92
103KeyingSet *ANIM_keyingset_get_from_idname(Scene *scene, const char *idname);
104
109
111
112/* -------------------------------------------------------------------- */
115
123
140
146
147/* -------- */
148
159
168 const char rna_path[],
169 int array_index,
170 eDriverFCurveCreationMode creation_mode);
171
172FCurve *alloc_driver_fcurve(const char rna_path[],
173 int array_index,
174 eDriverFCurveCreationMode creation_mode);
175
176/* -------- */
177
192 ID *dst_id,
193 const char dst_path[],
194 int dst_index,
195 ID *src_id,
196 const char src_path[],
197 int src_index,
198 short flag,
199 int driver_type,
200 short mapping_type);
201
202/* -------- */
203
210 ReportList *reports, ID *id, const char rna_path[], int array_index, short flag, int type);
211
219bool ANIM_remove_driver(ID *id, const char rna_path[], int array_index);
220
221/* -------- */
222
228
234
235/* -------- */
236
241
248 ReportList *reports, ID *id, const char rna_path[], int array_index, short flag);
249
257 ReportList *reports, ID *id, const char rna_path[], int array_index, short flag);
258
259/* -------- */
260
265
270
274bool ANIM_driver_vars_paste(ReportList *reports, FCurve *fcu, bool replace);
275
276/* -------- */
277
282void ANIM_copy_as_driver(ID *target_id, const char *target_path, const char *var_name);
283
285
286/* -------------------------------------------------------------------- */
289
297 PropertyRNA *prop,
298 FCurve *fcu,
299 const AnimationEvalContext *anim_eval_context);
300
bool ANIM_driver_vars_can_paste()
Definition drivers.cc:700
int ANIM_scene_get_keyingset_index(Scene *scene, KeyingSet *keyingset)
void ANIM_copy_as_driver(ID *target_id, const char *target_path, const char *var_name)
Definition drivers.cc:784
bool fcurve_is_changed(PointerRNA ptr, PropertyRNA *prop, FCurve *fcu, const AnimationEvalContext *anim_eval_context)
Lesser Keyframe Checking API call.
bool ANIM_paste_driver(ReportList *reports, ID *id, const char rna_path[], int array_index, short flag)
Main Driver Management API calls.
Definition drivers.cc:627
bool ANIM_driver_can_paste()
Definition drivers.cc:572
KeyingSet * ANIM_keyingset_get_from_idname(Scene *scene, const char *idname)
FCurve * verify_driver_fcurve(ID *id, const char rna_path[], int array_index, eDriverFCurveCreationMode creation_mode)
Definition drivers.cc:50
bool ANIM_copy_driver(ReportList *reports, ID *id, const char rna_path[], int array_index, short flag)
Main Driver Management API calls.
Definition drivers.cc:579
bool ANIM_driver_vars_copy(ReportList *reports, FCurve *fcu)
Definition drivers.cc:707
bool ANIM_keyingset_context_ok_poll(bContext *C, KeyingSet *keyingset)
void ED_keyframes_add(FCurve *fcu, int num_keys_to_add)
FCurve * alloc_driver_fcurve(const char rna_path[], int array_index, eDriverFCurveCreationMode creation_mode)
Definition drivers.cc:91
int ANIM_add_driver(ReportList *reports, ID *id, const char rna_path[], int array_index, short flag, int type)
Main Driver Management API calls.
Definition drivers.cc:398
int ANIM_add_driver_with_target(ReportList *reports, ID *dst_id, const char dst_path[], int dst_index, ID *src_id, const char src_path[], int src_index, short flag, int driver_type, short mapping_type)
Main Driver Management API calls.
Definition drivers.cc:284
bool ANIM_driver_vars_paste(ReportList *reports, FCurve *fcu, bool replace)
Definition drivers.cc:729
void ANIM_keyingset_visit_for_search_no_poll(const bContext *C, PointerRNA *ptr, PropertyRNA *prop, const char *edit_text, blender::FunctionRef< void(StringPropertySearchVisitParams)> visit_fn)
void ANIM_drivers_copybuf_free()
Definition drivers.cc:563
eCreateDriverFlags
@ CREATEDRIVER_WITH_FMODIFIER
@ CREATEDRIVER_WITH_DEFAULT_DVAR
eCreateDriver_MappingTypes
@ CREATEDRIVER_MAPPING_NONE_ALL
@ CREATEDRIVER_MAPPING_1_N
@ CREATEDRIVER_MAPPING_NONE
@ CREATEDRIVER_MAPPING_N_N
@ CREATEDRIVER_MAPPING_1_1
void update_autoflags_fcurve(FCurve *fcu, bContext *C, ReportList *reports, PointerRNA *ptr)
Lesser Key-framing API call.
const EnumPropertyItem * ANIM_keying_sets_enum_itemf(bContext *C, PointerRNA *ptr, PropertyRNA *prop, bool *r_free)
void ANIM_driver_vars_copybuf_free()
Definition drivers.cc:684
KeyingSet * ANIM_keyingset_get_from_enum_type(Scene *scene, int type)
eDriverFCurveCreationMode
@ DRIVER_FCURVE_LOOKUP_ONLY
@ DRIVER_FCURVE_KEYFRAMES
@ DRIVER_FCURVE_EMPTY
@ DRIVER_FCURVE_GENERATOR
void ANIM_keyingset_visit_for_search(const bContext *C, PointerRNA *ptr, PropertyRNA *prop, const char *edit_text, blender::FunctionRef< void(StringPropertySearchVisitParams)> visit_fn)
bool ANIM_remove_driver(ID *id, const char rna_path[], int array_index)
Main Driver Management API calls.
Definition drivers.cc:522
#define C
Definition RandGen.cpp:29
ReportList * reports
Definition WM_types.hh:1025
const EnumPropertyItem prop_driver_create_mapping_types[]
Definition drivers.cc:827
Definition DNA_ID.h:404
PointerRNA * ptr
Definition wm_files.cc:4226
uint8_t flag
Definition wm_window.cc:139