71 (ts->gpencil_selectmode_sculpt &
79 (ts->gpencil_selectmode_vertex &
88 const bool show_multi_edit_lines = (do_multiedit) &&
95 !use_sculpt_mask && !use_vertex_mask && !show_lines;
99 use_vertex_mask =
true;
110 const bool show_points = show_sculpt_points || is_weight_paint || show_vertex_points ||
120 if (show_lines && !hide_lines) {
131 if (show_points && !hide_select) {
175 const bool is_speed_guide = (ts->gp_sculpt.guide.use_guide &&
180 if ((is_cppoint || is_speed_guide) && (is_show_gizmo)) {
198 if (ts->gp_sculpt.guide.use_guide) {
205 ts->gp_sculpt.guide.reference_object !=
NULL) {
247 ((ts->gpencil_v3d_align &
251 if (show_grid && show_overlays) {
252 const char *grid_unit =
NULL;
275 switch (ts->gp_sculpt.lock_axis) {
315 int line_ct = gridlines * 4 + 2;
339 View3D *v3d = draw_ctx->v3d;
342 if (ob != draw_ctx->obact) {
400 for (
int i = 0; i < gps->
totpoints; i++) {
struct bGPDlayer * BKE_gpencil_layer_active_get(struct bGPdata *gpd)
void BKE_gpencil_visible_stroke_iter(struct ViewLayer *view_layer, struct Object *ob, gpIterCb layer_cb, gpIterCb stroke_cb, void *thunk, bool do_onion, int cfra)
struct Material * BKE_object_material_get(struct Object *ob, short act)
MINLINE float max_ff(float a, float b)
void copy_m3_m4(float m1[3][3], const float m2[4][4])
void mul_m4_m4m3(float R[4][4], const float A[4][4], const float B[3][3])
void translate_m4(float mat[4][4], float tx, float ty, float tz)
void rescale_m4(float mat[4][4], const float scale[3])
void copy_m4_m4(float m1[4][4], const float m2[4][4])
void mul_v3_m4v3(float r[3], const float M[4][4], const float v[3])
void loc_eul_size_to_mat4(float R[4][4], const float loc[3], const float eul[3], const float size[3])
MINLINE void swap_v4_v4(float a[4], float b[4])
MINLINE void copy_v3_v3(float r[3], const float a[3])
MINLINE void mul_v2_v2fl(float r[2], const float a[2], float f)
MINLINE void add_v3_v3(float r[3], const float a[3])
float DEG_get_ctime(const Depsgraph *graph)
#define GPENCIL_ANY_VERTEX_MASK(flag)
#define GPENCIL_VERTEX_MODE(gpd)
#define GPENCIL_EDIT_MODE(gpd)
#define GPENCIL_WEIGHT_MODE(gpd)
#define GPENCIL_SCULPT_MODE(gpd)
#define GPENCIL_MULTIEDIT_SESSIONS_ON(gpd)
#define GPENCIL_PAINT_MODE(gpd)
#define GPENCIL_ANY_SCULPT_MASK(flag)
@ GP_DATA_STROKE_WEIGHTMODE
#define GPENCIL_ANY_MODE(gpd)
#define GPENCIL_CURVE_EDIT_SESSIONS_ON(gpd)
@ GP_SCULPT_MASK_SELECTMODE_POINT
@ GP_SCULPT_MASK_SELECTMODE_SEGMENT
@ GP_VERTEX_MASK_SELECTMODE_SEGMENT
@ GP_VERTEX_MASK_SELECTMODE_POINT
@ GP_PROJECT_DEPTH_STROKE
#define V3D_GP_SHOW_GRID_XRAY
#define V3D_GP_SHOW_MATERIAL_NAME
#define V3D_GP_SHOW_STROKE_DIRECTION
#define V3D_GP_SHOW_EDIT_LINES
#define V3D_HIDE_OVERLAYS
#define V3D_GP_SHOW_MULTIEDIT_LINES
#define DRW_shgroup_call_no_cull(shgroup, geom, ob)
@ DRW_STATE_DEPTH_LESS_EQUAL
#define DRW_PASS_CREATE(pass, state)
float ED_scene_grid_scale(const struct Scene *scene, const char **r_grid_unit)
struct GPUShader GPUShader
void UI_GetThemeColor4fv(int colorid, float col[4])
void UI_GetThemeColor4ubv(int colorid, unsigned char col[4])
static DBVT_INLINE btScalar size(const btDbvtVolume &a)
struct GPUBatch * DRW_cache_gpencil_edit_lines_get(struct Object *ob, int cfra)
struct GPUBatch * DRW_cache_gpencil_edit_curve_points_get(struct Object *ob, int cfra)
struct GPUBatch * DRW_cache_gpencil_edit_curve_handles_get(struct Object *ob, int cfra)
struct GPUBatch * DRW_cache_gpencil_edit_points_get(struct Object *ob, int cfra)
int DRW_object_wire_theme_get(Object *ob, ViewLayer *view_layer, float **r_color)
bool DRW_state_show_text(void)
const DRWContextState * DRW_context_state_get(void)
struct DRWTextStore * DRW_text_cache_ensure(void)
void DRW_shgroup_uniform_float_copy(DRWShadingGroup *shgroup, const char *name, const float value)
void DRW_shgroup_uniform_block(DRWShadingGroup *shgroup, const char *name, const GPUUniformBuf *ubo)
void DRW_shgroup_uniform_texture(DRWShadingGroup *shgroup, const char *name, const GPUTexture *tex)
void DRW_shgroup_call_procedural_lines(DRWShadingGroup *shgroup, Object *ob, uint line_count)
void DRW_shgroup_state_enable(DRWShadingGroup *shgroup, DRWState state)
void DRW_shgroup_uniform_vec3_copy(DRWShadingGroup *shgroup, const char *name, const float *value)
void DRW_shgroup_call_procedural_points(DRWShadingGroup *shgroup, Object *ob, uint point_count)
void DRW_shgroup_uniform_int_copy(DRWShadingGroup *shgroup, const char *name, const int value)
DRWShadingGroup * DRW_shgroup_create(struct GPUShader *shader, DRWPass *pass)
DRWShadingGroup * DRW_shgroup_create_sub(DRWShadingGroup *shgroup)
void DRW_shgroup_uniform_vec4_copy(DRWShadingGroup *shgroup, const char *name, const float *value)
void DRW_shgroup_uniform_bool_copy(DRWShadingGroup *shgroup, const char *name, const bool value)
void DRW_view_viewmat_get(const DRWView *view, float mat[4][4], bool inverse)
void DRW_draw_pass(DRWPass *pass)
void DRW_text_cache_add(DRWTextStore *dt, const float co[3], const char *str, const int str_len, short xoffs, short yoffs, short flag, const uchar col[4])
@ DRW_TEXT_CACHE_GLOBALSPACE
@ DRW_TEXT_CACHE_STRING_PTR
void OVERLAY_edit_gpencil_cache_init(OVERLAY_Data *vedata)
void OVERLAY_gpencil_cache_populate(OVERLAY_Data *vedata, Object *ob)
static void overlay_gpencil_draw_stroke_color_name(bGPDlayer *UNUSED(gpl), bGPDframe *UNUSED(gpf), bGPDstroke *gps, void *thunk)
static void OVERLAY_edit_gpencil_cache_populate(OVERLAY_Data *vedata, Object *ob)
void OVERLAY_gpencil_cache_init(OVERLAY_Data *vedata)
void OVERLAY_edit_gpencil_draw(OVERLAY_Data *vedata)
void OVERLAY_gpencil_draw(OVERLAY_Data *vedata)
static void OVERLAY_gpencil_color_names(Object *ob)
GPUShader * OVERLAY_shader_edit_curve_handle(void)
GPUShader * OVERLAY_shader_edit_gpencil_guide_point(void)
GPUShader * OVERLAY_shader_edit_gpencil_point(void)
GPUShader * OVERLAY_shader_edit_gpencil_wire(void)
GPUShader * OVERLAY_shader_edit_curve_point(void)
GPUShader * OVERLAY_shader_gpencil_canvas(void)
struct Depsgraph * depsgraph
struct ViewLayer * view_layer
struct GPUUniformBuf * block_ubo
struct GPUTexture * weight_ramp
struct MaterialGPencilStyle * gp_style
OVERLAY_StorageList * stl
DRWPass * edit_gpencil_ps
DRWPass * edit_gpencil_gizmos_ps
DRWPass * gpencil_canvas_ps
DRWPass * edit_gpencil_curve_ps
struct OVERLAY_PrivateData::@240 edit_curve
DRWShadingGroup * edit_gpencil_points_grp
DRWShadingGroup * edit_gpencil_wires_grp
DRWShadingGroup * edit_gpencil_curve_handle_grp
DRWShadingGroup * edit_gpencil_curve_points_grp
struct OVERLAY_PrivateData * pd
struct ToolSettings * toolsettings
float gpencil_grid_opacity
bGPDcontrolpoint * cp_points