Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Antalik <richardantalik@gmail.com>2021-08-27 13:59:46 +0300
committerRichard Antalik <richardantalik@gmail.com>2021-08-27 13:59:46 +0300
commit59cd9c6da682675c439731781d127b1b02f12a76 (patch)
treebe3547652d6e9bf2e4051dbd54a71b771ec5afad /source/blender/sequencer/SEQ_iterator.h
parent7f7370fa26fbe8597cbb9832755f854fd4a8d0e5 (diff)
VSE: Transform overwrite mode
Add mode to overwrite strips on overlap instead of resolving overlap. When overlap is created, 3 things can happen: - On partial overlap, handles of overlapped strip are moved - On complete overlap with smaller strip, overlapped strip is split - On complete overlap with larger strip, overlapped strip is removed This mode can be enabled in header. Reviewed By: fsiddi, mano-wii Differential Revision: https://developer.blender.org/D11805
Diffstat (limited to 'source/blender/sequencer/SEQ_iterator.h')
-rw-r--r--source/blender/sequencer/SEQ_iterator.h11
1 files changed, 7 insertions, 4 deletions
diff --git a/source/blender/sequencer/SEQ_iterator.h b/source/blender/sequencer/SEQ_iterator.h
index 055db07f646..9fca25653e1 100644
--- a/source/blender/sequencer/SEQ_iterator.h
+++ b/source/blender/sequencer/SEQ_iterator.h
@@ -34,10 +34,12 @@ struct GSet;
struct GSetIterator;
struct Sequence;
-#define SEQ_ITERATOR_FOREACH(var, collection) \
- for (SeqIterator iter = {{{NULL}}}; \
- SEQ_iterator_ensure(collection, &iter, &var) && var != NULL; \
- var = SEQ_iterator_yield(&iter))
+#define SEQ_ITERATOR_FOREACH_IMPL(var, collection, suffix) \
+ for (SeqIterator iter##suffix = {{{NULL}}}; \
+ SEQ_iterator_ensure(collection, &iter##suffix, &var) && var != NULL; \
+ var = SEQ_iterator_yield(&iter##suffix))
+
+#define SEQ_ITERATOR_FOREACH(var, collection) SEQ_ITERATOR_FOREACH_IMPL(var, collection, __LINE__)
typedef struct SeqCollection {
struct GSet *set;
@@ -79,6 +81,7 @@ SeqCollection *SEQ_query_by_reference(struct Sequence *seq_reference,
struct ListBase *seqbase,
SeqCollection *collection));
SeqCollection *SEQ_query_selected_strips(struct ListBase *seqbase);
+SeqCollection *SEQ_query_unselected_strips(struct ListBase *seqbase);
SeqCollection *SEQ_query_all_strips(struct ListBase *seqbase);
SeqCollection *SEQ_query_all_strips_recursive(struct ListBase *seqbase);
void SEQ_query_strip_effect_chain(struct Sequence *seq_reference,