Blender  V3.3
Classes | Macros | Typedefs | Functions
image_buttons.c File Reference
#include <stdio.h>
#include <string.h>
#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.h"
#include "BKE_context.h"
#include "BKE_image.h"
#include "BKE_image_format.h"
#include "BKE_node.h"
#include "BKE_scene.h"
#include "BKE_screen.h"
#include "RE_pipeline.h"
#include "IMB_colormanagement.h"
#include "IMB_imbuf.h"
#include "IMB_imbuf_types.h"
#include "ED_gpencil.h"
#include "ED_image.h"
#include "ED_screen.h"
#include "RNA_access.h"
#include "WM_api.h"
#include "WM_types.h"
#include "UI_interface.h"
#include "UI_resources.h"
#include "image_intern.h"

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
 

Typedefs

typedef struct RNAUpdateCb RNAUpdateCb
 

Functions

struct ImageUserntree_get_active_iuser (bNodeTree *ntree)
 
static void ui_imageuser_slot_menu (bContext *UNUSED(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 struct ImageUI_Dataui_imageuser_data_copy (const struct ImageUI_Data *rnd_pt_src)
 
static void ui_imageuser_layer_menu (bContext *UNUSED(C), uiLayout *layout, void *rnd_pt)
 
static void ui_imageuser_pass_menu (bContext *UNUSED(C), uiLayout *layout, void *rnd_pt)
 
static void ui_imageuser_view_menu_rr (bContext *UNUSED(C), uiLayout *layout, void *rnd_pt)
 
static void ui_imageuser_view_menu_multiview (bContext *UNUSED(C), 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 *UNUSED(arg_v))
 
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 *UNUSED(arg))
 
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 *UNUSED(pt))
 
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 48 of file image_buttons.c.

◆ MAX_IMAGE_INFO_LEN

#define MAX_IMAGE_INFO_LEN   128

Definition at line 49 of file image_buttons.c.

Typedef Documentation

◆ RNAUpdateCb

typedef struct RNAUpdateCb RNAUpdateCb

Function Documentation

◆ image_buttons_register()

void image_buttons_register ( ARegionType art)

◆ 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 UNUSEDarg_v 
)
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 UNUSEDpt 
)
static

Definition at line 1255 of file image_buttons.c.

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

Referenced by image_buttons_register().

◆ ntree_get_active_iuser()

struct ImageUser* ntree_get_active_iuser ( struct bNodeTree ntree)

Gets active viewer user.

Definition at line 51 of file image_buttons.c.

References CMP_NODE_SPLITVIEWER, CMP_NODE_VIEWER, ELEM, ListBase::first, node, NODE_DO_OUTPUT, bNodeTree::nodes, ntree, and NULL.

◆ rna_update_cb()

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

Definition at line 712 of file image_buttons.c.

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

Referenced by uiTemplateImage().

◆ ui_imageuser_data_copy()

static struct ImageUI_Data* ui_imageuser_data_copy ( const struct ImageUI_Data rnd_pt_src)
static

Definition at line 146 of file image_buttons.c.

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

static void ui_imageuser_layer_menu ( bContext UNUSEDC,
uiLayout layout,
void rnd_pt 
)
static

◆ ui_imageuser_layer_menu_step()

static bool ui_imageuser_layer_menu_step ( bContext C,
int  direction,
void rnd_pt 
)
static

◆ ui_imageuser_pass_menu()

static void ui_imageuser_pass_menu ( bContext UNUSEDC,
uiLayout layout,
void rnd_pt 
)
static

◆ ui_imageuser_pass_menu_step()

static bool ui_imageuser_pass_menu_step ( bContext C,
int  direction,
void rnd_pt 
)
static

◆ ui_imageuser_slot_menu()

static void ui_imageuser_slot_menu ( bContext UNUSEDC,
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()

static void ui_imageuser_view_menu_multiview ( bContext UNUSEDC,
uiLayout layout,
void rnd_pt 
)
static

◆ ui_imageuser_view_menu_rr()

static void ui_imageuser_view_menu_rr ( bContext UNUSEDC,
uiLayout layout,
void rnd_pt 
)
static

◆ uiblock_layer_pass_buttons()

static void uiblock_layer_pass_buttons ( uiLayout layout,
Image image,
RenderResult rr,
ImageUser iuser,
int  w,
const short *  render_slot 
)
static

◆ uiTemplateImage()

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

Definition at line 722 of file image_buttons.c.

References BKE_image_acquire_ibuf(), BKE_image_acquire_renderresult(), 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(), C, RenderData::cfra, col, Image::colorspace_settings, CTX_data_scene(), CTX_wm_space_image(), PointerRNA::data, ImBuf::flags, Image::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, NULL, RNAUpdateCb::prop, PROP_POINTER, RNAUpdateCb::ptr, ptr, Scene::r, R_MULTIVIEW, ImBuf::rect_float, 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, RenderData::scemode, scene, Image::source, Image::type, PointerRNA::type, UI_block_funcN_set(), UI_DPI_FAC, UI_ITEM_R_EXPAND, UI_TEMPLATE_ID_FILTER_ALL, 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()

void uiTemplateImageFormatViews ( uiLayout layout,
PointerRNA imfptr,
PointerRNA ptr 
)

◆ uiTemplateImageInfo()

void uiTemplateImageInfo ( uiLayout layout,
bContext C,
Image ima,
ImageUser iuser 
)

◆ uiTemplateImageLayers()

void uiTemplateImageLayers ( uiLayout layout,
bContext C,
Image ima,
ImageUser iuser 
)

◆ uiTemplateImageSettings()

void uiTemplateImageSettings ( uiLayout layout,
PointerRNA imfptr,
bool  color_management 
)

◆ uiTemplateImageStereo3d()

void uiTemplateImageStereo3d ( uiLayout layout,
PointerRNA stereo3d_format_ptr 
)

◆ uiTemplateImageViews()

void uiTemplateImageViews ( uiLayout layout,
PointerRNA imaptr 
)

◆ uiTemplateViewsFormat()

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