Blender V4.3
paint_intern.hh File Reference
#include "BLI_array.hh"
#include "BLI_compiler_compat.h"
#include "BLI_function_ref.hh"
#include "BLI_index_mask_fwd.hh"
#include "BLI_math_vector_types.hh"
#include "BLI_set.hh"
#include "BLI_span.hh"
#include "BLI_vector.hh"
#include "DNA_object_enums.h"
#include "DNA_scene_enums.h"
#include "DNA_vec_types.h"

Go to the source code of this file.

Classes

class  blender::ed::sculpt_paint::PaintModeData
 
struct  WPaintVGroupIndex
 
struct  ImagePaintPartialRedraw
 
struct  CurveMaskCache
 Caching structure for curve mask. More...
 
struct  BlurKernel
 
struct  blender::ed::sculpt_paint::vwpaint::NormalAnglePrecalc
 

Namespaces

namespace  blender
 
namespace  blender::bke
 
namespace  blender::bke::pbvh
 
namespace  blender::ed
 
namespace  blender::ed::sculpt_paint
 
namespace  blender::ed::sculpt_paint::vwpaint
 

Macros

#define PAINT_CURVE_NUM_SEGMENTS   40
 

Typedefs

using blender::ed::sculpt_paint::StrokeGetLocation
 
using blender::ed::sculpt_paint::StrokeTestStart = bool (*)(bContext *C, wmOperator *op, const float mouse[2])
 
using blender::ed::sculpt_paint::StrokeUpdateStep
 
using blender::ed::sculpt_paint::StrokeRedraw = void (*)(const bContext *C, PaintStroke *stroke, bool final)
 
using blender::ed::sculpt_paint::StrokeDone = void (*)(const bContext *C, PaintStroke *stroke)
 
using VPaintTransform_Callback
 

Enumerations

enum  { WPAINT_GRADIENT_TYPE_LINEAR , WPAINT_GRADIENT_TYPE_RADIAL }
 
enum  eWPaintFlag { WPAINT_ENSURE_MIRROR = (1 << 0) }
 
enum  BrushStrokeMode { BRUSH_STROKE_NORMAL , BRUSH_STROKE_INVERT , BRUSH_STROKE_SMOOTH , BRUSH_STROKE_ERASE }
 

Functions

PaintStrokeblender::ed::sculpt_paint::paint_stroke_new (bContext *C, wmOperator *op, StrokeGetLocation get_location, StrokeTestStart test_start, StrokeUpdateStep update_step, StrokeRedraw redraw, StrokeDone done, int event_type)
 
void blender::ed::sculpt_paint::paint_stroke_free (bContext *C, wmOperator *op, PaintStroke *stroke)
 
bool blender::ed::sculpt_paint::paint_space_stroke_enabled (const Brush &br, PaintMode mode)
 
bool blender::ed::sculpt_paint::paint_supports_dynamic_size (const Brush &br, PaintMode mode)
 
bool blender::ed::sculpt_paint::paint_supports_dynamic_tex_coords (const Brush &br, PaintMode mode)
 
bool blender::ed::sculpt_paint::paint_supports_smooth_stroke (PaintStroke *stroke, const Brush &br, PaintMode mode)
 
bool blender::ed::sculpt_paint::paint_supports_texture (PaintMode mode)
 
wmKeyMapblender::ed::sculpt_paint::paint_stroke_modal_keymap (wmKeyConfig *keyconf)
 
int blender::ed::sculpt_paint::paint_stroke_modal (bContext *C, wmOperator *op, const wmEvent *event, PaintStroke **stroke_p)
 
int blender::ed::sculpt_paint::paint_stroke_exec (bContext *C, wmOperator *op, PaintStroke *stroke)
 
void blender::ed::sculpt_paint::paint_stroke_cancel (bContext *C, wmOperator *op, PaintStroke *stroke)
 
bool blender::ed::sculpt_paint::paint_stroke_flipped (PaintStroke *stroke)
 
