Blender V5.0
image_buttons.cc File Reference
#include <cstdio>
#include <cstring>
#include "DNA_node_types.h"
#include "DNA_scene_types.h"
#include "MEM_guardedalloc.h"
#include "BLI_listbase.h"
#include "BLI_path_utils.hh"
#include "BLI_string.h"
#include "BLI_string_utf8.h"
#include "BLI_utildefines.h"
#include "BLT_translation.hh"
#include "BKE_context.hh"
#include "BKE_image.hh"
#include "BKE_image_format.hh"
#include "BKE_node.hh"
#include "BKE_node_legacy_types.hh"
#include "BKE_node_runtime.hh"
#include "BKE_screen.hh"
#include "RE_pipeline.h"
#include "IMB_colormanagement.hh"
#include "IMB_imbuf.hh"
#include "IMB_imbuf_types.hh"
#include "MOV_read.hh"
#include "ED_image.hh"
#include "ED_screen.hh"
#include "RNA_access.hh"
#include "WM_api.hh"
#include "WM_types.hh"
#include "UI_interface.hh"
#include "UI_interface_layout.hh"
#include "UI_resources.hh"
#include "image_intern.hh"

Go to the source code of this file.

Classes

struct  ImageUI_Data

Macros

#define B_NOP   -1
#define MAX_IMAGE_INFO_LEN   128

Functions

ImageUserntree_get_active_iuser (bNodeTree *ntree)
static void ui_imageuser_slot_menu (bContext *C, uiLayout *layout, void *image_p)
static bool ui_imageuser_slot_menu_step (bContext *C, int direction, void *image_p)
static const char * ui_imageuser_layer_fake_name (RenderResult *rr)
static ImageUI_Dataui_imageuser_data_copy (const ImageUI_Data *rnd_pt_src)
static void ui_imageuser_layer_menu (bContext *, uiLayout *layout, void *rnd_pt)
static void ui_imageuser_pass_menu (bContext *, uiLayout *layout, void *rnd_pt)
static void ui_imageuser_view_menu_rr (bContext *, uiLayout *layout, void *rnd_pt)
static void ui_imageuser_view_menu_multiview (bContext *, uiLayout *layout, void *rnd_pt)
static void image_multi_cb (bContext *C, void *rnd_pt, void *rr_v)
static bool ui_imageuser_layer_menu_step (bContext *C, int direction, void *rnd_pt)
static bool ui_imageuser_pass_menu_step (bContext *C, int direction, void *rnd_pt)
static void image_multiview_cb (bContext *C, void *rnd_pt, void *)
static void uiblock_layer_pass_buttons (uiLayout *layout, Image *image, RenderResult *rr, ImageUser *iuser, int w, const short *render_slot)
static void rna_update_cb (bContext *C, void *arg_cb, void *)
void uiTemplateImage (uiLayout *layout, bContext *C, PointerRNA *ptr, const blender::StringRefNull propname, PointerRNA *userptr, bool compact, bool multiview)
void uiTemplateImageSettings (uiLayout *layout, bContext *C, PointerRNA *imfptr, bool color_management, const char *panel_idname)
void uiTemplateImageStereo3d (uiLayout *layout, PointerRNA *stereo3d_format_ptr)
static void uiTemplateViewsFormat (uiLayout *layout, PointerRNA *ptr, PointerRNA *stereo3d_format_ptr)
void uiTemplateImageViews (uiLayout *layout, PointerRNA *imaptr)
void uiTemplateImageFormatViews (uiLayout *layout, PointerRNA *imfptr, PointerRNA *ptr)
void uiTemplateImageLayers (uiLayout *layout, bContext *C, Image *ima, ImageUser *iuser)
void uiTemplateImageInfo (uiLayout *layout, bContext *C, Image *ima, ImageUser *iuser)
static bool metadata_panel_context_poll (const bContext *C, PanelType *)
static void metadata_panel_context_draw (const bContext *C, Panel *panel)
void image_buttons_register (ARegionType *art)

Macro Definition Documentation

◆ B_NOP

#define B_NOP   -1

Definition at line 55 of file image_buttons.cc.

◆ MAX_IMAGE_INFO_LEN

#define MAX_IMAGE_INFO_LEN   128

Definition at line 56 of file image_buttons.cc.

Referenced by uiTemplateImageInfo().

Function Documentation

◆ image_buttons_register()

◆ image_multi_cb()

void image_multi_cb ( bContext * C,
void * rnd_pt,
void * rr_v )
static

◆ image_multiview_cb()

void image_multiview_cb ( bContext * C,
void * rnd_pt,
void *  )
static

◆ metadata_panel_context_draw()

void metadata_panel_context_draw ( const bContext * C,
Panel * panel )
static

◆ metadata_panel_context_poll()

bool metadata_panel_context_poll ( const bContext * C,
PanelType *  )
static

Definition at line 1304 of file image_buttons.cc.

References C, CTX_wm_space_image(), and SpaceImage::image.

◆ ntree_get_active_iuser()

