Blender V4.3
paint_cursor.cc File Reference
#include "MEM_guardedalloc.h"
#include "BLI_math_rotation.h"
#include "BLI_rect.h"
#include "BLI_task.h"
#include "BLI_utildefines.h"
#include "DNA_brush_types.h"
#include "DNA_material_types.h"
#include "DNA_mesh_types.h"
#include "DNA_object_types.h"
#include "DNA_scene_types.h"
#include "DNA_screen_types.h"
#include "DNA_space_types.h"
#include "DNA_userdef_types.h"
#include "DNA_view3d_types.h"
#include "BKE_brush.hh"
#include "BKE_colortools.hh"
#include "BKE_context.hh"
#include "BKE_curve.hh"
#include "BKE_grease_pencil.hh"
#include "BKE_image.hh"
#include "BKE_node_runtime.hh"
#include "BKE_object.hh"
#include "BKE_paint.hh"
#include "NOD_texture.h"
#include "WM_api.hh"
#include "wm_cursors.hh"
#include "IMB_colormanagement.hh"
#include "IMB_imbuf_types.hh"
#include "ED_grease_pencil.hh"
#include "ED_image.hh"
#include "ED_view3d.hh"
#include "GPU_immediate.hh"
#include "GPU_immediate_util.hh"
#include "GPU_matrix.hh"
#include "GPU_state.hh"
#include "GPU_texture.hh"
#include "UI_resources.hh"
#include "paint_intern.hh"
#include "sculpt_boundary.hh"
#include "sculpt_cloth.hh"
#include "sculpt_expand.hh"
#include "sculpt_intern.hh"
#include "sculpt_pose.hh"

Go to the source code of this file.

Classes

struct  TexSnapshot
 
struct  CursorSnapshot
 
struct  blender::ed::sculpt_paint::LoadTexData
 
struct  blender::ed::sculpt_paint::PaintCursorContext
 

Namespaces

namespace  blender
 
namespace  blender::ed
 
namespace  blender::ed::sculpt_paint
 

Enumerations

enum  blender::ed::sculpt_paint::PaintCursorDrawingType { blender::ed::sculpt_paint::PAINT_CURSOR_CURVE , blender::ed::sculpt_paint::PAINT_CURSOR_2D , blender::ed::sculpt_paint::PAINT_CURSOR_3D }
 

Functions

void paint_cursor_delete_textures ()
 
static int blender::ed::sculpt_paint::same_tex_snap (TexSnapshot *snap, MTex *mtex, ViewContext *vc, bool col, float zoom)
 
static void blender::ed::sculpt_paint::make_tex_snap (TexSnapshot *snap, ViewContext *vc, float zoom)
 
static void blender::ed::sculpt_paint::load_tex_task_cb_ex (void *__restrict userdata, const int j, const TaskParallelTLS *__restrict tls)
 
static int blender::ed::sculpt_paint::load_tex (Brush *br, ViewContext *vc, float zoom, bool col, bool primary)
 
static void blender::ed::sculpt_paint::load_tex_cursor_task_cb (void *__restrict userdata, const int j, const TaskParallelTLS *__restrict)
 
static int blender::ed::sculpt_paint::load_tex_cursor (Brush *br, ViewContext *vc, float zoom)
 
static int blender::ed::sculpt_paint::project_brush_radius (ViewContext *vc, float radius, const float location[3])
 
static bool blender::ed::sculpt_paint::paint_draw_tex_overlay (UnifiedPaintSettings *ups, Brush *brush, ViewContext *vc, int x, int y, float zoom, const PaintMode mode, bool col, bool primary)
 
static bool blender::ed::sculpt_paint::paint_draw_cursor_overlay (UnifiedPaintSettings *ups, Brush *brush, ViewContext *vc, int x, int y, float zoom)
 
static bool blender::ed::sculpt_paint::paint_draw_alpha_overlay (UnifiedPaintSettings *ups, Brush *brush, ViewContext *vc, int x, int y, float zoom, PaintMode mode)
 
BLI_INLINE void blender::ed::sculpt_paint::draw_tri_point (uint pos, const float sel_col[4], const float pivot_col[4], float *co, float width, bool selected)
 
BLI_INLINE void blender::ed::sculpt_paint::draw_rect_point (uint pos, const float sel_col[4], const float handle_col[4], const float *co, float width, bool selected)
 
BLI_INLINE void blender::ed::sculpt_paint::draw_bezier_handle_lines (uint pos, const float sel_col[4], BezTriple *bez)
 
static void blender::ed::sculpt_paint::paint_draw_curve_cursor (Brush *brush, ViewContext *vc)
 
static void blender::ed::sculpt_paint::paint_cursor_update_unprojected_radius (UnifiedPaintSettings &ups, Brush &brush, ViewContext &vc, const float location[3])
 
static void blender::ed::sculpt_paint::cursor_draw_point_screen_space (const uint gpuattr, const ARegion *region, const float true_location[3], const float obmat[4][4], const int size)
 
