Blender
V2.93
source
blender
makesdna
DNA_image_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) 2001-2002 by NaN Holding BV.
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_defs.h
"
29
30
#ifdef __cplusplus
31
extern
"C"
{
32
#endif
33
34
struct
GPUTexture
;
35
struct
MovieCache
;
36
struct
PackedFile
;
37
struct
RenderResult
;
38
struct
Scene
;
39
struct
anim
;
40
41
/* ImageUser is in Texture, in Nodes, Background Image, Image Window, .... */
42
/* should be used in conjunction with an ID * to Image. */
43
typedef
struct
ImageUser
{
45
struct
Scene
*
scene
;
46
48
int
framenr
;
50
int
frames
;
52
int
offset
,
sfra
;
54
char
_pad0
,
cycl
;
55
char
ok
;
56
58
char
multiview_eye
;
59
short
pass
;
60
char
_pad1
[2];
61
62
int
tile
;
63
int
_pad2
;
64
66
short
multi_index
,
view
,
layer
;
67
short
flag
;
68
}
ImageUser
;
69
70
typedef
struct
ImageAnim
{
71
struct
ImageAnim
*
next
, *
prev
;
72
struct
anim
*
anim
;
73
}
ImageAnim
;
74
75
typedef
struct
ImageView
{
76
struct
ImageView
*
next
, *
prev
;
78
char
name
[64];
80
char
filepath
[1024];
81
}
ImageView
;
82
83
typedef
struct
ImagePackedFile
{
84
struct
ImagePackedFile
*
next
, *
prev
;
85
struct
PackedFile
*
packedfile
;
87
char
filepath
[1024];
88
}
ImagePackedFile
;
89
90
typedef
struct
RenderSlot
{
91
struct
RenderSlot
*
next
, *
prev
;
93
char
name
[64];
94
struct
RenderResult
*
render
;
95
}
RenderSlot
;
96
97
typedef
struct
ImageTile_Runtime
{
98
int
tilearray_layer
;
99
int
_pad
;
100
int
tilearray_offset
[2];
101
int
tilearray_size
[2];
102
}
ImageTile_Runtime
;
103
104
typedef
struct
ImageTile
{
105
struct
ImageTile
*
next
, *
prev
;
106
107
struct
ImageTile_Runtime
runtime
;
108
109
char
ok
;
110
char
_pad
[3];
111
112
int
tile_number
;
113
char
label
[64];
114
}
ImageTile
;
115
116
/* iuser->flag */
117
#define IMA_ANIM_ALWAYS (1 << 0)
118
/* #define IMA_UNUSED_1 (1 << 1) */
119
/* #define IMA_UNUSED_2 (1 << 2) */
120
#define IMA_NEED_FRAME_RECALC (1 << 3)
121
#define IMA_SHOW_STEREO (1 << 4)
122
/* Do not limit the resolution by the limit texture size option in the user preferences.
123
* Images in the image editor or used as a backdrop are always shown using the maximum
124
* possible resolution. */
125
#define IMA_SHOW_MAX_RESOLUTION (1 << 5)
126
127
/* Used to get the correct gpu texture from an Image datablock. */
128
typedef
enum
eGPUTextureTarget
{
129
TEXTARGET_2D
= 0,
130
TEXTARGET_2D_ARRAY
,
131
TEXTARGET_TILE_MAPPING
,
132
TEXTARGET_COUNT
,
133
}
eGPUTextureTarget
;
134
135
typedef
struct
Image
{
136
ID
id
;
137
139
char
filepath
[1024];
140
142
struct
MovieCache
*
cache
;
144
struct
GPUTexture
*
gputexture
[3][2];
145
146
/* sources from: */
147
ListBase
anims
;
148
struct
RenderResult
*
rr
;
149
150
ListBase
renderslots
;
151
short
render_slot
,
last_render_slot
;
152
153
int
flag
;
154
short
source
,
type
;
155
int
lastframe
;
156
157
/* GPU texture flag. */
158
/* Contains `ImagePartialRefresh`. */
159
ListBase
gpu_refresh_areas
;
160
int
gpuframenr
;
161
short
gpuflag
;
162
short
gpu_pass
;
163
short
gpu_layer
;
164
short
gpu_view
;
165
char
_pad2
[4];
166
168
struct
PackedFile
*packedfile
DNA_DEPRECATED
;
169
struct
ListBase
packedfiles
;
170
struct
PreviewImage
*
preview
;
171
172
int
lastused
;
173
174
/* for generated images */
175
int
gen_x
,
gen_y
;
176
char
gen_type
,
gen_flag
;
177
short
gen_depth
;
178
float
gen_color
[4];
179
180
/* display aspect - for UV editing images resized for faster openGL display */
181
float
aspx
,
aspy
;
182
183
/* color management */
184
ColorManagedColorspaceSettings
colorspace_settings
;
185
char
alpha_mode
;
186
187
char
_pad
;
188
189
/* Multiview */
191
char
eye
;
192
char
views_format
;
193
194
/* ImageTile list for UDIMs. */
195
int
active_tile_index
;
196
ListBase
tiles
;
197
199
ListBase
views
;
200
struct
Stereo3dFormat
*
stereo3d_format
;
201
}
Image
;
202
203
/* **************** IMAGE ********************* */
204
205
/* Image.flag */
206
enum
{
207
IMA_HIGH_BITDEPTH
= (1 << 0),
208
IMA_FLAG_UNUSED_1
= (1 << 1),
/* cleared */
209
#ifdef DNA_DEPRECATED_ALLOW
210
IMA_DO_PREMUL = (1 << 2),
211
#endif
212
IMA_FLAG_UNUSED_4
= (1 << 4),
/* cleared */
213
IMA_NOCOLLECT
= (1 << 5),
214
IMA_FLAG_UNUSED_6
= (1 << 6),
/* cleared */
215
IMA_OLD_PREMUL
= (1 << 7),
216
IMA_FLAG_UNUSED_8
= (1 << 8),
/* cleared */
217
IMA_USED_FOR_RENDER
= (1 << 9),
219
IMA_USER_FRAME_IN_RANGE
= (1 << 10),
220
IMA_VIEW_AS_RENDER
= (1 << 11),
221
IMA_FLAG_UNUSED_12
= (1 << 12),
/* cleared */
222
IMA_DEINTERLACE
= (1 << 13),
223
IMA_USE_VIEWS
= (1 << 14),
224
IMA_FLAG_UNUSED_15
= (1 << 15),
/* cleared */
225
IMA_FLAG_UNUSED_16
= (1 << 16),
/* cleared */
226
};
227
228
/* Image.gpuflag */
229
enum
{
231
IMA_GPU_REFRESH
= (1 << 0),
233
IMA_GPU_PARTIAL_REFRESH
= (1 << 1),
235
IMA_GPU_MIPMAP_COMPLETE
= (1 << 2),
237
IMA_GPU_MAX_RESOLUTION
= (1 << 3),
238
};
239
240
/* Image.source, where the image comes from */
241
enum
{
242
/* IMA_SRC_CHECK = 0, */
/* UNUSED */
243
IMA_SRC_FILE
= 1,
244
IMA_SRC_SEQUENCE
= 2,
245
IMA_SRC_MOVIE
= 3,
246
IMA_SRC_GENERATED
= 4,
247
IMA_SRC_VIEWER
= 5,
248
IMA_SRC_TILED
= 6,
249
};
250
251
/* Image.type, how to handle or generate the image */
252
enum
{
253
IMA_TYPE_IMAGE
= 0,
254
IMA_TYPE_MULTILAYER
= 1,
255
/* generated */
256
IMA_TYPE_UV_TEST
= 2,
257
/* viewers */
258
IMA_TYPE_R_RESULT
= 4,
259
IMA_TYPE_COMPOSITE
= 5,
260
};
261
262
/* Image.gen_type */
263
enum
{
264
IMA_GENTYPE_BLANK
= 0,
265
IMA_GENTYPE_GRID
= 1,
266
IMA_GENTYPE_GRID_COLOR
= 2,
267
};
268
269
/* render */
270
#define IMA_MAX_RENDER_TEXT (1 << 9)
271
272
/* Image.gen_flag */
273
enum
{
274
IMA_GEN_FLOAT
= 1,
275
};
276
277
/* Image.alpha_mode */
278
enum
{
279
IMA_ALPHA_STRAIGHT
= 0,
280
IMA_ALPHA_PREMUL
= 1,
281
IMA_ALPHA_CHANNEL_PACKED
= 2,
282
IMA_ALPHA_IGNORE
= 3,
283
};
284
285
#ifdef __cplusplus
286
}
287
#endif
DNA_ID.h
ID and Library types, which are fundamental for sdna.
DNA_color_types.h
DNA_defs.h
ImageTile_Runtime
struct ImageTile_Runtime ImageTile_Runtime
ImageTile
struct ImageTile ImageTile
Image
struct Image Image
Definition:
NOD_static_types.h:156
IMA_FLAG_UNUSED_16
@ IMA_FLAG_UNUSED_16
Definition:
DNA_image_types.h:225
IMA_FLAG_UNUSED_8
@ IMA_FLAG_UNUSED_8
Definition:
DNA_image_types.h:216
IMA_NOCOLLECT
@ IMA_NOCOLLECT
Definition:
DNA_image_types.h:213
IMA_FLAG_UNUSED_6
@ IMA_FLAG_UNUSED_6
Definition:
DNA_image_types.h:214
IMA_DEINTERLACE
@ IMA_DEINTERLACE
Definition:
DNA_image_types.h:222
IMA_USED_FOR_RENDER
@ IMA_USED_FOR_RENDER
Definition:
DNA_image_types.h:217
IMA_FLAG_UNUSED_12
@ IMA_FLAG_UNUSED_12
Definition:
DNA_image_types.h:221
IMA_FLAG_UNUSED_1
@ IMA_FLAG_UNUSED_1
Definition:
DNA_image_types.h:208
IMA_FLAG_UNUSED_15
@ IMA_FLAG_UNUSED_15
Definition:
DNA_image_types.h:224
IMA_HIGH_BITDEPTH
@ IMA_HIGH_BITDEPTH
Definition:
DNA_image_types.h:207
IMA_USER_FRAME_IN_RANGE
@ IMA_USER_FRAME_IN_RANGE
Definition:
DNA_image_types.h:219
IMA_USE_VIEWS
@ IMA_USE_VIEWS
Definition:
DNA_image_types.h:223
IMA_FLAG_UNUSED_4
@ IMA_FLAG_UNUSED_4
Definition:
DNA_image_types.h:212
IMA_OLD_PREMUL
@ IMA_OLD_PREMUL
Definition:
DNA_image_types.h:215
IMA_VIEW_AS_RENDER
@ IMA_VIEW_AS_RENDER
Definition:
DNA_image_types.h:220
ImageAnim
struct ImageAnim ImageAnim
IMA_GPU_MAX_RESOLUTION
@ IMA_GPU_MAX_RESOLUTION
Definition:
DNA_image_types.h:237
IMA_GPU_REFRESH
@ IMA_GPU_REFRESH
Definition:
DNA_image_types.h:231
IMA_GPU_PARTIAL_REFRESH
@ IMA_GPU_PARTIAL_REFRESH
Definition:
DNA_image_types.h:233
IMA_GPU_MIPMAP_COMPLETE
@ IMA_GPU_MIPMAP_COMPLETE
Definition:
DNA_image_types.h:235
IMA_GENTYPE_GRID_COLOR
@ IMA_GENTYPE_GRID_COLOR
Definition:
DNA_image_types.h:266
IMA_GENTYPE_GRID
@ IMA_GENTYPE_GRID
Definition:
DNA_image_types.h:265
IMA_GENTYPE_BLANK
@ IMA_GENTYPE_BLANK
Definition:
DNA_image_types.h:264
IMA_GEN_FLOAT
@ IMA_GEN_FLOAT
Definition:
DNA_image_types.h:274
IMA_TYPE_MULTILAYER
@ IMA_TYPE_MULTILAYER
Definition:
DNA_image_types.h:254
IMA_TYPE_UV_TEST
@ IMA_TYPE_UV_TEST
Definition:
DNA_image_types.h:256
IMA_TYPE_R_RESULT
@ IMA_TYPE_R_RESULT
Definition:
DNA_image_types.h:258
IMA_TYPE_COMPOSITE
@ IMA_TYPE_COMPOSITE
Definition:
DNA_image_types.h:259
IMA_TYPE_IMAGE
@ IMA_TYPE_IMAGE
Definition:
DNA_image_types.h:253
IMA_ALPHA_IGNORE
@ IMA_ALPHA_IGNORE
Definition:
DNA_image_types.h:282
IMA_ALPHA_STRAIGHT
@ IMA_ALPHA_STRAIGHT
Definition:
DNA_image_types.h:279
IMA_ALPHA_PREMUL
@ IMA_ALPHA_PREMUL
Definition:
DNA_image_types.h:280
IMA_ALPHA_CHANNEL_PACKED
@ IMA_ALPHA_CHANNEL_PACKED
Definition:
DNA_image_types.h:281
ImageUser
struct ImageUser ImageUser
ImageView
struct ImageView ImageView
IMA_SRC_FILE
@ IMA_SRC_FILE
Definition:
DNA_image_types.h:243
IMA_SRC_MOVIE
@ IMA_SRC_MOVIE
Definition:
DNA_image_types.h:245
IMA_SRC_GENERATED
@ IMA_SRC_GENERATED
Definition:
DNA_image_types.h:246
IMA_SRC_VIEWER
@ IMA_SRC_VIEWER
Definition:
DNA_image_types.h:247
IMA_SRC_TILED
@ IMA_SRC_TILED
Definition:
DNA_image_types.h:248
IMA_SRC_SEQUENCE
@ IMA_SRC_SEQUENCE
Definition:
DNA_image_types.h:244
ImagePackedFile
struct ImagePackedFile ImagePackedFile
RenderSlot
struct RenderSlot RenderSlot
eGPUTextureTarget
eGPUTextureTarget
Definition:
DNA_image_types.h:128
TEXTARGET_2D
@ TEXTARGET_2D
Definition:
DNA_image_types.h:129
TEXTARGET_2D_ARRAY
@ TEXTARGET_2D_ARRAY
Definition:
DNA_image_types.h:130
TEXTARGET_COUNT
@ TEXTARGET_COUNT
Definition:
DNA_image_types.h:132
TEXTARGET_TILE_MAPPING
@ TEXTARGET_TILE_MAPPING
Definition:
DNA_image_types.h:131
GPUTexture
struct GPUTexture GPUTexture
Definition:
GPU_texture.h:33
Image
Definition:
imbuf/intern/dds/Image.h:36
Image::gpuflag
short gpuflag
Definition:
DNA_image_types.h:161
Image::cache
struct MovieCache * cache
Definition:
DNA_image_types.h:142
Image::packedfiles
struct ListBase packedfiles
Definition:
DNA_image_types.h:169
Image::preview
struct PreviewImage * preview
Definition:
DNA_image_types.h:170
Image::_pad
char _pad
Definition:
DNA_image_types.h:187
Image::gen_type
char gen_type
Definition:
DNA_image_types.h:176
Image::flag
int flag
Definition:
DNA_image_types.h:153
Image::last_render_slot
short last_render_slot
Definition:
DNA_image_types.h:151
Image::anims
ListBase anims
Definition:
DNA_image_types.h:147
Image::colorspace_settings
ColorManagedColorspaceSettings colorspace_settings
Definition:
DNA_image_types.h:184
Image::lastused
int lastused
Definition:
DNA_image_types.h:172
Image::aspy
float aspy
Definition:
DNA_image_types.h:181
Image::gen_x
int gen_x
Definition:
DNA_image_types.h:175
Image::gpu_pass
short gpu_pass
Definition:
DNA_image_types.h:162
Image::renderslots
ListBase renderslots
Definition:
DNA_image_types.h:150
Image::gpu_layer
short gpu_layer
Definition:
DNA_image_types.h:163
Image::views_format
char views_format
Definition:
DNA_image_types.h:192
Image::gpu_view
short gpu_view
Definition:
DNA_image_types.h:164
Image::filepath
char filepath[1024]
Definition:
DNA_image_types.h:139
Image::gpuframenr
int gpuframenr
Definition:
DNA_image_types.h:160
Image::eye
char eye
Definition:
DNA_image_types.h:191
Image::tiles
ListBase tiles
Definition:
DNA_image_types.h:196
Image::type
short type
Definition:
DNA_image_types.h:154
Image::gputexture
struct GPUTexture * gputexture[3][2]
Definition:
DNA_image_types.h:144
Image::source
short source
Definition:
DNA_image_types.h:154
Image::render_slot
short render_slot
Definition:
DNA_image_types.h:151
Image::aspx
float aspx
Definition:
DNA_image_types.h:181
Image::id
ID id
Definition:
DNA_image_types.h:136
Image::gen_depth
short gen_depth
Definition:
DNA_image_types.h:177
Image::rr
struct RenderResult * rr
Definition:
DNA_image_types.h:148
Image::gpu_refresh_areas
ListBase gpu_refresh_areas
Definition:
DNA_image_types.h:159
Image::gen_flag
char gen_flag
Definition:
DNA_image_types.h:176
Image::views
ListBase views
Definition:
DNA_image_types.h:199
Image::alpha_mode
char alpha_mode
Definition:
DNA_image_types.h:185
Image::lastframe
int lastframe
Definition:
DNA_image_types.h:155
Image::_pad2
char _pad2[4]
Definition:
DNA_image_types.h:165
Image::stereo3d_format
struct Stereo3dFormat * stereo3d_format
Definition:
DNA_image_types.h:200
Image::active_tile_index
int active_tile_index
Definition:
DNA_image_types.h:195
Image::gen_y
int gen_y
Definition:
DNA_image_types.h:175
Image::gen_color
float gen_color[4]
Definition:
DNA_image_types.h:178
Image::DNA_DEPRECATED
struct PackedFile *packedfile DNA_DEPRECATED
Definition:
DNA_image_types.h:168
ColorManagedColorspaceSettings
Definition:
DNA_color_types.h:212
ID
Definition:
DNA_ID.h:273
ImageAnim
Definition:
DNA_image_types.h:70
ImageAnim::next
struct ImageAnim * next
Definition:
DNA_image_types.h:71
ImageAnim::anim
struct anim * anim
Definition:
DNA_image_types.h:72
ImageAnim::prev
struct ImageAnim * prev
Definition:
DNA_image_types.h:71
ImagePackedFile
Definition:
DNA_image_types.h:83
ImagePackedFile::packedfile
struct PackedFile * packedfile
Definition:
DNA_image_types.h:85
ImagePackedFile::next
struct ImagePackedFile * next
Definition:
DNA_image_types.h:84
ImagePackedFile::filepath
char filepath[1024]
Definition:
DNA_image_types.h:87
ImagePackedFile::prev
struct ImagePackedFile * prev
Definition:
DNA_image_types.h:84
ImageTile_Runtime
Definition:
DNA_image_types.h:97
ImageTile_Runtime::_pad
int _pad
Definition:
DNA_image_types.h:99
ImageTile_Runtime::tilearray_layer
int tilearray_layer
Definition:
DNA_image_types.h:98
ImageTile_Runtime::tilearray_size
int tilearray_size[2]
Definition:
DNA_image_types.h:101
ImageTile_Runtime::tilearray_offset
int tilearray_offset[2]
Definition:
DNA_image_types.h:100
ImageTile
Definition:
DNA_image_types.h:104
ImageTile::ok
char ok
Definition:
DNA_image_types.h:109
ImageTile::prev
struct ImageTile * prev
Definition:
DNA_image_types.h:105
ImageTile::_pad
char _pad[3]
Definition:
DNA_image_types.h:110
ImageTile::label
char label[64]
Definition:
DNA_image_types.h:113
ImageTile::tile_number
int tile_number
Definition:
DNA_image_types.h:112
ImageTile::next
struct ImageTile * next
Definition:
DNA_image_types.h:105
ImageTile::runtime
struct ImageTile_Runtime runtime
Definition:
DNA_image_types.h:107
ImageUser
Definition:
DNA_image_types.h:43
ImageUser::multiview_eye
char multiview_eye
Definition:
DNA_image_types.h:58
ImageUser::cycl
char cycl
Definition:
DNA_image_types.h:54
ImageUser::tile
int tile
Definition:
DNA_image_types.h:62
ImageUser::ok
char ok
Definition:
DNA_image_types.h:55
ImageUser::_pad2
int _pad2
Definition:
DNA_image_types.h:63
ImageUser::offset
int offset
Definition:
DNA_image_types.h:52
ImageUser::view
short view
Definition:
DNA_image_types.h:66
ImageUser::sfra
int sfra
Definition:
DNA_image_types.h:52
ImageUser::layer
short layer
Definition:
DNA_image_types.h:66
ImageUser::_pad0
char _pad0
Definition:
DNA_image_types.h:54
ImageUser::frames
int frames
Definition:
DNA_image_types.h:50
ImageUser::multi_index
short multi_index
Definition:
DNA_image_types.h:66
ImageUser::framenr
int framenr
Definition:
DNA_image_types.h:48
ImageUser::_pad1
char _pad1[2]
Definition:
DNA_image_types.h:60
ImageUser::pass
short pass
Definition:
DNA_image_types.h:59
ImageUser::flag
short flag
Definition:
DNA_image_types.h:67
ImageUser::scene
struct Scene * scene
Definition:
DNA_image_types.h:45
ImageView
Definition:
DNA_image_types.h:75
ImageView::name
char name[64]
Definition:
DNA_image_types.h:78
ImageView::filepath
char filepath[1024]
Definition:
DNA_image_types.h:80
ImageView::next
struct ImageView * next
Definition:
DNA_image_types.h:76
ImageView::prev
struct ImageView * prev
Definition:
DNA_image_types.h:76
ListBase
Definition:
DNA_listBase.h:46
MovieCache
Definition:
moviecache.c:56
PackedFile
Definition:
DNA_packedFile_types.h:30
PreviewImage
Definition:
DNA_ID.h:389
RenderResult
Definition:
RE_pipeline.h:112
RenderSlot
Definition:
DNA_image_types.h:90
RenderSlot::render
struct RenderResult * render
Definition:
DNA_image_types.h:94
RenderSlot::next
struct RenderSlot * next
Definition:
DNA_image_types.h:91
RenderSlot::name
char name[64]
Definition:
DNA_image_types.h:93
RenderSlot::prev
struct RenderSlot * prev
Definition:
DNA_image_types.h:91
Scene
Definition:
DNA_scene_types.h:1684
Stereo3dFormat
Definition:
DNA_scene_types.h:353
anim
Definition:
IMB_anim.h:87
Generated on Tue Jan 31 2023 14:37:24 for Blender by
doxygen
1.9.1