bool blender::ed::sculpt_paint::paint_stroke_inverted (PaintStroke *stroke)
 
ViewContextblender::ed::sculpt_paint::paint_stroke_view_context (PaintStroke *stroke)
 
void * blender::ed::sculpt_paint::paint_stroke_mode_data (PaintStroke *stroke)
 
float blender::ed::sculpt_paint::paint_stroke_distance_get (PaintStroke *stroke)
 
void blender::ed::sculpt_paint::paint_stroke_set_mode_data (PaintStroke *stroke, std::unique_ptr< PaintModeData > mode_data)
 
bool blender::ed::sculpt_paint::paint_stroke_started (PaintStroke *stroke)
 
void blender::ed::sculpt_paint::paint_stroke_jitter_pos (Scene &scene, const PaintStroke &stroke, const PaintMode mode, const Brush &brush, const float pressure, const float mval[2], float r_mouse_out[2])
 
bool blender::ed::sculpt_paint::paint_brush_tool_poll (bContext *C)
 
bool blender::ed::sculpt_paint::paint_brush_cursor_poll (bContext *C)
 
bool blender::ed::sculpt_paint::paint_brush_update (bContext *C, const Brush &brush, PaintMode mode, PaintStroke *stroke, const float mouse_init[2], float mouse[2], float pressure, float r_location[3], bool *r_location_is_set)
 
void blender::ed::sculpt_paint::BRUSH_OT_asset_activate (wmOperatorType *ot)
 
void blender::ed::sculpt_paint::BRUSH_OT_asset_save_as (wmOperatorType *ot)
 
void blender::ed::sculpt_paint::BRUSH_OT_asset_edit_metadata (wmOperatorType *ot)
 
void blender::ed::sculpt_paint::BRUSH_OT_asset_load_preview (wmOperatorType *ot)
 
void blender::ed::sculpt_paint::BRUSH_OT_asset_delete (wmOperatorType *ot)
 
void blender::ed::sculpt_paint::BRUSH_OT_asset_save (wmOperatorType *ot)
 
void blender::ed::sculpt_paint::BRUSH_OT_asset_revert (wmOperatorType *ot)
 
void paint_cursor_delete_textures ()
 
bool weight_paint_poll (bContext *C)
 
bool weight_paint_poll_ignore_tool (bContext *C)
 
bool weight_paint_mode_poll (bContext *C)
 
bool weight_paint_mode_region_view3d_poll (bContext *C)
 
bool vertex_paint_poll (bContext *C)
 
bool vertex_paint_poll_ignore_tool (bContext *C)
 
bool vertex_paint_mode_poll (bContext *C)
 
void PAINT_OT_weight_paint_toggle (wmOperatorType *ot)
 
void PAINT_OT_weight_paint (wmOperatorType *ot)
 
void PAINT_OT_weight_set (wmOperatorType *ot)
 
void PAINT_OT_weight_gradient (wmOperatorType *ot)
 
void PAINT_OT_vertex_paint_toggle (wmOperatorType *ot)
 
void PAINT_OT_vertex_paint (wmOperatorType *ot)
 
unsigned int ED_vpaint_blend_tool (int tool, uint col, uint paintcol, int alpha_i)
 
float ED_wpaint_blend_tool (int tool, float weight, float paintval, float alpha)
 
bool ED_wpaint_ensure_data (bContext *C, ReportList *reports, enum eWPaintFlag flag, WPaintVGroupIndex *vgroup_index)
 
int ED_wpaint_mirror_vgroup_ensure (Object *ob, int vgroup_active)
 
void PAINT_OT_vertex_color_set (wmOperatorType *ot)
 
void PAINT_OT_vertex_color_from_weight (wmOperatorType *ot)
 
void PAINT_OT_vertex_color_smooth (wmOperatorType *ot)
 
void PAINT_OT_vertex_color_brightness_contrast (wmOperatorType *ot)
 