ImageUser * ntree_get_active_iuser ( bNodeTree * ntree)

Gets active viewer user.

Definition at line 58 of file image_buttons.cc.

References CMP_NODE_VIEWER, and NODE_DO_OUTPUT.

◆ rna_update_cb()

void rna_update_cb ( bContext * C,
void * arg_cb,
void *  )
static

Definition at line 719 of file image_buttons.cc.

References C, RNAUpdateCb::prop, RNAUpdateCb::ptr, and RNA_property_update().

◆ ui_imageuser_data_copy()

ImageUI_Data * ui_imageuser_data_copy ( const ImageUI_Data * rnd_pt_src)
static

Definition at line 158 of file image_buttons.cc.

References MEM_mallocN().

Referenced by uiblock_layer_pass_buttons().

◆ ui_imageuser_layer_fake_name()

const char * ui_imageuser_layer_fake_name ( RenderResult * rr)
static

◆ ui_imageuser_layer_menu()

◆ ui_imageuser_layer_menu_step()

◆ ui_imageuser_pass_menu()

◆ ui_imageuser_pass_menu_step()

◆ ui_imageuser_slot_menu()

◆ ui_imageuser_slot_menu_step()

bool ui_imageuser_slot_menu_step ( bContext * C,
int direction,
void * image_p )
static

Definition at line 124 of file image_buttons.cc.

References C, ED_image_slot_cycle(), NC_IMAGE, ND_DRAW, and WM_event_add_notifier().

Referenced by uiblock_layer_pass_buttons().

◆ ui_imageuser_view_menu_multiview()

◆ ui_imageuser_view_menu_rr()

◆ uiblock_layer_pass_buttons()

◆ uiTemplateImage()

void uiTemplateImage ( uiLayout * layout,
bContext * C,
PointerRNA * ptr,
const blender::StringRefNull propname,
PointerRNA * userptr,
bool compact,
bool multiview )

Definition at line 729 of file image_buttons.cc.

References uiLayout::active_set(), BKE_image_acquire_ibuf(), BKE_image_acquire_renderresult(), BKE_image_get_tile, BKE_image_has_alpha(), BKE_image_has_filepath(), BKE_image_has_packedfile(), BKE_image_is_animated(), BKE_image_is_dirty(), BKE_image_release_ibuf(), BKE_image_release_renderresult(), BKE_image_user_frame_calc(), uiLayout::block(), but_func_argN_copy(), but_func_argN_free(), C, blender::StringRefNull::c_str(), RenderData::cfra, col, Image::colorspace_settings, uiLayout::column(), uiLayout::context_ptr_set(), CTX_data_scene(), CTX_wm_space_image(), ImBufFloatBuffer::data, PointerRNA::data, uiLayout::enabled_set(), ImbFormatOptions::flag, ImBuf::float_buffer, ImBuf::foptions, ImageTile::gen_type, IFACE_, IMA_GENTYPE_BLANK, IMA_SRC_GENERATED, IMA_SRC_MOVIE, IMA_SRC_VIEWER, IMA_TYPE_COMPOSITE, IMA_TYPE_MULTILAYER, IMA_TYPE_R_RESULT, IMB_colormanagement_space_name_is_data(), SpaceImage::iuser, lock, ColorManagedColorspaceSettings::name, uiLayout::op(), OPENEXR_HALF, printf, RNAUpdateCb::prop, uiLayout::prop(), PROP_POINTER, ptr, RNAUpdateCb::ptr, Scene::r, R_MULTIVIEW, Image::render_slot, RNA_boolean_get(), RNA_property_pointer_get(), RNA_property_type(), RNA_struct_find_property(), RNA_struct_identifier(), rna_update_cb(), uiLayout::row(), Image::rr, RenderData::scemode, uiLayout::separator(), Image::source, Image::type, UI_block_funcN_set(), UI_ITEM_NONE, UI_ITEM_R_EXPAND, UI_SCALE_FAC, UI_UNIT_Y, uiblock_layer_pass_buttons(), uiDefAutoButR(), uiTemplateColorspaceSettings(), uiTemplateID(), uiTemplateImageInfo(), uiTemplateImageViews(), and uiLayout::use_property_decorate_set().

Referenced by blender::ed::space_node::node_composit_buts_image_ex(), blender::ed::space_node::node_shader_buts_tex_environment_ex(), blender::ed::space_node::node_shader_buts_tex_image_ex(), and blender::ed::space_node::node_texture_buts_image_ex().

◆ uiTemplateImageFormatViews()

◆ uiTemplateImageInfo()

◆ uiTemplateImageLayers()

◆ uiTemplateImageSettings()

◆ uiTemplateImageStereo3d()

◆ uiTemplateImageViews()

void uiTemplateImageViews ( uiLayout * layout,
PointerRNA * imaptr )

◆ uiTemplateViewsFormat()

void uiTemplateViewsFormat ( uiLayout * layout,
PointerRNA * ptr,
PointerRNA * stereo3d_format_ptr )
static