Blender V5.0
paint_cursor.cc File Reference
#include <algorithm>
#include "MEM_guardedalloc.h"
#include "BLI_listbase.h"
#include "BLI_math_axis_angle.hh"
#include "BLI_math_color.h"
#include "BLI_math_matrix.hh"
#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 "BKE_paint_types.hh"
#include "BKE_screen.hh"
#include "NOD_texture.h"
#include "WM_api.hh"
#include "WM_toolsystem.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"
#include "bmesh.hh"
#include "grease_pencil_intern.hh"
#include "brushes/brushes.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 class  blender::ed::sculpt_paint::PaintCursorDrawingType { blender::ed::sculpt_paint::Curve , blender::ed::sculpt_paint::Cursor2D , blender::ed::sculpt_paint::Cursor3D }

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 int blender::ed::sculpt_paint::project_brush_radius_grease_pencil (ViewContext *vc, const float radius, const float3 world_location, const float4x4 &to_world)
static bool blender::ed::sculpt_paint::paint_draw_tex_overlay (Paint *paint, 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 (Paint *paint, Brush *brush, ViewContext *vc, int x, int y, float zoom)
static bool blender::ed::sculpt_paint::paint_draw_alpha_overlay (Paint *paint, 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_size (Paint &paint, Brush &brush, const 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 float3 &outline_col, 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 blender::int2 &xy, const blender::float2 &tilt, 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 (const 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 (const PaintCursorContext &pcontext)
static void blender::ed::sculpt_paint::paint_cursor_pose_brush_origins_draw (const PaintCursorContext &pcontext)
static void blender::ed::sculpt_paint::paint_cursor_preview_boundary_data_pivot_draw (const PaintCursorContext &pcontext)
static void blender::ed::sculpt_paint::paint_cursor_preview_boundary_data_update (const 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 (const PaintCursorContext &pcontext)
static bool blender::ed::sculpt_paint::paint_cursor_is_brush_cursor_enabled (const 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, const blender::int2 &xy, const blender::float2 &tilt, 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()

void paint_cursor_delete_textures ( )

Variable Documentation

◆ cursor_snap

◆ primary_snap

◆ secondary_snap