void PAINT_OT_vertex_color_hsv (wmOperatorType *ot)
 
void PAINT_OT_vertex_color_invert (wmOperatorType *ot)
 
void PAINT_OT_vertex_color_levels (wmOperatorType *ot)
 
void PAINT_OT_weight_from_bones (wmOperatorType *ot)
 
void PAINT_OT_weight_sample (wmOperatorType *ot)
 
void PAINT_OT_weight_sample_group (wmOperatorType *ot)
 
VertProjHandleED_vpaint_proj_handle_create (Depsgraph &depsgraph, Scene &scene, Object &ob, blender::Span< blender::float3 > &r_vert_positions, blender::Span< blender::float3 > &r_vert_normals)
 
void ED_vpaint_proj_handle_update (Depsgraph *depsgraph, VertProjHandle *vp_handle, ARegion *region, const float mval_fl[2])
 
void ED_vpaint_proj_handle_free (VertProjHandle *vp_handle)
 
bool image_texture_paint_poll (bContext *C)
 
void imapaint_image_update (SpaceImage *sima, Image *image, ImBuf *ibuf, ImageUser *iuser, short texpaint)
 
ImagePaintPartialRedrawget_imapaintpartial ()
 
void set_imapaintpartial (ImagePaintPartialRedraw *ippr)
 
void imapaint_region_tiles (ImBuf *ibuf, int x, int y, int w, int h, int *tx, int *ty, int *tw, int *th)
 
bool get_imapaint_zoom (bContext *C, float *zoomx, float *zoomy)
 
void * paint_2d_new_stroke (bContext *, wmOperator *, int mode)
 
void paint_2d_redraw (const bContext *C, void *ps, bool final)
 
void paint_2d_stroke_done (void *ps)
 
void paint_2d_stroke (void *ps, const float prev_mval[2], const float mval[2], bool eraser, float pressure, float distance, float base_size)
 
void paint_2d_bucket_fill (const bContext *C, const float color[3], Brush *br, const float mouse_init[2], const float mouse_final[2], void *ps)
 
void paint_2d_gradient_fill (const bContext *C, Brush *br, const float mouse_init[2], const float mouse_final[2], void *ps)
 
void * paint_proj_new_stroke (bContext *C, Object *ob, const float mouse[2], int mode)
 
void paint_proj_stroke (const bContext *C, void *ps_handle_p, const float prev_pos[2], const float pos[2], bool eraser, float pressure, float distance, float size)
 
void paint_proj_redraw (const bContext *C, void *ps_handle_p, bool final)
 
void paint_proj_stroke_done (void *ps_handle_p)
 
void paint_brush_color_get (Scene *scene, const Paint *paint, Brush *br, bool color_correction, bool invert, float distance, float pressure, ColorManagedDisplay *display, float r_color[3])
 
bool paint_use_opacity_masking (Brush *brush)
 
void paint_brush_init_tex (Brush *brush)
 
void paint_brush_exit_tex (Brush *brush)
 
bool image_paint_poll (bContext *C)
 
void PAINT_OT_grab_clone (wmOperatorType *ot)
 
void PAINT_OT_sample_color (wmOperatorType *ot)
 
void PAINT_OT_brush_colors_flip (wmOperatorType *ot)
 
void PAINT_OT_texture_paint_toggle (wmOperatorType *ot)
 
void PAINT_OT_project_image (wmOperatorType *ot)
 
void PAINT_OT_image_from_view (wmOperatorType *ot)
 
void PAINT_OT_add_texture_paint_slot (wmOperatorType *ot)
 
void PAINT_OT_image_paint (wmOperatorType *ot)
 
void PAINT_OT_add_simple_uvs (wmOperatorType *ot)
 
void paint_curve_mask_cache_free_data (CurveMaskCache *curve_mask_cache)
 
void paint_curve_mask_cache_update (CurveMaskCache *curve_mask_cache, const Brush *brush, int diameter, float radius, const float cursor_position[2])
 
