Blender V4.3
SEQ_transform.hh
Go to the documentation of this file.
1/* SPDX-FileCopyrightText: 2004 Blender Authors
2 *
3 * SPDX-License-Identifier: GPL-2.0-or-later */
4
5#pragma once
6
11struct ListBase;
12struct Scene;
13struct Sequence;
14
21bool SEQ_transform_test_overlap(const Scene *scene, ListBase *seqbasep, Sequence *test);
23void SEQ_transform_translate_sequence(Scene *evil_scene, Sequence *seq, int delta);
28 Sequence *test,
29 Scene *evil_scene,
30 int channel_delta);
31bool SEQ_transform_seqbase_shuffle(ListBase *seqbasep, Sequence *test, Scene *evil_scene);
33 blender::Span<Sequence *> time_dependent_strips,
34 ListBase *seqbasep,
35 Scene *evil_scene,
37 bool use_sync_markers);
39 ListBase *seqbasep,
40 Scene *evil_scene,
42 bool use_sync_markers);
43
45 ListBase *seqbasep,
46 blender::Span<Sequence *> transformed_strips,
47 blender::Span<Sequence *> time_dependent_strips,
48 bool use_sync_markers);
50 ListBase *seqbasep,
51 blender::Span<Sequence *> transformed_strips,
52 bool use_sync_markers);
67 int delta,
68 int timeline_frame);
69
74bool SEQ_transform_is_locked(ListBase *channels, const Sequence *seq);
75
76/* Image transformation. */
77
78void SEQ_image_transform_mirror_factor_get(const Sequence *seq, float r_mirror[2]);
88 const Sequence *seq,
89 float r_origin[2]);
99void SEQ_image_transform_quad_get(const Scene *scene,
100 const Sequence *seq,
101 bool apply_rotation,
102 float r_quad[4][2]);
111 const Sequence *seq,
112 float r_quad[4][2]);
113
114void SEQ_image_preview_unit_to_px(const Scene *scene, const float co_src[2], float co_dst[2]);
115void SEQ_image_preview_unit_from_px(const Scene *scene, const float co_src[2], float co_dst[2]);
116
129 bool apply_rotation,
130 float r_min[2],
131 float r_max[2]);
void SEQ_image_transform_quad_get(const Scene *scene, const Sequence *seq, bool apply_rotation, float r_quad[4][2])
bool SEQ_transform_seqbase_isolated_sel_check(ListBase *seqbase)
bool SEQ_transform_seqbase_shuffle_ex(ListBase *seqbasep, Sequence *test, Scene *evil_scene, int channel_delta)
bool SEQ_transform_seqbase_shuffle(ListBase *seqbasep, Sequence *test, Scene *evil_scene)
void SEQ_transform_offset_after_frame(Scene *scene, ListBase *seqbase, int delta, int timeline_frame)
void SEQ_image_preview_unit_to_px(const Scene *scene, const float co_src[2], float co_dst[2])
void SEQ_image_transform_bounding_box_from_collection(Scene *scene, blender::Span< Sequence * > strips, bool apply_rotation, float r_min[2], float r_max[2])
bool SEQ_transform_test_overlap(const Scene *scene, ListBase *seqbasep, Sequence *test)
void SEQ_image_transform_origin_offset_pixelspace_get(const Scene *scene, const Sequence *seq, float r_origin[2])
bool SEQ_transform_seqbase_shuffle_time(blender::Span< Sequence * > strips_to_shuffle, blender::Span< Sequence * > time_dependent_strips, ListBase *seqbasep, Scene *evil_scene, ListBase *markers, bool use_sync_markers)
void SEQ_image_transform_final_quad_get(const Scene *scene, const Sequence *seq, float r_quad[4][2])
void SEQ_transform_translate_sequence(Scene *evil_scene, Sequence *seq, int delta)
void SEQ_image_transform_mirror_factor_get(const Sequence *seq, float r_mirror[2])
bool SEQ_transform_is_locked(ListBase *channels, const Sequence *seq)
void SEQ_image_preview_unit_from_px(const Scene *scene, const float co_src[2], float co_dst[2])
void SEQ_transform_handle_overlap(Scene *scene, ListBase *seqbasep, blender::Span< Sequence * > transformed_strips, blender::Span< Sequence * > time_dependent_strips, bool use_sync_markers)
bool SEQ_transform_sequence_can_be_translated(const Sequence *seq)
bool SEQ_transform_test_overlap_seq_seq(const Scene *scene, Sequence *seq1, Sequence *seq2)
bool SEQ_transform_single_image_check(const Sequence *seq)
const vector< Marker > & markers
struct Sequence * seq1
struct Sequence * seq2