49 #define MAX_IMAGE_INFO_LEN 128
77 if (slot->name[0] !=
'\0') {
131 return IFACE_(
"Composite");
134 return IFACE_(
"Sequence");
149 memcpy(rnd_pt_dst, rnd_pt_src,
sizeof(*rnd_pt_src));
188 int nr = fake_name ? 1 : 0;
250 nr = (rl ==
NULL) ? 1 : 0;
390 for (iv =
image->views.last; iv; iv = iv->
prev, nr--) {
425 bool changed =
false;
432 if (direction == -1) {
438 else if (direction == 1) {
471 bool changed =
false;
499 if (direction == -1) {
503 for (rp = rpass->
next; rp; rp = rp->
next, rp_index++) {
511 else if (direction == 1) {
558 const short *render_slot)
564 int wmenu1, wmenu2, wmenu3, wmenu4;
565 const char *fake_name;
566 const char *display_name =
"";
576 wmenu1 = (2 *
w) / 5;
577 wmenu2 = (3 *
w) / 5;
578 wmenu3 = (3 *
w) / 6;
579 wmenu4 = (3 *
w) / 6;
589 if (slot && slot->
name[0] !=
'\0') {
617 display_name = rl ? rl->
name : (fake_name ? fake_name :
"");
627 TIP_(
"Select Layer"));
638 display_name = rpass ? rpass->
name :
"";
648 TIP_(
"Select Pass"));
659 display_name = rview ? rview->
name :
"";
670 TIP_(
"Select View"));
683 for (iv =
image->views.first; iv; iv = iv->
next) {
685 display_name = iv->
name;
699 TIP_(
"Select View"));
725 const char *propname,
742 printf(
"%s: expected pointer property for %s.%s\n",
762 if (!compact && (space_image ==
NULL || iuser != &space_image->
iuser)) {
767 ima ?
NULL :
"IMAGE_OT_new",
793 const int menus_width = 230 * dpi_fac;
840 uiItemO(row,
"", ICON_PACKAGE,
"image.unpack");
843 uiItemO(row,
"", ICON_UGLYPACKAGE,
"image.pack");
851 uiItemO(row,
"", ICON_FILEBROWSER,
"image.file_browse");
852 uiItemO(row,
"", ICON_FILE_REFRESH,
"image.reload");
864 uiItemR(sub, &imaptr,
"generated_width", 0,
"X", ICON_NONE);
865 uiItemR(sub, &imaptr,
"generated_height", 0,
"Y", ICON_NONE);
876 else if (compact == 0) {
895 uiItemR(row, userptr,
"frame_duration", 0,
IFACE_(
"Frames"), ICON_NONE);
896 uiItemO(row,
"", ICON_FILE_REFRESH,
"IMAGE_OT_match_movie_length");
898 uiItemR(sub, userptr,
"frame_start", 0,
IFACE_(
"Start"), ICON_NONE);
899 uiItemR(sub, userptr,
"frame_offset", 0,
NULL, ICON_NONE);
905 uiItemR(
col, &imaptr,
"use_deinterlace", 0,
IFACE_(
"Deinterlace"), ICON_NONE);
910 if (multiview && compact == 0) {
936 uiItemR(sub, &imaptr,
"alpha_mode", 0,
IFACE_(
"Alpha"), ICON_NONE);
1014 uiItemR(
col, imfptr,
"use_jpeg2k_cinema_preset", 0,
NULL, ICON_NONE);
1015 uiItemR(
col, imfptr,
"use_jpeg2k_cinema_48", 0,
NULL, ICON_NONE);
1026 uiItemL(
col,
TIP_(
"Hard coded Non-Linear, Gamma:1.7"), ICON_NONE);
1040 if (color_management) {
1047 uiItemR(
col, &linear_settings_ptr,
"name", 0,
IFACE_(
"Color Space"), ICON_NONE);
1051 uiItemR(
col, &display_settings_ptr,
"display_device", 0,
NULL, ICON_NONE);
1064 uiItemR(
col, stereo3d_format_ptr,
"display_mode", 0,
NULL, ICON_NONE);
1068 uiItemR(
col, stereo3d_format_ptr,
"anaglyph_type", 0,
NULL, ICON_NONE);
1072 uiItemR(
col, stereo3d_format_ptr,
"interlace_type", 0,
NULL, ICON_NONE);
1073 uiItemR(
col, stereo3d_format_ptr,
"use_interlace_swap", 0,
NULL, ICON_NONE);
1077 uiItemR(
col, stereo3d_format_ptr,
"use_sidebyside_crosseyed", 0,
NULL, ICON_NONE);
1081 uiItemR(
col, stereo3d_format_ptr,
"use_squeezed_frame", 0,
NULL, ICON_NONE);
1156 const int menus_width = 160 * dpi_fac;
1162 layout, ima, rr, iuser, menus_width, is_render_result ? &ima->
render_slot :
NULL);
1169 if (ima ==
NULL || iuser ==
NULL) {
1239 filename = (filename ==
NULL) ? ibuf->
name : filename + 1;
1253 #undef MAX_IMAGE_INFO_LEN
1278 strcpy(pt->
idname,
"IMAGE_PT_metadata");
1279 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_release_ibuf(struct Image *ima, struct ImBuf *ibuf, void *lock)
struct RenderResult * BKE_image_acquire_renderresult(struct Scene *scene, struct Image *ima)
bool BKE_image_is_animated(struct Image *image)
struct ImBuf * BKE_image_acquire_ibuf(struct Image *ima, struct ImageUser *iuser, void **r_lock)
bool BKE_image_is_multiview(const struct Image *ima)
bool BKE_image_has_alpha(struct Image *image)
bool BKE_image_has_filepath(const struct Image *ima)
struct RenderPass * BKE_image_multilayer_index(struct RenderResult *rr, struct ImageUser *iuser)
bool BKE_image_is_stereo(const struct Image *ima)
int BKE_image_user_frame_get(const struct ImageUser *iuser, int cfra, bool *r_is_in_range)
bool BKE_image_has_packedfile(const struct Image *image)
void BKE_image_multiview_index(const struct Image *ima, struct ImageUser *iuser)
bool BKE_image_has_anim(struct Image *image)
bool BKE_image_is_dirty(struct Image *image)
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)
#define CMP_NODE_SPLITVIEWER
@ PANEL_TYPE_DEFAULT_CLOSED
void * BLI_findstring_ptr(const struct ListBase *listbase, const char *id, 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, 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, size_t maxncpy) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL()
size_t BLI_snprintf_rlen(char *__restrict dst, size_t maxncpy, const char *__restrict format,...) ATTR_NONNULL(1
char * BLI_strncpy(char *__restrict dst, const char *__restrict src, size_t maxncpy) ATTR_NONNULL()
size_t BLI_snprintf(char *__restrict dst, size_t maxncpy, const char *__restrict format,...) ATTR_NONNULL(1
#define BLT_I18NCONTEXT_DEFAULT_BPYRNA
#define R_IMF_IMTYPE_CINEON
#define R_IMF_IMTYPE_TIFF
#define R_IMF_COLOR_MANAGEMENT_OVERRIDE
#define R_IMF_IMTYPE_MULTILAYER
#define R_IMF_PLANES_RGBA
#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.
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)
uiBut * uiDefAutoButR(uiBlock *block, struct PointerRNA *ptr, struct PropertyRNA *prop, int index, const char *name, int icon, int x, int y, int width, int height)
void UI_but_func_menu_step_set(uiBut *but, uiMenuStepFunc func)
void uiLayoutSetAlignment(uiLayout *layout, char alignment)
void uiLayoutSetPropSep(uiLayout *layout, bool is_sep)
void uiItemS(uiLayout *layout)
uiLayout * uiLayoutRow(uiLayout *layout, bool align)
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 uiTemplateID(uiLayout *layout, const struct bContext *C, struct PointerRNA *ptr, const char *propname, const char *newop, const char *openop, const char *unlinkop, int filter, bool live_icon, const char *text)
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)
@ UI_TEMPLATE_ID_FILTER_ALL
SIMD_FORCE_INLINE const btScalar & w() const
Return the w value.
ColorManagedColorspaceSettings colorspace_settings
depth_tx normal_tx diffuse_light_tx specular_light_tx volume_light_tx environment_tx ambient_occlusion_tx aov_value_tx in_weight_img image(1, GPU_R32F, Qualifier::WRITE, ImageType::FLOAT_2D_ARRAY, "out_weight_img") .image(3
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)
RenderView * RE_RenderViewGetById(RenderResult *rr, const int view_id)
bool RE_RenderResult_is_stereo(const RenderResult *rr)
bool RE_HasCombinedLayer(const RenderResult *rr)
const char * RNA_struct_identifier(const StructRNA *type)
PointerRNA RNA_pointer_get(PointerRNA *ptr, const char *name)
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)
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)