void SCULPT_OT_uv_sculpt_grab (wmOperatorType *ot)
 
void SCULPT_OT_uv_sculpt_relax (wmOperatorType *ot)
 
void SCULPT_OT_uv_sculpt_pinch (wmOperatorType *ot)
 
bool paint_convert_bb_to_rect (rcti *rect, const float bb_min[3], const float bb_max[3], const ARegion &region, const RegionView3D &rv3d, const Object &ob)
 
void paint_calc_redraw_planes (float planes[4][4], const ARegion &region, const Object &ob, const rcti &screen_rect)
 
float paint_calc_object_space_radius (const ViewContext &vc, const blender::float3 &center, float pixel_radius)
 
bool paint_get_tex_pixel (const MTex *mtex, float u, float v, ImagePool *pool, int thread, float *r_intensity, float r_rgba[4])
 
void paint_sample_color (bContext *C, ARegion *region, int x, int y, bool texpaint_proj, bool palette)
 
void paint_stroke_operator_properties (wmOperatorType *ot)
 
void BRUSH_OT_curve_preset (wmOperatorType *ot)
 
void BRUSH_OT_sculpt_curves_falloff_preset (wmOperatorType *ot)
 
void PAINT_OT_face_select_linked (wmOperatorType *ot)
 
void PAINT_OT_face_select_linked_pick (wmOperatorType *ot)
 
void PAINT_OT_face_select_all (wmOperatorType *ot)
 
void PAINT_OT_face_select_more (wmOperatorType *ot)
 
void PAINT_OT_face_select_less (wmOperatorType *ot)
 
void PAINT_OT_face_select_hide (wmOperatorType *ot)
 
void PAINT_OT_face_select_loop (wmOperatorType *ot)
 
void PAINT_OT_face_vert_reveal (wmOperatorType *ot)
 
void PAINT_OT_vert_select_all (wmOperatorType *ot)
 
void PAINT_OT_vert_select_ungrouped (wmOperatorType *ot)
 
void PAINT_OT_vert_select_hide (wmOperatorType *ot)
 
void PAINT_OT_vert_select_linked (wmOperatorType *ot)
 
void PAINT_OT_vert_select_linked_pick (wmOperatorType *ot)
 
void PAINT_OT_vert_select_more (wmOperatorType *ot)
 
void PAINT_OT_vert_select_less (wmOperatorType *ot)
 
bool vert_paint_poll (bContext *C)
 
bool mask_paint_poll (bContext *C)
 
bool paint_curve_poll (bContext *C)
 
bool facemask_paint_poll (bContext *C)
 
float3 blender::ed::sculpt_paint::symmetry_flip (const float3 &src, const ePaintSymmetryFlags symm)
 
void PAINTCURVE_OT_new (wmOperatorType *ot)
 
void PAINTCURVE_OT_add_point (wmOperatorType *ot)
 
void PAINTCURVE_OT_delete_point (wmOperatorType *ot)
 
void PAINTCURVE_OT_select (wmOperatorType *ot)
 
void PAINTCURVE_OT_slide (wmOperatorType *ot)
 
void PAINTCURVE_OT_draw (wmOperatorType *ot)
 
void PAINTCURVE_OT_cursor (wmOperatorType *ot)
 
BlurKernelpaint_new_blur_kernel (Brush *br, bool proj)
 
void paint_delete_blur_kernel (BlurKernel *)
 
void paint_init_pivot (Object *ob, Scene *scene)
 
Shared vertex/weight paint code.
void blender::ed::sculpt_paint::vwpaint::view_angle_limits_init (NormalAnglePrecalc *a, float angle, bool do_mask_normal)
 
float blender::ed::sculpt_paint::vwpaint::view_angle_limits_apply_falloff (const NormalAnglePrecalc *a, float angle_cos, float *mask_p)
 
