Blender V4.3
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_blenlib.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_screen.hh"
#include "RE_pipeline.h"
#include "IMB_colormanagement.hh"
#include "IMB_imbuf.hh"
#include "IMB_imbuf_types.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_resources.hh"
#include "image_intern.hh"

Go to the source code of this file.

Classes

struct  ImageUI_Data
 
struct  RNAUpdateCb
 

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 *, 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 char *propname, PointerRNA *userptr, bool compact, bool multiview)
 
void uiTemplateImageSettings (uiLayout *layout, PointerRNA *imfptr, bool color_management)
 
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

◆ MAX_IMAGE_INFO_LEN

#define MAX_IMAGE_INFO_LEN   128

Definition at line 48 of file image_buttons.cc.

Referenced by uiTemplateImageInfo().

Function Documentation

◆ image_buttons_register()

◆ image_multi_cb()

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

◆ image_multiview_cb()

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

◆ metadata_panel_context_draw()

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

◆ metadata_panel_context_poll()

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

Definition at line 1241 of file image_buttons.cc.

References CTX_wm_space_image(), and SpaceImage::image.

Referenced by image_buttons_register().

◆ ntree_get_active_iuser()

ImageUser * ntree_get_active_iuser ( bNodeTree * ntree)

Gets active viewer user.

Definition at line 50 of file image_buttons.cc.

References LISTBASE_FOREACH, NODE_DO_OUTPUT, and bNodeTree::nodes.

◆ rna_update_cb()

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

Definition at line 697 of file image_buttons.cc.

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

Referenced by uiTemplateImage().

◆ ui_imageuser_data_copy()

static ImageUI_Data * ui_imageuser_data_copy ( const ImageUI_Data * rnd_pt_src)
static

Definition at line 143 of file image_buttons.cc.

References MEM_mallocN.

Referenced by uiblock_layer_pass_buttons().

◆ ui_imageuser_layer_fake_name()

static 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()

static void ui_imageuser_slot_menu ( bContext * ,
uiLayout * layout,
void * image_p )
static

◆ ui_imageuser_slot_menu_step()

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

◆ ui_imageuser_view_menu_multiview()

◆ ui_imageuser_view_menu_rr()

◆ uiblock_layer_pass_buttons()

◆ uiTemplateImage()

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

Definition at line 707 of file image_buttons.cc.

References 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(), col, Image::colorspace_settings, CTX_data_scene(), CTX_wm_space_image(), ImBufFloatBuffer::data, PointerRNA::data, ImBuf::flags, ImBuf::float_buffer, ImageTile::gen_type, IB_halffloat, 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(), RNAUpdateCb::iuser, SpaceImage::iuser, lock, MEM_callocN, ColorManagedColorspaceSettings::name, printf, RNAUpdateCb::prop, PROP_POINTER, ptr, RNAUpdateCb::ptr, 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(), Image::rr, Image::source, Image::type, PointerRNA::type, UI_block_funcN_set(), UI_ITEM_NONE, UI_ITEM_R_EXPAND, UI_SCALE_FAC, UI_UNIT_Y, uiblock_layer_pass_buttons(), uiDefAutoButR(), uiItemO(), uiItemR(), uiItemS(), uiLayoutColumn(), uiLayoutGetBlock(), uiLayoutRow(), uiLayoutSetActive(), uiLayoutSetContextPointer(), uiLayoutSetEnabled(), uiLayoutSetPropDecorate(), uiLayoutSetPropSep(), uiTemplateColorspaceSettings(), uiTemplateID(), uiTemplateImageInfo(), and uiTemplateImageViews().

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()

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