45 *r_image_user =
nullptr;
58 if (slot ==
nullptr) {
67 return *r_image !=
nullptr;
88 if (slot ==
nullptr) {
96 if (slot->
uvname ==
nullptr) {
109 std::stringstream ss;
111 ss <<
"UV_MAP:" << active_uv_map_layer_index;
118 tile_user.
tile = image_tile->tile_number;
123 ss <<
",TILE_" << image_tile->tile_number;
124 ss <<
"(" << image_buffer->
x <<
"," << image_buffer->
y <<
")";
CustomData interface, see also DNA_customdata_types.h.
int CustomData_get_active_layer_index(const struct CustomData *data, int type)
int CustomData_get_named_layer_index(const struct CustomData *data, int type, const char *name)
void BKE_image_release_ibuf(struct Image *ima, struct ImBuf *ibuf, void *lock)
struct ImBuf * BKE_image_acquire_ibuf(struct Image *ima, struct ImageUser *iuser, void **r_lock)
General operations, lookup, etc. for materials.
struct Material * BKE_object_material_get(struct Object *ob, short act)
#define LISTBASE_FOREACH(type, var, list)
char * BLI_strdup(const char *str) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL() ATTR_MALLOC
@ PAINT_CANVAS_SOURCE_COLOR_ATTRIBUTE
@ PAINT_CANVAS_SOURCE_IMAGE
@ PAINT_CANVAS_SOURCE_MATERIAL
Contains defines and structs used throughout the imbuf module.
char * BKE_paint_canvas_key_get(struct PaintModeSettings *settings, struct Object *ob)
bool BKE_paint_canvas_image_get(PaintModeSettings *settings, Object *ob, Image **r_image, ImageUser **r_image_user)
int BKE_paint_canvas_uvmap_layer_index_get(const struct PaintModeSettings *settings, struct Object *ob)
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
static TexPaintSlot * get_active_slot(Object *ob)
struct TexPaintSlot * texpaintslot
struct ImageUser * image_user