Blender  V2.93
DNA_movieclip_types.h
Go to the documentation of this file.
1 /*
2  * This program is free software; you can redistribute it and/or
3  * modify it under the terms of the GNU General Public License
4  * as published by the Free Software Foundation; either version 2
5  * of the License, or (at your option) any later version.
6  *
7  * This program is distributed in the hope that it will be useful,
8  * but WITHOUT ANY WARRANTY; without even the implied warranty of
9  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
10  * GNU General Public License for more details.
11  *
12  * You should have received a copy of the GNU General Public License
13  * along with this program; if not, write to the Free Software Foundation,
14  * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
15  *
16  * The Original Code is Copyright (C) 2011 Blender Foundation.
17  * All rights reserved.
18  */
19 
24 #pragma once
25 
26 #include "DNA_ID.h"
27 #include "DNA_color_types.h" /* for color management */
28 #include "DNA_tracking_types.h" /* for #MovieTracking */
29 
30 #ifdef __cplusplus
31 extern "C" {
32 #endif
33 
34 struct AnimData;
35 struct ImBuf;
36 struct MovieClipProxy;
37 struct MovieTrackingMarker;
38 struct MovieTrackingTrack;
39 struct anim;
40 struct bGPdata;
41 
42 typedef struct MovieClipUser {
44  int framenr;
48 
49 typedef struct MovieClipProxy {
51  char dir[768];
52 
54  short tc;
56  short quality;
62 
64  void *next, *prev;
67  struct GPUTexture *gputexture[3];
69 
70 typedef struct MovieClip_Runtime {
71  struct ListBase gputextures;
73 
74 typedef struct MovieClip {
75  ID id;
77  struct AnimData *adt;
78 
80  char filepath[1024];
81 
83  int source;
85  int lastframe;
87  int lastsize[2];
88 
90  float aspx, aspy;
91 
93  struct anim *anim;
97  struct bGPdata *gpd;
98 
100  struct MovieTracking tracking;
106 
108  struct MovieClipProxy proxy;
109  int flag;
110 
112  int len;
113 
125 
126  /* color management */
128 
129  struct MovieClip_Runtime runtime;
131 
132 typedef struct MovieClipScopes {
134  short ok;
148  float track_pos[2];
160  float slide_scale[2];
162 
163 /* MovieClipProxy->build_size_flag */
164 enum {
173 };
174 
175 /* MovieClip->source */
176 enum {
179 };
180 
181 /* MovieClip->flag */
182 enum {
183  MCLIP_USE_PROXY = (1 << 0),
185  /* MCLIP_CUSTOM_START_FRAME = (1 << 2), */ /* UNUSED */
186  MCLIP_DATA_EXPAND = (1 << 3),
187 
189 };
190 
191 /* MovieClip->render_size */
192 enum {
198 };
199 
200 /* MovieClip->render_flag */
201 enum {
205 };
206 
207 #ifdef __cplusplus
208 }
209 #endif
ID and Library types, which are fundamental for sdna.
@ MCLIP_PROXY_RENDER_USE_FALLBACK_RENDER
@ MCLIP_PROXY_RENDER_UNDISTORT
struct MovieClip_RuntimeGPUTexture MovieClip_RuntimeGPUTexture
@ MCLIP_USE_PROXY_CUSTOM_DIR
@ MCLIP_TIMECODE_FLAGS
@ MCLIP_USE_PROXY
@ MCLIP_DATA_EXPAND
struct MovieClipUser MovieClipUser
@ MCLIP_PROXY_SIZE_75
@ MCLIP_PROXY_UNDISTORTED_SIZE_100
@ MCLIP_PROXY_UNDISTORTED_SIZE_75
@ MCLIP_PROXY_SIZE_25
@ MCLIP_PROXY_SIZE_100
@ MCLIP_PROXY_UNDISTORTED_SIZE_50
@ MCLIP_PROXY_SIZE_50
@ MCLIP_PROXY_UNDISTORTED_SIZE_25
struct MovieClip_Runtime MovieClip_Runtime
struct MovieClipProxy MovieClipProxy
@ MCLIP_SRC_SEQUENCE
@ MCLIP_SRC_MOVIE
struct MovieClipScopes MovieClipScopes
struct MovieClip MovieClip
@ MCLIP_PROXY_RENDER_SIZE_75
@ MCLIP_PROXY_RENDER_SIZE_100
@ MCLIP_PROXY_RENDER_SIZE_50
@ MCLIP_PROXY_RENDER_SIZE_FULL
@ MCLIP_PROXY_RENDER_SIZE_25
struct GPUTexture GPUTexture
Definition: GPU_texture.h:33
Definition: DNA_ID.h:273
struct ImBuf * track_preview
struct ImBuf * track_search
struct MovieTrackingMarker undist_marker
struct MovieTrackingMarker * marker
struct MovieTrackingTrack * track
struct GPUTexture * gputexture[3]
struct ListBase gputextures
struct MovieClipCache * cache
char filepath[1024]
void * tracking_context
struct anim * anim
struct MovieClipProxy proxy
struct MovieClip_Runtime runtime
struct MovieTracking tracking
struct AnimData * adt
struct bGPdata * gpd
ColorManagedColorspaceSettings colorspace_settings
Definition: IMB_anim.h:87