64 #define MAX_IMAGE_INFO_LEN 128
88 Image *image = image_p;
93 if (slot->name[0] !=
'\0') {
134 Image *image = image_p;
147 return IFACE_(
"Composite");
150 return IFACE_(
"Sequence");
165 memcpy(rnd_pt_dst, rnd_pt_src,
sizeof(*rnd_pt_src));
204 int nr = fake_name ? 1 : 0;
266 nr = (rl ==
NULL) ? 1 : 0;
441 bool changed =
false;
448 if (direction == -1) {
454 else if (direction == 1) {
487 bool changed =
false;
515 if (direction == -1) {
519 for (rp = rpass->
next; rp; rp = rp->
next, rp_index++) {
527 else if (direction == 1) {
574 const short *render_slot)
580 int wmenu1, wmenu2, wmenu3, wmenu4;
581 const char *fake_name;
582 const char *display_name =
"";
592 wmenu1 = (2 *
w) / 5;
593 wmenu2 = (3 *
w) / 5;
594 wmenu3 = (3 *
w) / 6;
595 wmenu4 = (3 *
w) / 6;
605 if (slot && slot->
name[0] !=
'\0') {
633 display_name = rl ? rl->
name : (fake_name ? fake_name :
"");
643 TIP_(
"Select Layer"));
654 display_name = rpass ? rpass->
name :
"";
664 TIP_(
"Select Pass"));
675 display_name = rview ? rview->
name :
"";
686 TIP_(
"Select View"));
701 display_name = iv->
name;
715 TIP_(
"Select View"));
761 const char *propname,
778 printf(
"%s: expected pointer property for %s.%s\n",
798 if (!compact && (space_image ==
NULL || iuser != &space_image->
iuser)) {
803 ima ?
NULL :
"IMAGE_OT_new",
829 const int menus_width = 230 * dpi_fac;
876 uiItemO(row,
"", ICON_PACKAGE,
"image.unpack");
879 uiItemO(row,
"", ICON_UGLYPACKAGE,
"image.pack");
884 uiItemR(row, &imaptr,
"filepath", 0,
"", ICON_NONE);
885 uiItemO(row,
"", ICON_FILE_REFRESH,
"image.reload");
897 uiItemR(sub, &imaptr,
"generated_width", 0,
"X", ICON_NONE);
898 uiItemR(sub, &imaptr,
"generated_height", 0,
"Y", ICON_NONE);
909 else if (compact == 0) {
928 uiItemR(row, userptr,
"frame_duration", 0,
IFACE_(
"Frames"), ICON_NONE);
929 uiItemO(row,
"", ICON_FILE_REFRESH,
"IMAGE_OT_match_movie_length");
931 uiItemR(sub, userptr,
"frame_start", 0,
IFACE_(
"Start"), ICON_NONE);
932 uiItemR(sub, userptr,
"frame_offset", 0,
NULL, ICON_NONE);
938 uiItemR(
col, &imaptr,
"use_deinterlace", 0,
IFACE_(
"Deinterlace"), ICON_NONE);
943 if (multiview && compact == 0) {
969 uiItemR(sub, &imaptr,
"alpha_mode", 0,
IFACE_(
"Alpha"), ICON_NONE);
1004 bool show_preview =
false;
1044 show_preview =
true;
1051 uiItemR(
col, imfptr,
"use_jpeg2k_cinema_preset", 0,
NULL, ICON_NONE);
1052 uiItemR(
col, imfptr,
"use_jpeg2k_cinema_48", 0,
NULL, ICON_NONE);
1085 uiItemR(
col, &display_settings_ptr,
"display_device", 0,
NULL, ICON_NONE);
1097 uiItemR(
col, stereo3d_format_ptr,
"display_mode", 0,
NULL, ICON_NONE);
1101 uiItemR(
col, stereo3d_format_ptr,
"anaglyph_type", 0,
NULL, ICON_NONE);
1105 uiItemR(
col, stereo3d_format_ptr,
"interlace_type", 0,
NULL, ICON_NONE);
1106 uiItemR(
col, stereo3d_format_ptr,
"use_interlace_swap", 0,
NULL, ICON_NONE);
1110 uiItemR(
col, stereo3d_format_ptr,
"use_sidebyside_crosseyed", 0,
NULL, ICON_NONE);
1114 uiItemR(
col, stereo3d_format_ptr,
"use_squeezed_frame", 0,
NULL, ICON_NONE);
1189 const int menus_width = 160 * dpi_fac;
1195 layout, ima, rr, iuser, menus_width, is_render_result ? &ima->
render_slot :
NULL);
1202 if (ima ==
NULL || iuser ==
NULL) {
1271 filename = (filename ==
NULL) ? ibuf->
name : filename + 1;
1285 #undef MAX_IMAGE_INFO_LEN
1310 strcpy(pt->
idname,
"IMAGE_PT_metadata");
1311 strcpy(pt->
label,
N_(
"Metadata"));
struct Scene * CTX_data_scene(const bContext *C)
struct SpaceImage * CTX_wm_space_image(const bContext *C)
void BKE_image_multiview_index(struct Image *ima, struct ImageUser *iuser)
void BKE_image_release_ibuf(struct Image *ima, struct ImBuf *ibuf, void *lock)
bool BKE_imtype_supports_compress(const char imtype)
bool BKE_image_is_stereo(struct Image *ima)
bool BKE_image_has_filepath(struct Image *ima)
struct RenderResult * BKE_image_acquire_renderresult(struct Scene *scene, struct Image *ima)
bool BKE_image_is_animated(struct Image *image)
bool BKE_image_has_packedfile(struct Image *image)
bool BKE_imtype_supports_zbuf(const char imtype)
bool BKE_imtype_requires_linear_float(const char imtype)
struct ImBuf * BKE_image_acquire_ibuf(struct Image *ima, struct ImageUser *iuser, void **r_lock)
char BKE_imtype_valid_depths(const char imtype)
bool BKE_image_is_multiview(struct Image *ima)
char BKE_image_ftype_to_imtype(const int ftype, const struct ImbFormatOptions *options)
struct RenderPass * BKE_image_multilayer_index(struct RenderResult *rr, struct ImageUser *iuser)
#define IMA_CHAN_FLAG_ALPHA
char BKE_imtype_valid_channels(const char imtype, bool write_file)
int BKE_image_user_frame_get(const struct ImageUser *iuser, int cfra, bool *r_is_in_range)
bool BKE_image_has_anim(struct Image *image)
bool BKE_image_is_dirty(struct Image *image)
bool BKE_imtype_supports_quality(const char imtype)
void BKE_image_release_renderresult(struct Scene *scene, struct Image *ima)
void BKE_image_user_frame_calc(struct Image *ima, struct ImageUser *iuser, int cfra)
struct RenderSlot * BKE_image_get_renderslot(struct Image *ima, int index)
@ PANEL_TYPE_DEFAULT_CLOSED
void * BLI_findstring_ptr(const struct ListBase *listbase, const char *id, const int offset) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL(1)
BLI_INLINE void BLI_listbase_clear(struct ListBase *lb)
struct LinkData * BLI_genericNodeN(void *data)
#define LISTBASE_FOREACH_INDEX(type, var, list, index_var)
int BLI_listbase_count_at_most(const struct ListBase *listbase, const int count_max) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL(1)
void void BLI_freelistN(struct ListBase *listbase) ATTR_NONNULL(1)
void BLI_addtail(struct ListBase *listbase, void *vlink) ATTR_NONNULL(1)
void * BLI_findlink(const struct ListBase *listbase, int number) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL(1)
int BLI_listbase_count(const struct ListBase *listbase) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL(1)
const char * BLI_path_slash_rfind(const char *string) ATTR_NONNULL() ATTR_WARN_UNUSED_RESULT
size_t BLI_strncpy_rlen(char *__restrict dst, const char *__restrict src, const size_t maxncpy) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL()
size_t BLI_snprintf(char *__restrict dst, size_t maxncpy, const char *__restrict format,...) ATTR_NONNULL(1
char * BLI_strncpy(char *__restrict dst, const char *__restrict src, const size_t maxncpy) ATTR_NONNULL()
#define BLT_I18NCONTEXT_DEFAULT_BPYRNA
#define R_IMF_IMTYPE_CINEON
#define R_IMF_IMTYPE_TIFF
#define R_IMF_IMTYPE_MULTILAYER
#define R_IMF_PLANES_RGBA
#define R_IMF_FLAG_PREVIEW_JPG
#define R_IMF_IMTYPE_OPENEXR
bool ED_image_slot_cycle(struct Image *image, int direction)
void ED_region_image_metadata_panel_draw(struct ImBuf *ibuf, struct uiLayout *layout)
bool IMB_colormanagement_space_name_is_data(const char *name)
int IMB_anim_get_duration(struct anim *anim, IMB_Timecode_Type tc)
Contains defines and structs used throughout the imbuf module.
Read Guarded memory(de)allocation.
Group RGB to Bright Vector Camera Vector Combine Material Light Line Style Layer Add Ambient Diffuse Glossy Refraction Transparent Toon Principled Hair Volume Principled Light Particle Volume Image Sky Noise Wave Voronoi Brick Texture Vector Combine Vertex Separate Vector White RGB Map Separate Set Z Dilate Combine Combine Color Channel CMP_NODE_SPLITVIEWER
Group RGB to Bright Vector Camera Vector Combine Material Light Line Style Layer Add Ambient Diffuse Glossy Refraction Transparent Toon Principled Hair Volume Principled Light Particle Volume Image Sky Noise Wave Voronoi Brick Texture Vector Combine Vertex Separate Vector White CMP_NODE_VIEWER
void uiLayoutSetActive(uiLayout *layout, bool active)
uiBlock * uiLayoutGetBlock(uiLayout *layout)
void uiTemplateColormanagedViewSettings(struct uiLayout *layout, struct bContext *C, struct PointerRNA *ptr, const char *propname)
void uiLayoutSetEnabled(uiLayout *layout, bool enabled)
uiLayout * uiLayoutColumn(uiLayout *layout, bool align)
uiBut * uiDefBut(uiBlock *block, int type, int retval, const char *str, int x, int y, short width, short height, void *poin, float min, float max, float a1, float a2, const char *tip)
void uiTemplateColorspaceSettings(struct uiLayout *layout, struct PointerRNA *ptr, const char *propname)
void uiItemL(uiLayout *layout, const char *name, int icon)
void UI_but_func_menu_step_set(uiBut *but, uiMenuStepFunc func)
void uiTemplateID(uiLayout *layout, const struct bContext *C, struct PointerRNA *ptr, const char *propname, const char *newop, const char *openop, const char *unlinkop, int filter, const bool live_icon, const char *text)
void uiLayoutSetAlignment(uiLayout *layout, char alignment)
void uiLayoutSetPropSep(uiLayout *layout, bool is_sep)
void uiItemS(uiLayout *layout)
uiLayout * uiLayoutRow(uiLayout *layout, bool align)
@ UI_TEMPLATE_ID_FILTER_ALL
void UI_but_type_set_menu_from_pulldown(uiBut *but)
uiBut * uiDefButS(uiBlock *block, int type, int retval, const char *str, int x, int y, short width, short height, short *poin, float min, float max, float a1, float a2, const char *tip)
void uiItemR(uiLayout *layout, struct PointerRNA *ptr, const char *propname, int flag, const char *name, int icon)
void uiItemO(uiLayout *layout, const char *name, int icon, const char *opname)
void uiLayoutSetContextPointer(uiLayout *layout, const char *name, struct PointerRNA *ptr)
void uiLayoutSetPropDecorate(uiLayout *layout, bool is_sep)
uiBut * uiDefMenuBut(uiBlock *block, uiMenuCreateFunc func, void *arg, const char *str, int x, int y, short width, short height, const char *tip)
void UI_block_layout_set_current(uiBlock *block, uiLayout *layout)
void UI_but_funcN_set(uiBut *but, uiButHandleNFunc funcN, void *argN, void *arg2)
void UI_block_funcN_set(uiBlock *block, uiButHandleNFunc funcN, void *argN, void *arg2)
SIMD_FORCE_INLINE const btScalar & w() const
Return the w value.
ColorManagedColorspaceSettings colorspace_settings
void *(* MEM_callocN)(size_t len, const char *str)
void *(* MEM_mallocN)(size_t len, const char *str)
bool RE_passes_have_name(struct RenderLayer *rl)
bool RE_layers_have_name(struct RenderResult *rr)
bool RE_HasCombinedLayer(RenderResult *rr)
RenderView * RE_RenderViewGetById(RenderResult *rr, const int view_id)
bool RE_RenderResult_is_stereo(RenderResult *rr)
const char * RNA_struct_identifier(const StructRNA *type)
PropertyType RNA_property_type(PropertyRNA *prop)
PointerRNA RNA_property_pointer_get(PointerRNA *ptr, PropertyRNA *prop)
PropertyRNA * RNA_struct_find_property(PointerRNA *ptr, const char *identifier)
void RNA_property_update(bContext *C, PointerRNA *ptr, PropertyRNA *prop)
bool RNA_boolean_get(PointerRNA *ptr, const char *name)
int RNA_enum_get(PointerRNA *ptr, const char *name)
ImbFormatOptions foptions
char name[IMB_FILENAME_SIZE]
void(* draw)(const struct bContext *C, struct Panel *panel)
bool(* poll)(const struct bContext *C, struct PanelType *pt)
char idname[BKE_ST_MAXNAME]
char translation_context[BKE_ST_MAXNAME]
char category[BKE_ST_MAXNAME]
char label[BKE_ST_MAXNAME]
void WM_event_add_notifier(const bContext *C, uint type, void *reference)