bool blender::ed::sculpt_paint::vwpaint::test_brush_angle_falloff (const Brush &brush, const NormalAnglePrecalc &normal_angle_precalc, const float angle_cos, float *brush_strength)
 
bool blender::ed::sculpt_paint::vwpaint::use_normal (const VPaint &vp)
 
bool blender::ed::sculpt_paint::vwpaint::brush_use_accumulate_ex (const Brush &brush, eObjectMode ob_mode)
 
bool blender::ed::sculpt_paint::vwpaint::brush_use_accumulate (const VPaint &vp)
 
void blender::ed::sculpt_paint::vwpaint::get_brush_alpha_data (const Scene &scene, const SculptSession &ss, const Brush &brush, float *r_brush_size_pressure, float *r_brush_alpha_value, float *r_brush_alpha_pressure)
 
void blender::ed::sculpt_paint::vwpaint::init_stroke (Depsgraph &depsgraph, Object &ob)
 
void blender::ed::sculpt_paint::vwpaint::init_session_data (const ToolSettings &ts, Object &ob)
 
void blender::ed::sculpt_paint::vwpaint::init_session (Main &bmain, Depsgraph &depsgraph, Scene &scene, Object &ob, eObjectMode object_mode)
 
IndexMask blender::ed::sculpt_paint::vwpaint::pbvh_gather_generic (const Depsgraph &depsgraph, const Object &ob, const VPaint &wp, const Brush &brush, IndexMaskMemory &memory)
 
void blender::ed::sculpt_paint::vwpaint::mode_enter_generic (Main &bmain, Depsgraph &depsgraph, Scene &scene, Object &ob, eObjectMode mode_flag)
 
void blender::ed::sculpt_paint::vwpaint::mode_exit_generic (Object &ob, eObjectMode mode_flag)
 
bool blender::ed::sculpt_paint::vwpaint::mode_toggle_poll_test (bContext *C)
 
void blender::ed::sculpt_paint::vwpaint::smooth_brush_toggle_off (const bContext *C, Paint *paint, StrokeCache *cache)
 
void blender::ed::sculpt_paint::vwpaint::smooth_brush_toggle_on (const bContext *C, Paint *paint, StrokeCache *cache)
 
void blender::ed::sculpt_paint::vwpaint::update_cache_variants (bContext *C, VPaint &vp, Object &ob, PointerRNA *ptr)
 
void blender::ed::sculpt_paint::vwpaint::update_cache_invariants (bContext *C, VPaint &vp, SculptSession &ss, wmOperator *op, const float mval[2])
 
void blender::ed::sculpt_paint::vwpaint::last_stroke_update (Scene &scene, const float location[3])
 

Macro Definition Documentation

◆ PAINT_CURVE_NUM_SEGMENTS

#define PAINT_CURVE_NUM_SEGMENTS   40

Typedef Documentation

◆ VPaintTransform_Callback

Initial value:
void (*)(const float col[3],
const void *user_data,
float r_col[3])
uint col

Definition at line 178 of file paint_intern.hh.

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
WPAINT_GRADIENT_TYPE_LINEAR 
WPAINT_GRADIENT_TYPE_RADIAL 

Definition at line 186 of file paint_intern.hh.

◆ BrushStrokeMode

Enumerator
BRUSH_STROKE_NORMAL 
BRUSH_STROKE_INVERT 
BRUSH_STROKE_SMOOTH 
BRUSH_STROKE_ERASE 

Definition at line 479 of file paint_intern.hh.

◆ eWPaintFlag

Enumerator
WPAINT_ENSURE_MIRROR 

Definition at line 212 of file paint_intern.hh.

Function Documentation

◆ BRUSH_OT_curve_preset()

◆ BRUSH_OT_sculpt_curves_falloff_preset()

◆ ED_vpaint_blend_tool()

unsigned int ED_vpaint_blend_tool ( int tool,
uint col,
uint paintcol,
int alpha_i )
Note
weight-paint has an equivalent function: ED_wpaint_blend_tool

