Blender
V3.3
|
#include "DRW_render.h"
#include "BKE_gpencil.h"
#include "UI_resources.h"
#include "DNA_gpencil_types.h"
#include "DEG_depsgraph_query.h"
#include "ED_view3d.h"
#include "overlay_private.h"
#include "draw_common.h"
#include "draw_manager_text.h"
Go to the source code of this file.
Functions | |
void | OVERLAY_edit_gpencil_cache_init (OVERLAY_Data *vedata) |
void | OVERLAY_gpencil_cache_init (OVERLAY_Data *vedata) |
static void | OVERLAY_edit_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_gpencil_color_names (Object *ob) |
void | OVERLAY_gpencil_cache_populate (OVERLAY_Data *vedata, Object *ob) |
void | OVERLAY_gpencil_draw (OVERLAY_Data *vedata) |
void | OVERLAY_edit_gpencil_draw (OVERLAY_Data *vedata) |
void OVERLAY_edit_gpencil_cache_init | ( | OVERLAY_Data * | vedata | ) |
Definition at line 25 of file overlay_gpencil.c.
References DRW_Global::block, DRW_Global::block_ubo, OVERLAY_PrivateData::clipping_state, bGPDcontrolpoint::color, color, bGPdata_Runtime::cp_points, Scene::cursor, Object::data, DRW_context_state_get(), DRW_PASS_CREATE, DRW_shgroup_call_procedural_points(), DRW_shgroup_create(), DRW_shgroup_create_sub(), DRW_shgroup_state_enable(), DRW_shgroup_uniform_block, DRW_shgroup_uniform_bool_copy(), DRW_shgroup_uniform_float_copy(), DRW_shgroup_uniform_int_copy(), DRW_shgroup_uniform_texture(), DRW_shgroup_uniform_vec3_copy(), DRW_shgroup_uniform_vec4_copy(), DRW_STATE_BLEND_ALPHA, DRW_STATE_DEPTH_LESS_EQUAL, DRW_STATE_WRITE_COLOR, DRW_STATE_WRITE_DEPTH, OVERLAY_PrivateData::edit_curve, OVERLAY_PrivateData::edit_gpencil_curve_handle_grp, OVERLAY_PrivateData::edit_gpencil_curve_points_grp, OVERLAY_PassList::edit_gpencil_curve_ps, OVERLAY_PassList::edit_gpencil_gizmos_ps, OVERLAY_PrivateData::edit_gpencil_points_grp, OVERLAY_PassList::edit_gpencil_ps, OVERLAY_PrivateData::edit_gpencil_wires_grp, bGPdata::flag, G_draw, View3D::gizmo_flag, GP_DATA_STROKE_WEIGHTMODE, View3D::gp_flag, GP_GUIDE_REF_CUSTOM, GP_GUIDE_REF_OBJECT, GP_SCULPT_MASK_SELECTMODE_POINT, GP_SCULPT_MASK_SELECTMODE_SEGMENT, GP_SELECTMODE_STROKE, GP_VERTEX_MASK_SELECTMODE_POINT, GP_VERTEX_MASK_SELECTMODE_SEGMENT, GPENCIL_ANY_SCULPT_MASK, GPENCIL_ANY_VERTEX_MASK, GPENCIL_CURVE_EDIT_SESSIONS_ON, GPENCIL_EDIT_MODE, GPENCIL_MULTIEDIT_SESSIONS_ON, GPENCIL_PAINT_MODE, GPENCIL_SCULPT_MODE, GPENCIL_VERTEX_MODE, GPENCIL_WEIGHT_MODE, OVERLAY_PrivateData::handle_display, if(), View3DCursor::location, NULL, OB_GPENCIL, OB_MODE_PAINT_GPENCIL, DRWContextState::obact, DRWContextState::object_mode, OVERLAY_shader_edit_curve_handle(), OVERLAY_shader_edit_curve_point(), OVERLAY_shader_edit_gpencil_guide_point(), OVERLAY_shader_edit_gpencil_point(), OVERLAY_shader_edit_gpencil_wire(), OVERLAY_StorageList::pd, OVERLAY_Data::psl, bGPdata::runtime, scene, DRWContextState::scene, sh, OVERLAY_PrivateData::show_handles, bGPDcontrolpoint::size, GlobalsUboStorage::size_pixel, state, OVERLAY_Data::stl, TH_GIZMO_PRIMARY, TH_GIZMO_SECONDARY, TH_REDALERT, Scene::toolsettings, bGPdata_Runtime::tot_cp_points, Object::type, UI_GetThemeColor4fv(), DRWContextState::v3d, V3D_GIZMO_HIDE, V3D_GIZMO_HIDE_TOOL, V3D_GP_SHOW_EDIT_LINES, V3D_GP_SHOW_MULTIEDIT_LINES, View3D::vertex_opacity, DRW_Global::weight_ramp, and bGPDcontrolpoint::x.
Referenced by OVERLAY_cache_init().
|
static |
Definition at line 319 of file overlay_gpencil.c.
References OVERLAY_PrivateData::cfra, Object::data, DRW_cache_gpencil_edit_curve_handles_get(), DRW_cache_gpencil_edit_curve_points_get(), DRW_cache_gpencil_edit_lines_get(), DRW_cache_gpencil_edit_points_get(), DRW_context_state_get(), DRW_shgroup_call_no_cull, DRW_shgroup_create_sub(), DRW_shgroup_uniform_float_copy(), DRW_shgroup_uniform_vec4_copy(), OVERLAY_PrivateData::edit_gpencil_curve_handle_grp, OVERLAY_PrivateData::edit_gpencil_curve_points_grp, OVERLAY_PrivateData::edit_gpencil_points_grp, OVERLAY_PrivateData::edit_gpencil_wires_grp, View3D::gp_flag, GPUBatch, bGPdata::line_color, OVERLAY_StorageList::pd, OVERLAY_Data::stl, and V3D_GP_SHOW_STROKE_DIRECTION.
Referenced by OVERLAY_gpencil_cache_populate().
void OVERLAY_edit_gpencil_draw | ( | OVERLAY_Data * | vedata | ) |
Definition at line 455 of file overlay_gpencil.c.
References DRW_draw_pass(), OVERLAY_PassList::edit_gpencil_curve_ps, OVERLAY_PassList::edit_gpencil_gizmos_ps, OVERLAY_PassList::edit_gpencil_ps, and OVERLAY_Data::psl.
Referenced by OVERLAY_draw_scene().
void OVERLAY_gpencil_cache_init | ( | OVERLAY_Data * | vedata | ) |
Definition at line 205 of file overlay_gpencil.c.
References add_v3_v3(), BKE_gpencil_layer_active_get(), DRW_Global::block_ubo, bGPgrid::color, copy_m3_m4(), copy_m4_m4(), copy_v3_v3(), Scene::cursor, CURVE_HANDLE_NONE, Object::data, DRW_context_state_get(), DRW_PASS_CREATE, DRW_shgroup_call_procedural_lines(), DRW_shgroup_create(), DRW_shgroup_uniform_block, DRW_shgroup_uniform_int_copy(), DRW_shgroup_uniform_vec3_copy(), DRW_shgroup_uniform_vec4_copy(), DRW_STATE_BLEND_ALPHA, DRW_STATE_DEPTH_ALWAYS, DRW_STATE_DEPTH_LESS_EQUAL, DRW_STATE_WRITE_COLOR, DRW_view_viewmat_get(), ED_scene_grid_scale(), OVERLAY_PrivateData::edit_curve, View3D::flag2, G_draw, View3D::gp_flag, GP_LOCKAXIS_CURSOR, GP_LOCKAXIS_VIEW, GP_LOCKAXIS_X, GP_LOCKAXIS_Y, GP_LOCKAXIS_Z, GP_PROJECT_CURSOR, GP_PROJECT_DEPTH_STROKE, GP_PROJECT_DEPTH_VIEW, GP_PROJECT_VIEWSPACE, OVERLAY_PassList::gpencil_canvas_ps, View3DOverlay::gpencil_grid_opacity, bGPdata::grid, OVERLAY_PrivateData::handle_display, View3DOverlay::handle_display, if(), bGPDlayer::layer_mat, bGPgrid::lines, loc_eul_size_to_mat4(), max_ff(), mul_m4_m4m3(), mul_v2_v2fl(), NULL, OB_GPENCIL, DRWContextState::obact, Object::obmat, bGPgrid::offset, View3D::overlay, OVERLAY_shader_gpencil_canvas(), OVERLAY_StorageList::pd, OVERLAY_Data::psl, rescale_m4(), bGPgrid::scale, scene, DRWContextState::scene, sh, OVERLAY_PrivateData::show_handles, size(), state, OVERLAY_Data::stl, swap_v4_v4(), Scene::toolsettings, translate_m4(), Object::type, DRWContextState::v3d, V3D_GP_SHOW_GRID, V3D_GP_SHOW_GRID_XRAY, and V3D_HIDE_OVERLAYS.
Referenced by OVERLAY_cache_init().
void OVERLAY_gpencil_cache_populate | ( | OVERLAY_Data * | vedata, |
Object * | ob | ||
) |
Definition at line 423 of file overlay_gpencil.c.
References Object::base_flag, BASE_FROM_DUPLI, BASE_FROM_SET, Object::data, DRW_context_state_get(), DRW_state_show_text(), View3D::gp_flag, GPENCIL_ANY_MODE, if(), Object::mode, NULL, OB_MODE_EDIT_GPENCIL, OVERLAY_edit_gpencil_cache_populate(), OVERLAY_gpencil_color_names(), DRWContextState::v3d, and V3D_GP_SHOW_MATERIAL_NAME.
Referenced by OVERLAY_cache_populate().
Definition at line 414 of file overlay_gpencil.c.
References BKE_gpencil_visible_stroke_advanced_iter(), DEG_get_ctime(), DRWContextState::depsgraph, DRW_context_state_get(), NULL, and overlay_gpencil_draw_stroke_color_name().
Referenced by OVERLAY_gpencil_cache_populate().
void OVERLAY_gpencil_draw | ( | OVERLAY_Data * | vedata | ) |
Definition at line 446 of file overlay_gpencil.c.
References DRW_draw_pass(), OVERLAY_PassList::gpencil_canvas_ps, and OVERLAY_Data::psl.
Referenced by OVERLAY_draw_scene().
|
static |
Definition at line 364 of file overlay_gpencil.c.
References BKE_object_material_get_eval(), color, DRW_context_state_get(), DRW_object_wire_theme_get(), DRW_text_cache_add(), DRW_text_cache_ensure(), DRW_TEXT_CACHE_GLOBALSPACE, DRW_TEXT_CACHE_STRING_PTR, bGPDspoint::flag, bGPDstroke::flag, MaterialGPencilStyle::flag, GP_MATERIAL_HIDE, GP_SPOINT_SELECT, GP_STROKE_SELECT, Material::gp_style, Material::id, bGPDstroke::mat_nr, mul_v3_m4v3(), ID::name, NULL, Object::obmat, bGPDstroke::points, bGPDstroke::totpoints, UI_GetThemeColor4ubv(), DRWContextState::view_layer, and bGPDspoint::x.
Referenced by OVERLAY_gpencil_color_names().