diff options
author | Campbell Barton <ideasman42@gmail.com> | 2017-10-26 13:40:37 +0300 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2017-10-26 14:02:40 +0300 |
commit | ef96f36ee961e7f11556570da2b9cef0a08159f9 (patch) | |
tree | 2a6943daee3d11baa7f3a92a58eff72d48ea3609 /source/blender/makesdna/DNA_camera_types.h | |
parent | 654ee398ff0e37f4d5f5c4df96b1d521e4796de4 (diff) |
Move background images into the camera
This moves background images out of the 3D viewport,
to be used only as camera reference images.
For 3D viewport references,
background images can be used, see: D2827
Some work is still needed
(background option isn't working at the moment).
Diffstat (limited to 'source/blender/makesdna/DNA_camera_types.h')
-rw-r--r-- | source/blender/makesdna/DNA_camera_types.h | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/source/blender/makesdna/DNA_camera_types.h b/source/blender/makesdna/DNA_camera_types.h index 4aa3edcc788..c90599bb5cc 100644 --- a/source/blender/makesdna/DNA_camera_types.h +++ b/source/blender/makesdna/DNA_camera_types.h @@ -34,6 +34,8 @@ #include "DNA_defs.h" #include "DNA_gpu_types.h" +#include "DNA_movieclip_types.h" +#include "DNA_image_types.h" #include "DNA_ID.h" #ifdef __cplusplus @@ -59,6 +61,20 @@ typedef struct CameraStereoSettings { float pole_merge_angle_to; } CameraStereoSettings; +/* Background Picture */ +typedef struct CameraBGImage { + struct CameraBGImage *next, *prev; + + struct Image *ima; + struct ImageUser iuser; + struct MovieClip *clip; + struct MovieClipUser cuser; + float offset[2], scale, rotation; + float alpha; + short flag; + short source; +} CameraBGImage; + typedef struct Camera { ID id; struct AnimData *adt; /* animation data (must be immediately after id for utilities to use it) */ @@ -82,6 +98,9 @@ typedef struct Camera { struct Object *dof_ob; struct GPUDOFSettings gpu_dof; + /* CameraBGImage reference images */ + struct ListBase bg_images; + char sensor_fit; char pad[7]; @@ -131,6 +150,7 @@ enum { #endif CAM_SHOWSENSOR = (1 << 8), CAM_SHOW_SAFE_CENTER = (1 << 9), + CAM_SHOW_BG_IMAGE = (1 << 10), }; /* yafray: dof sampling switch */ @@ -166,6 +186,32 @@ enum { CAM_S3D_POLE_MERGE = (1 << 1), }; +/* CameraBGImage->flag */ +/* may want to use 1 for select ? */ +enum { + CAM_BGIMG_FLAG_EXPANDED = (1 << 1), + CAM_BGIMG_FLAG_CAMERACLIP = (1 << 2), + CAM_BGIMG_FLAG_DISABLED = (1 << 3), + CAM_BGIMG_FLAG_FOREGROUND = (1 << 4), + + /* Camera framing options */ + CAM_BGIMG_FLAG_CAMERA_ASPECT = (1 << 5), /* don't stretch to fit the camera view */ + CAM_BGIMG_FLAG_CAMERA_CROP = (1 << 6), /* crop out the image */ + + /* Axis flip options */ + CAM_BGIMG_FLAG_FLIP_X = (1 << 7), + CAM_BGIMG_FLAG_FLIP_Y = (1 << 8), +}; + +#define CAM_BGIMG_FLAG_EXPANDED (CAM_BGIMG_FLAG_EXPANDED | CAM_BGIMG_FLAG_CAMERACLIP) + +/* CameraBGImage->source */ +/* may want to use 1 for select ?*/ +enum { + CAM_BGIMG_SOURCE_IMAGE = 0, + CAM_BGIMG_SOURCE_MOVIE = 1, +}; + #ifdef __cplusplus } #endif |