◆ ED_vpaint_proj_handle_create()

◆ ED_vpaint_proj_handle_free()

void ED_vpaint_proj_handle_free ( VertProjHandle * vp_handle)

Definition at line 194 of file paint_vertex_proj.cc.

Referenced by VPaintData::~VPaintData().

◆ ED_vpaint_proj_handle_update()

void ED_vpaint_proj_handle_update ( Depsgraph * depsgraph,
VertProjHandle * vp_handle,
ARegion * region,
const float mval_fl[2] )

◆ ED_wpaint_blend_tool()

float ED_wpaint_blend_tool ( int tool,
float weight,
float paintval,
float alpha )

◆ ED_wpaint_ensure_data()

◆ ED_wpaint_mirror_vgroup_ensure()

◆ facemask_paint_poll()

◆ get_imapaint_zoom()

◆ get_imapaintpartial()

ImagePaintPartialRedraw * get_imapaintpartial ( )

Definition at line 84 of file paint_image.cc.

References imapaintpartial.

◆ image_paint_poll()

bool image_paint_poll ( bContext * C)

◆ image_texture_paint_poll()

bool image_texture_paint_poll ( bContext * C)

Definition at line 1129 of file paint_image.cc.

References ED_image_tools_paint_poll(), and texture_paint_poll().

Referenced by ED_keymap_paint().

◆ imapaint_image_update()

◆ imapaint_region_tiles()

void imapaint_region_tiles ( ImBuf * ibuf,
int x,
int y,
int w,
int h,
int * tx,
int * ty,
int * tw,
int * th )

Definition at line 101 of file paint_image.cc.

References ED_IMAGE_UNDO_TILE_BITS, IMB_rectclip(), and w().

Referenced by ED_imapaint_dirty_region(), and paint_2d_op().

◆ mask_paint_poll()

bool mask_paint_poll ( bContext * C)

Definition at line 1144 of file paint_image.cc.

References BKE_paint_select_elem_test(), and CTX_data_active_object().

◆ paint_2d_bucket_fill()

◆ paint_2d_gradient_fill()

◆ paint_2d_new_stroke()

◆ paint_2d_redraw()

◆ paint_2d_stroke()

◆ paint_2d_stroke_done()

◆ paint_brush_color_get()

◆ paint_brush_exit_tex()

void paint_brush_exit_tex ( Brush * brush)

◆ paint_brush_init_tex()

void paint_brush_init_tex ( Brush * brush)

◆ paint_calc_object_space_radius()

◆ paint_calc_redraw_planes()

void paint_calc_redraw_planes ( float planes[4][4],
const ARegion & region,
const Object & ob,
const rcti & screen_rect )

Get four planes in object-space that describe the projection of screen_rect from screen into object-space (essentially converting a 2D screens-space bounding box into four 3D planes).

Definition at line 112 of file paint_utils.cc.

References ED_view3d_clipping_calc(), rcti::xmax, rcti::xmin, rcti::ymax, and rcti::ymin.

◆ paint_convert_bb_to_rect()

bool paint_convert_bb_to_rect ( rcti * rect,
const float bb_min[3],
const float bb_max[3],
const ARegion & region,
const RegionView3D & rv3d,
const Object & ob )

Convert the object-space axis-aligned bounding box (expressed as its minimum and maximum corners) into a screen-space rectangle, returns zero if the result is empty.

Definition at line 69 of file paint_utils.cc.

References BLI_rcti_do_minmax_v(), BLI_rcti_init_minmax(), ED_view3d_ob_project_mat_get(), ED_view3d_project_float_v2_m4(), rcti::xmax, rcti::xmin, rcti::ymax, and rcti::ymin.

Referenced by blender::ed::sculpt_paint::trim::calc_expand_factor(), and SCULPT_get_redraw_rect().

◆ paint_cursor_delete_textures()

◆ paint_curve_mask_cache_free_data()

void paint_curve_mask_cache_free_data ( CurveMaskCache * curve_mask_cache)

