Add Chromium-only Blender WebEngine parity work
This commit is contained in:
90
blender-5.2.0/source/blender/sequencer/SEQ_retiming.hh
Normal file
90
blender-5.2.0/source/blender/sequencer/SEQ_retiming.hh
Normal file
@@ -0,0 +1,90 @@
|
||||
/* SPDX-FileCopyrightText: 2022 Blender Authors
|
||||
*
|
||||
* SPDX-License-Identifier: GPL-2.0-or-later */
|
||||
|
||||
#pragma once
|
||||
|
||||
/** \file
|
||||
* \ingroup sequencer
|
||||
*/
|
||||
|
||||
#include "BLI_map.hh"
|
||||
#include "BLI_span.hh"
|
||||
|
||||
namespace blender {
|
||||
|
||||
struct Editing;
|
||||
struct ReportList;
|
||||
struct Scene;
|
||||
struct Strip;
|
||||
struct SeqRetimingKey;
|
||||
|
||||
namespace seq {
|
||||
|
||||
MutableSpan<SeqRetimingKey> retiming_keys_get(const Strip *strip);
|
||||
int left_fake_key_frame_get(const Scene *scene, const Strip *strip);
|
||||
int right_fake_key_frame_get(const Scene *scene, const Strip *strip);
|
||||
Map<SeqRetimingKey *, Strip *> retiming_selection_get(const Editing *ed);
|
||||
int retiming_keys_count(const Strip *strip);
|
||||
bool retiming_has_keys(const Strip *strip);
|
||||
void retiming_data_ensure(Strip *strip);
|
||||
SeqRetimingKey *ensure_left_and_right_keys(const Scene *scene, Strip *strip);
|
||||
void realize_fake_keys(const Scene *scene, Strip *strip);
|
||||
SeqRetimingKey fake_retiming_key_init(const Scene *scene, const Strip *strip, int frame);
|
||||
void retiming_data_clear(Strip *strip);
|
||||
void retiming_reset(Scene *scene, Strip *strip);
|
||||
bool retiming_is_allowed(const Strip *strip);
|
||||
|
||||
SeqRetimingKey *retiming_key_add_new_for_strip(const Scene *scene,
|
||||
ReportList *reports,
|
||||
Strip *strip,
|
||||
const int frame);
|
||||
/**
|
||||
* Add new retiming key.
|
||||
* This function always reallocates memory, so when function is used all stored pointers will
|
||||
* become invalid.
|
||||
*/
|
||||
SeqRetimingKey *retiming_add_key(const Scene *scene, Strip *strip, int frame);
|
||||
SeqRetimingKey *retiming_add_transition(const Scene *scene,
|
||||
Strip *strip,
|
||||
SeqRetimingKey *key,
|
||||
float offset);
|
||||
SeqRetimingKey *retiming_add_freeze_frame(const Scene *scene,
|
||||
Strip *strip,
|
||||
SeqRetimingKey *key,
|
||||
const int offset);
|
||||
bool retiming_is_last_key(const Strip *strip, const SeqRetimingKey *key);
|
||||
SeqRetimingKey *retiming_last_key_get(const Strip *strip);
|
||||
void retiming_remove_key(Strip *strip, SeqRetimingKey *key);
|
||||
void retiming_transition_key_frame_set(const Scene *scene,
|
||||
const Strip *strip,
|
||||
SeqRetimingKey *key,
|
||||
int frame);
|
||||
float retiming_key_speed_get(const Strip *strip, const SeqRetimingKey *key);
|
||||
void retiming_key_speed_set(const Scene *scene, Strip *strip, SeqRetimingKey *key, float speed);
|
||||
int retiming_key_index_get(const Strip *strip, const SeqRetimingKey *key);
|
||||
SeqRetimingKey *retiming_key_get_by_frame(const Scene *scene, const Strip *strip, int frame);
|
||||
void retiming_sound_animation_data_set(const Scene *scene, const Strip *strip);
|
||||
/**
|
||||
* Get timeline frame of some `key` associated with `strip`.
|
||||
* This is absolute, not a frame index from the start of the `strip`.
|
||||
*/
|
||||
int retiming_key_frame_get(const Scene *scene, const Strip *strip, const SeqRetimingKey *key);
|
||||
void retiming_key_frame_set(const Scene *scene, Strip *strip, SeqRetimingKey *key, int frame);
|
||||
SeqRetimingKey *retiming_find_segment_start_key(const Strip *strip, float frame_index);
|
||||
bool retiming_key_is_transition_type(const SeqRetimingKey *key);
|
||||
bool retiming_key_is_transition_start(const SeqRetimingKey *key);
|
||||
SeqRetimingKey *retiming_transition_start_get(SeqRetimingKey *key);
|
||||
bool retiming_key_is_freeze_frame(const SeqRetimingKey *key);
|
||||
bool retiming_selection_clear(const Editing *ed);
|
||||
void retiming_selection_append(SeqRetimingKey *key);
|
||||
void retiming_selection_remove(SeqRetimingKey *key);
|
||||
void retiming_selection_copy(SeqRetimingKey *dst, const SeqRetimingKey *src);
|
||||
void retiming_remove_multiple_keys(Strip *strip, Vector<SeqRetimingKey *> &keys_to_remove);
|
||||
bool retiming_selection_contains(const Editing *ed, const SeqRetimingKey *key);
|
||||
bool retiming_selection_has_whole_transition(const Editing *ed, SeqRetimingKey *key);
|
||||
bool retiming_show_keys(const Strip *strip);
|
||||
bool retiming_keys_are_selected(const Scene *scene);
|
||||
|
||||
} // namespace seq
|
||||
} // namespace blender
|
||||
Reference in New Issue
Block a user