Files
workinf_Blender_Wasm/blender-5.2.0/source/blender/sequencer/SEQ_animation.hh
2026-08-12 04:47:48 -04:00

50 lines
1.2 KiB
C++

/* SPDX-FileCopyrightText: 2022 Blender Authors
*
* SPDX-License-Identifier: GPL-2.0-or-later */
#pragma once
/** \file
* \ingroup sequencer
*/
#include "DNA_listBase.h"
#include "ANIM_action.hh"
struct SeqAnimationBackup;
namespace blender {
struct Scene;
struct Strip;
namespace seq {
bool animation_keyframes_exist(const Scene *scene);
bool animation_drivers_exist(Scene *scene);
void free_animdata(Scene *scene, Strip *strip);
void offset_animdata(const Scene *scene, Strip *strip, float ofs);
/**
* Return whether the fcurve targets the given strip.
*/
bool fcurve_matches(const Strip &strip, const FCurve &fcurve);
struct AnimationBackup {
animrig::Channelbag channelbag;
ListBaseT<FCurve> drivers;
};
/**
* Move all F-Curves and drivers from `scene` to `backup`.
*/
void animation_backup_original(Scene *scene, AnimationBackup *backup);
/**
* Move all F-Curves and drivers from `backup` to `scene`.
*/
void animation_restore_original(Scene *scene, AnimationBackup *backup);
/**
* Duplicate F-Curves and drivers used by `strip` from `backup` to `scene`.
*/
void animation_duplicate_backup_to_scene(Scene *scene, Strip *strip, AnimationBackup *backup);
} // namespace seq
} // namespace blender