Blender  V3.3
SEQ_modifier.h
Go to the documentation of this file.
1 /* SPDX-License-Identifier: GPL-2.0-or-later
2  * Copyright 2004 Blender Foundation. All rights reserved. */
3 
4 #pragma once
5 
10 #ifdef __cplusplus
11 extern "C" {
12 #endif
13 
14 struct BlendDataReader;
15 struct BlendLibReader;
16 struct BlendWriter;
17 struct ImBuf;
18 struct ListBase;
19 struct Scene;
20 struct SeqRenderData;
21 struct Sequence;
23 
24 typedef struct SequenceModifierTypeInfo {
25  /* default name for the modifier */
26  char name[64]; /* MAX_NAME */
27 
28  /* DNA structure name used on load/save filed */
29  char struct_name[64]; /* MAX_NAME */
30 
31  /* size of modifier data structure, used by allocation */
33 
34  /* data initialization */
36 
37  /* free data used by modifier,
38  * only modifier-specific data should be freed, modifier descriptor would
39  * be freed outside of this callback
40  */
42 
43  /* copy data from one modifier to another */
44  void (*copy_data)(struct SequenceModifierData *smd, struct SequenceModifierData *target);
45 
46  /* apply modifier on a given image buffer */
47  void (*apply)(struct SequenceModifierData *smd, struct ImBuf *ibuf, struct ImBuf *mask);
49 
51 struct SequenceModifierData *SEQ_modifier_new(struct Sequence *seq, const char *name, int type);
52 bool SEQ_modifier_remove(struct Sequence *seq, struct SequenceModifierData *smd);
53 void SEQ_modifier_clear(struct Sequence *seq);
54 void SEQ_modifier_free(struct SequenceModifierData *smd);
55 void SEQ_modifier_unique_name(struct Sequence *seq, struct SequenceModifierData *smd);
56 struct SequenceModifierData *SEQ_modifier_find_by_name(struct Sequence *seq, const char *name);
58  struct Sequence *seq,
59  struct ImBuf *ibuf,
60  int timeline_frame);
61 void SEQ_modifier_list_copy(struct Sequence *seqn, struct Sequence *seq);
63 
64 void SEQ_modifier_blend_write(struct BlendWriter *writer, struct ListBase *modbase);
65 void SEQ_modifier_blend_read_data(struct BlendDataReader *reader, struct ListBase *lb);
67  struct Scene *scene,
68  struct ListBase *lb);
69 
70 #ifdef __cplusplus
71 }
72 #endif
_GL_VOID GLfloat value _GL_VOID_RET _GL_VOID const GLuint GLboolean *residences _GL_BOOL_RET _GL_VOID GLsizei GLfloat GLfloat GLfloat GLfloat const GLubyte *bitmap _GL_VOID_RET _GL_VOID GLenum type
void SEQ_modifier_free(struct SequenceModifierData *smd)
void SEQ_modifier_list_copy(struct Sequence *seqn, struct Sequence *seq)
void SEQ_modifier_clear(struct Sequence *seq)
void SEQ_modifier_unique_name(struct Sequence *seq, struct SequenceModifierData *smd)
bool SEQ_modifier_remove(struct Sequence *seq, struct SequenceModifierData *smd)
struct ImBuf * SEQ_modifier_apply_stack(const struct SeqRenderData *context, struct Sequence *seq, struct ImBuf *ibuf, int timeline_frame)
struct SequenceModifierData * SEQ_modifier_new(struct Sequence *seq, const char *name, int type)
void SEQ_modifier_blend_read_data(struct BlendDataReader *reader, struct ListBase *lb)
int SEQ_sequence_supports_modifiers(struct Sequence *seq)
void SEQ_modifier_blend_read_lib(struct BlendLibReader *reader, struct Scene *scene, struct ListBase *lb)
struct SequenceModifierData * SEQ_modifier_find_by_name(struct Sequence *seq, const char *name)
struct SequenceModifierTypeInfo SequenceModifierTypeInfo
const struct SequenceModifierTypeInfo * SEQ_modifier_type_info_get(int type)
void SEQ_modifier_blend_write(struct BlendWriter *writer, struct ListBase *modbase)
Scene scene
SyclQueue void void size_t num_bytes void
ccl_device_inline float4 mask(const int4 &mask, const float4 &a)
Definition: math_float4.h:513
void(* init_data)(struct SequenceModifierData *smd)
Definition: SEQ_modifier.h:35
void(* free_data)(struct SequenceModifierData *smd)
Definition: SEQ_modifier.h:41
void(* apply)(struct SequenceModifierData *smd, struct ImBuf *ibuf, struct ImBuf *mask)
Definition: SEQ_modifier.h:47
void(* copy_data)(struct SequenceModifierData *smd, struct SequenceModifierData *target)
Definition: SEQ_modifier.h:44