Blender V4.5
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
10
11struct BlendDataReader;
12struct BlendWriter;
13struct ImBuf;
14struct ListBase;
15struct Strip;
17
18namespace blender::seq {
19
20struct StripScreenQuad;
21struct RenderData;
22
24 /* default name for the modifier */
25 char name[64]; /* MAX_NAME */
26
27 /* DNA structure name used on load/save filed */
28 char struct_name[64]; /* MAX_NAME */
29
30 /* size of modifier data structure, used by allocation */
32
33 /* data initialization */
35
36 /* free data used by modifier,
37 * only modifier-specific data should be freed, modifier descriptor would
38 * be freed outside of this callback
39 */
41
42 /* copy data from one modifier to another */
44
45 /* Apply modifier on an image buffer.
46 * quad contains four corners of the (pre-transform) strip rectangle in pixel space. */
47 void (*apply)(const StripScreenQuad &quad, StripModifierData *smd, ImBuf *ibuf, ImBuf *mask);
48};
49
51StripModifierData *modifier_new(Strip *strip, const char *name, int type);
52bool modifier_remove(Strip *strip, StripModifierData *smd);
53void modifier_clear(Strip *strip);
56StripModifierData *modifier_find_by_name(Strip *strip, const char *name);
57void modifier_apply_stack(const RenderData *context,
58 const Strip *strip,
59 ImBuf *ibuf,
60 int timeline_frame);
61void modifier_list_copy(Strip *strip_new, Strip *strip);
63
64void modifier_blend_write(BlendWriter *writer, ListBase *modbase);
66
67} // namespace blender::seq
blender::gpu::Batch * quad
ccl_device_inline float2 mask(const MaskType mask, const float2 a)
void modifier_unique_name(Strip *strip, StripModifierData *smd)
StripModifierData * modifier_find_by_name(Strip *strip, const char *name)
int sequence_supports_modifiers(Strip *strip)
void modifier_blend_read_data(BlendDataReader *reader, ListBase *lb)
void modifier_free(StripModifierData *smd)
bool modifier_remove(Strip *strip, StripModifierData *smd)
const StripModifierTypeInfo * modifier_type_info_get(int type)
void modifier_clear(Strip *strip)
StripModifierData * modifier_new(Strip *strip, const char *name, int type)
void modifier_list_copy(Strip *strip_new, Strip *strip)
void modifier_apply_stack(const RenderData *context, const Strip *strip, ImBuf *ibuf, int timeline_frame)
void modifier_blend_write(BlendWriter *writer, ListBase *modbase)
void(* free_data)(StripModifierData *smd)
void(* init_data)(StripModifierData *smd)
void(* copy_data)(StripModifierData *smd, StripModifierData *target)
void(* apply)(const StripScreenQuad &quad, StripModifierData *smd, ImBuf *ibuf, ImBuf *mask)