static void blender::ed::sculpt_paint::cursor_draw_tiling_preview (const uint gpuattr, const ARegion *region, const float true_location[3], const Sculpt &sd, const Object &ob, const float radius)
 
static void blender::ed::sculpt_paint::cursor_draw_point_with_symmetry (const uint gpuattr, const ARegion *region, const float true_location[3], const Sculpt &sd, const Object &ob, const float radius)
 
static void blender::ed::sculpt_paint::sculpt_geometry_preview_lines_draw (const Depsgraph &depsgraph, const uint gpuattr, const Brush &brush, const Object &object)
 
static void blender::ed::sculpt_paint::SCULPT_layer_brush_height_preview_draw (const uint gpuattr, const Brush &brush, const float rds, const float line_width, const float outline_col[3], const float alpha)
 
static bool blender::ed::sculpt_paint::paint_use_2d_cursor (PaintMode mode)
 
static bool blender::ed::sculpt_paint::paint_cursor_context_init (bContext *C, const int x, const int y, PaintCursorContext *pcontext)
 
static void blender::ed::sculpt_paint::paint_cursor_update_pixel_radius (PaintCursorContext *pcontext)
 
static void blender::ed::sculpt_paint::paint_cursor_sculpt_session_update_and_init (PaintCursorContext *pcontext)
 
static void blender::ed::sculpt_paint::paint_update_mouse_cursor (PaintCursorContext *pcontext)
 
static void blender::ed::sculpt_paint::paint_draw_2D_view_brush_cursor_default (PaintCursorContext *pcontext)
 
static void blender::ed::sculpt_paint::grease_pencil_eraser_draw (PaintCursorContext *pcontext)
 
static void blender::ed::sculpt_paint::grease_pencil_brush_cursor_draw (PaintCursorContext *pcontext)
 
static void blender::ed::sculpt_paint::paint_draw_2D_view_brush_cursor (PaintCursorContext *pcontext)
 
static void blender::ed::sculpt_paint::paint_draw_legacy_3D_view_brush_cursor (PaintCursorContext *pcontext)
 
static void blender::ed::sculpt_paint::paint_draw_3D_view_inactive_brush_cursor (PaintCursorContext *pcontext)
 
static void blender::ed::sculpt_paint::paint_cursor_update_object_space_radius (PaintCursorContext *pcontext)
 
static void blender::ed::sculpt_paint::paint_cursor_drawing_setup_cursor_space (PaintCursorContext *pcontext)
 
static void blender::ed::sculpt_paint::paint_cursor_draw_main_inactive_cursor (PaintCursorContext *pcontext)
 
static void blender::ed::sculpt_paint::paint_cursor_pose_brush_segments_draw (PaintCursorContext *pcontext)
 
static void blender::ed::sculpt_paint::paint_cursor_pose_brush_origins_draw (PaintCursorContext *pcontext)
 
static void blender::ed::sculpt_paint::paint_cursor_preview_boundary_data_pivot_draw (PaintCursorContext *pcontext)
 
static void blender::ed::sculpt_paint::paint_cursor_preview_boundary_data_update (PaintCursorContext *pcontext)
 
static void blender::ed::sculpt_paint::paint_cursor_draw_3d_view_brush_cursor_inactive (PaintCursorContext *pcontext)
 
static void blender::ed::sculpt_paint::paint_cursor_cursor_draw_3d_view_brush_cursor_active (PaintCursorContext *pcontext)
 
static void blender::ed::sculpt_paint::paint_cursor_draw_3D_view_brush_cursor (PaintCursorContext *pcontext)
 
static bool blender::ed::sculpt_paint::paint_cursor_is_3d_view_navigating (PaintCursorContext *pcontext)
 
static bool blender::ed::sculpt_paint::paint_cursor_is_brush_cursor_enabled (PaintCursorContext *pcontext)
 
static void blender::ed::sculpt_paint::paint_cursor_update_rake_rotation (PaintCursorContext *pcontext)
 
static void blender::ed::sculpt_paint::paint_cursor_check_and_draw_alpha_overlays (PaintCursorContext *pcontext)
 
static void blender::ed::sculpt_paint::paint_cursor_update_anchored_location (PaintCursorContext *pcontext)
 
static void blender::ed::sculpt_paint::paint_cursor_setup_2D_drawing (PaintCursorContext *pcontext)
 
static void blender::ed::sculpt_paint::paint_cursor_setup_3D_drawing (PaintCursorContext *pcontext)
 
static void blender::ed::sculpt_paint::paint_cursor_restore_drawing_state ()
 
static void blender::ed::sculpt_paint::paint_draw_cursor (bContext *C, int x, int y, void *)
 
void ED_paint_cursor_start (Paint *paint, bool(*poll)(bContext *C))
 

Variables

static TexSnapshot primary_snap = {nullptr}
 
static TexSnapshot secondary_snap = {nullptr}
 
static CursorSnapshot cursor_snap = {nullptr}
 

Function Documentation

◆ ED_paint_cursor_start()

◆ paint_cursor_delete_textures()

Variable Documentation

◆ cursor_snap

◆ primary_snap

◆ secondary_snap