◆ paint_curve_mask_cache_update()

◆ paint_curve_poll()

◆ paint_delete_blur_kernel()

void paint_delete_blur_kernel ( BlurKernel * kernel)

Definition at line 261 of file paint_image.cc.

References MEM_freeN(), and BlurKernel::wdata.

Referenced by paint_2d_canvas_free(), paint_new_blur_kernel(), and project_paint_end().

◆ paint_get_tex_pixel()

bool paint_get_tex_pixel ( const MTex * mtex,
float u,
float v,
ImagePool * pool,
int thread,
float * r_intensity,
float r_rgba[4] )

Returns true when a color was sampled and false when a value was sampled.

Definition at line 149 of file paint_utils.cc.

References RE_texture_evaluate(), and v.

Referenced by blender::ed::sculpt_paint::load_tex_task_cb_ex(), and sculpt_apply_texture().

◆ paint_init_pivot()

◆ paint_new_blur_kernel()

BlurKernel * paint_new_blur_kernel ( Brush * br,
bool proj )

Paint blur kernels. Projective painting enforces use of a 2x2 kernel due to lagging. Can be extended to other blur kernels later,

Definition at line 192 of file paint_image.cc.

References Brush::blur_kernel_radius, Brush::blur_mode, exp(), KERNEL_BOX, KERNEL_GAUSSIAN, MEM_mallocN, paint_delete_blur_kernel(), BlurKernel::pixel_len, printf, BlurKernel::side, BlurKernel::side_squared, and BlurKernel::wdata.

Referenced by paint_2d_new_stroke(), and project_state_init().

◆ PAINT_OT_add_simple_uvs()

◆ PAINT_OT_add_texture_paint_slot()

◆ PAINT_OT_brush_colors_flip()

◆ PAINT_OT_face_select_all()

◆ PAINT_OT_face_select_hide()

◆ PAINT_OT_face_select_less()

◆ PAINT_OT_face_select_linked()

◆ PAINT_OT_face_select_linked_pick()

◆ PAINT_OT_face_select_loop()

◆ PAINT_OT_face_select_more()

◆ PAINT_OT_face_vert_reveal()

◆ PAINT_OT_grab_clone()

◆ PAINT_OT_image_from_view()

◆ PAINT_OT_image_paint()

◆ PAINT_OT_project_image()

◆ PAINT_OT_sample_color()

◆ PAINT_OT_texture_paint_toggle()

◆ PAINT_OT_vert_select_all()

◆ PAINT_OT_vert_select_hide()

◆ PAINT_OT_vert_select_less()

◆ PAINT_OT_vert_select_linked()

◆ PAINT_OT_vert_select_linked_pick()

◆ PAINT_OT_vert_select_more()

◆ PAINT_OT_vert_select_ungrouped()

◆ PAINT_OT_vertex_color_brightness_contrast()

◆ PAINT_OT_vertex_color_from_weight()

◆ PAINT_OT_vertex_color_hsv()

◆ PAINT_OT_vertex_color_invert()

◆ PAINT_OT_vertex_color_levels()

◆ PAINT_OT_vertex_color_set()

◆ PAINT_OT_vertex_color_smooth()

◆ PAINT_OT_vertex_paint()

◆ PAINT_OT_vertex_paint_toggle()

◆ PAINT_OT_weight_from_bones()

◆ PAINT_OT_weight_gradient()

◆ PAINT_OT_weight_paint()

◆ PAINT_OT_weight_paint_toggle()

◆ PAINT_OT_weight_sample()

◆ PAINT_OT_weight_sample_group()

◆ PAINT_OT_weight_set()

◆ paint_proj_new_stroke()

◆ paint_proj_redraw()

◆ paint_proj_stroke()

◆ paint_proj_stroke_done()

◆ paint_sample_color()

void paint_sample_color ( bContext * C,
ARegion * region,
int x,
int y,
bool texpaint_proj,
bool palette )

