Blender V4.3
SEQ_modifier.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 BlendDataReader;
12struct BlendWriter;
13struct ImBuf;
14struct ListBase;
15struct SeqRenderData;
16struct Sequence;
18struct StripScreenQuad;
19
21 /* default name for the modifier */
22 char name[64]; /* MAX_NAME */
23
24 /* DNA structure name used on load/save filed */
25 char struct_name[64]; /* MAX_NAME */
26
27 /* size of modifier data structure, used by allocation */
29
30 /* data initialization */
32
33 /* free data used by modifier,
34 * only modifier-specific data should be freed, modifier descriptor would
35 * be freed outside of this callback
36 */
38
39 /* copy data from one modifier to another */
41
42 /* Apply modifier on an image buffer.
43 * quad contains four corners of the (pre-transform) strip rectangle in pixel space. */
44 void (*apply)(const StripScreenQuad &quad, SequenceModifierData *smd, ImBuf *ibuf, ImBuf *mask);
45};
46
48SequenceModifierData *SEQ_modifier_new(Sequence *seq, const char *name, int type);
54void SEQ_modifier_apply_stack(const SeqRenderData *context,
55 const Sequence *seq,
56 ImBuf *ibuf,
57 int timeline_frame);
60
61void SEQ_modifier_blend_write(BlendWriter *writer, ListBase *modbase);
void SEQ_modifier_blend_write(BlendWriter *writer, ListBase *modbase)
SequenceModifierData * SEQ_modifier_new(Sequence *seq, const char *name, int type)
bool SEQ_modifier_remove(Sequence *seq, SequenceModifierData *smd)
SequenceModifierData * SEQ_modifier_find_by_name(Sequence *seq, const char *name)
void SEQ_modifier_apply_stack(const SeqRenderData *context, const Sequence *seq, ImBuf *ibuf, int timeline_frame)
void SEQ_modifier_free(SequenceModifierData *smd)
const SequenceModifierTypeInfo * SEQ_modifier_type_info_get(int type)
void SEQ_modifier_clear(Sequence *seq)
void SEQ_modifier_blend_read_data(BlendDataReader *reader, ListBase *lb)
void SEQ_modifier_list_copy(Sequence *seqn, Sequence *seq)
int SEQ_sequence_supports_modifiers(Sequence *seq)
void SEQ_modifier_unique_name(Sequence *seq, SequenceModifierData *smd)
blender::gpu::Batch * quad
ccl_device_inline float4 mask(const int4 mask, const float4 a)
void(* copy_data)(SequenceModifierData *smd, SequenceModifierData *target)
void(* init_data)(SequenceModifierData *smd)
void(* free_data)(SequenceModifierData *smd)