Blender V5.0
SEQ_iterator.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
10
11#include "BLI_function_ref.hh"
12#include "BLI_vector_set.hh"
13
14struct ListBase;
15struct Scene;
16struct Strip;
17
18namespace blender::seq {
19
23using ForEachFunc = bool (*)(Strip *strip, void *user_data);
24
34void foreach_strip(ListBase *seqbase, ForEachFunc callback, void *user_data);
35
37void foreach_strip(ListBase *seqbase, blender::FunctionRef<bool(Strip *)> callback);
38
47void iterator_set_expand(const Scene *scene,
48 ListBase *seqbase,
50 void strip_query_func(const Scene *scene,
51 Strip *strip_reference,
52 ListBase *seqbase,
63 Strip *strip_reference,
64 const Scene *scene,
65 ListBase *seqbase,
66 void strip_query_func(const Scene *scene,
67 Strip *strip_reference,
68 ListBase *seqbase,
98
107 const ListBase *seqbase,
108 int timeline_frame);
109
119void query_strip_effect_chain(const Scene *scene,
120 Strip *reference_strip,
121 ListBase *seqbase,
123
133 Strip *reference_strip,
134 ListBase *seqbase,
136
146 ListBase *channels,
147 ListBase *seqbase,
148 int timeline_frame,
149 int displayed_channel);
150
151bool must_render_strip(const VectorSet<Strip *> &strips, Strip *strip);
152} // namespace blender::seq
void foreach_strip(ListBase *seqbase, ForEachFunc callback, void *user_data)
Definition iterator.cc:59
VectorSet< Strip * > query_all_strips(ListBase *seqbase)
Definition iterator.cc:143
VectorSet< Strip * > query_selected_strips(ListBase *seqbase)
Definition iterator.cc:152
VectorSet< Strip * > query_unselected_strips(ListBase *seqbase)
Definition iterator.cc:242
static void query_all_strips_recursive(const ListBase *seqbase, VectorSet< Strip * > &strips)
Definition iterator.cc:101
void query_strip_effect_chain(const Scene *scene, Strip *reference_strip, ListBase *seqbase, VectorSet< Strip * > &r_strips)
Definition iterator.cc:254
static void query_strips_recursive_at_frame(const Scene *scene, const ListBase *seqbase, const int timeline_frame, VectorSet< Strip * > &strips)
Definition iterator.cc:118
void iterator_set_expand(const Scene *scene, ListBase *seqbase, VectorSet< Strip * > &strips, void strip_query_func(const Scene *scene, Strip *strip_reference, ListBase *seqbase, VectorSet< Strip * > &strips))
Definition iterator.cc:82
bool(*)(Strip *strip, void *user_data) ForEachFunc
VectorSet< Strip * > query_by_reference(Strip *strip_reference, const Scene *scene, ListBase *seqbase, void strip_query_func(const Scene *scene, Strip *strip_reference, ListBase *seqbase, VectorSet< Strip * > &strips))
Definition iterator.cc:69
bool must_render_strip(const VectorSet< Strip * > &strips, Strip *strip)
Definition iterator.cc:184
VectorSet< Strip * > query_rendered_strips(const Scene *scene, ListBase *channels, ListBase *seqbase, const int timeline_frame, const int displayed_channel)
Definition iterator.cc:228
void query_strip_connected_and_effect_chain(const Scene *scene, Strip *reference_strip, ListBase *seqbase, VectorSet< Strip * > &r_strips)
Definition iterator.cc:283