Used for both 3D view and image window.

Definition at line 306 of file paint_utils.cc.

References Palette::active_color, BKE_brush_color_set(), BKE_image_acquire_ibuf(), BKE_image_get_tile_from_pos(), BKE_image_release_ibuf(), BKE_imageuser_default(), BKE_object_get_evaluated_mesh(), BKE_object_material_get(), BKE_paint_brush(), BKE_paint_get_active_from_context(), BKE_paint_palette(), BKE_paint_palette_set(), BKE_palette_add(), BKE_palette_color_add(), BKE_texpaint_slot_refresh_cache(), BKE_view_layer_active_object_get(), BKE_view_layer_synced_ensure(), BLI_listbase_count(), ImBuf::byte_buffer, ImagePaintSettings::canvas, CD_PROP_FLOAT2, CD_PROP_INT32, CLAMP, blender::math::clamp(), Palette::colors, copy_v3_v3(), Mesh::corner_data, CTX_data_ensure_evaluated_depsgraph(), CTX_data_main(), CTX_data_scene(), CTX_data_view_layer(), CTX_wm_space_image(), CTX_wm_view3d(), CTX_wm_window(), CustomData_get_layer_named(), CustomData_has_layer(), ImBufByteBuffer::data, ImBufFloatBuffer::data, DEG_get_evaluated_object(), depsgraph, ED_space_image_color_sample(), ED_view3d_viewcontext_init(), Mesh::face_data, ImBuf::float_buffer, ImageUser::framenr, TexPaintSlot::ima, IMA_SRC_TILED, IMAGEPAINT_MODE_MATERIAL, imapaint_pick_face(), imapaint_pick_uv(), ImagePaintSettings::interp, interp(), TexPaintSlot::interp, linearrgb_to_srgb_v3_v3(), ImagePaintSettings::mode, Material::paint_active_slot, rgb_uchar_to_float(), SHD_INTERP_CLOSEST, SHD_INTERP_LINEAR, straight_to_premul_v4(), Material::texpaintslot, ImageUser::tile, v, WM_window_pixels_read_sample(), ImBuf::x, x, and ImBuf::y.

Referenced by sample_color_exec(), sample_color_invoke(), and sample_color_modal().

◆ paint_stroke_operator_properties()

◆ paint_use_opacity_masking()

◆ PAINTCURVE_OT_add_point()

◆ PAINTCURVE_OT_cursor()

◆ PAINTCURVE_OT_delete_point()

◆ PAINTCURVE_OT_draw()

◆ PAINTCURVE_OT_new()

◆ PAINTCURVE_OT_select()

◆ PAINTCURVE_OT_slide()

◆ SCULPT_OT_uv_sculpt_grab()

◆ SCULPT_OT_uv_sculpt_pinch()

◆ SCULPT_OT_uv_sculpt_relax()

◆ set_imapaintpartial()

void set_imapaintpartial ( ImagePaintPartialRedraw * ippr)

Definition at line 89 of file paint_image.cc.

References imapaintpartial.

Referenced by project_image_refresh_tagged().

◆ vert_paint_poll()

◆ vertex_paint_mode_poll()

◆ vertex_paint_poll()

◆ vertex_paint_poll_ignore_tool()

bool vertex_paint_poll_ignore_tool ( bContext * C)

Definition at line 645 of file paint_vertex.cc.

References vertex_paint_poll_ex().

Referenced by sample_color_poll().

◆ weight_paint_mode_poll()

◆ weight_paint_mode_region_view3d_poll()

bool weight_paint_mode_region_view3d_poll ( bContext * C)

◆ weight_paint_poll()

bool weight_paint_poll ( bContext * C)

◆ weight_paint_poll_ignore_tool()

bool weight_paint_poll_ignore_tool ( bContext * C)

Definition at line 1621 of file paint_weight.cc.

References weight_paint_poll_ex().

Referenced by PAINT_OT_weight_gradient().