|
Blender V5.0
|
Go to the source code of this file.
Macros | |
| #define | GPENCIL_SIMPLIFY(scene) |
| #define | GPENCIL_SIMPLIFY_ONPLAY(playing) |
| #define | GPENCIL_SIMPLIFY_FILL(scene, playing) |
| #define | GPENCIL_SIMPLIFY_FX(scene, playing) |
| #define | GPENCIL_SIMPLIFY_TINT(scene) |
| #define | GPENCIL_SIMPLIFY_AA(scene) |
| #define | GPENCIL_USE_VERTEX_COLOR(toolsettings) |
| #define | GPENCIL_ALPHA_OPACITY_THRESH 0.001f |
| #define | GPENCIL_STRENGTH_MIN 0.003f |
Typedefs | |
| typedef enum eGP_GetFrame_Mode | eGP_GetFrame_Mode |
Enumerations | |
| enum | eGP_GetFrame_Mode { GP_GETFRAME_USE_PREV = 0 , GP_GETFRAME_ADD_NEW = 1 , GP_GETFRAME_ADD_COPY = 2 } |
| #define GPENCIL_ALPHA_OPACITY_THRESH 0.001f |
Definition at line 148 of file BKE_gpencil_legacy.h.
| #define GPENCIL_SIMPLIFY | ( | scene | ) |
Definition at line 32 of file BKE_gpencil_legacy.h.
| #define GPENCIL_SIMPLIFY_AA | ( | scene | ) |
Definition at line 45 of file BKE_gpencil_legacy.h.
Referenced by blender::draw::gpencil::Instance::begin_sync().
| #define GPENCIL_SIMPLIFY_FILL | ( | scene, | |
| playing ) |
Definition at line 37 of file BKE_gpencil_legacy.h.
Referenced by blender::draw::gpencil::Instance::begin_sync().
| #define GPENCIL_SIMPLIFY_FX | ( | scene, | |
| playing ) |
Definition at line 40 of file BKE_gpencil_legacy.h.
Referenced by blender::draw::gpencil::Instance::begin_sync().
| #define GPENCIL_SIMPLIFY_ONPLAY | ( | playing | ) |
Definition at line 34 of file BKE_gpencil_legacy.h.
| #define GPENCIL_SIMPLIFY_TINT | ( | scene | ) |
Definition at line 43 of file BKE_gpencil_legacy.h.
| #define GPENCIL_STRENGTH_MIN 0.003f |
Definition at line 149 of file BKE_gpencil_legacy.h.
Referenced by annotation_stroke_newfrombuffer().
| #define GPENCIL_USE_VERTEX_COLOR | ( | toolsettings | ) |
Definition at line 49 of file BKE_gpencil_legacy.h.
| enum eGP_GetFrame_Mode |
| Enumerator | |
|---|---|
| GP_GETFRAME_USE_PREV | |
| GP_GETFRAME_ADD_NEW | |
| GP_GETFRAME_ADD_COPY | |
Definition at line 161 of file BKE_gpencil_legacy.h.
| void BKE_gpencil_blend_read_data | ( | struct BlendDataReader * | reader, |
| struct bGPdata * | gpd ) |
Definition at line 183 of file gpencil_legacy.cc.
References BKE_defvert_blend_read(), BLO_read_pointer_array(), BLO_read_struct, BLO_read_struct_array, BLO_read_struct_list, bGPdata::flag, GP_DATA_STROKE_EDITMODE, GP_DATA_STROKE_PAINTMODE, GP_DATA_STROKE_SCULPTMODE, GP_DATA_STROKE_VERTEXMODE, GP_DATA_STROKE_WEIGHTMODE, ID_IS_LINKED, bGPdata::layers, LISTBASE_FOREACH, bGPdata::mat, bGPdata::runtime, bGPdata_Runtime::sbuffer, bGPdata_Runtime::sbuffer_size, bGPdata_Runtime::sbuffer_used, bGPDcurve::tot_curve_points, bGPdata::totcol, and bGPdata::vertex_group_names.
Referenced by greasepencil_blend_read_data(), image_space_blend_read_data(), blender::ed::space_node::node_space_blend_read_data(), blender::ed::vse::sequencer_space_blend_read_data(), and view3d_space_blend_read_data().
Set grease pencil brush material.
Definition at line 1146 of file gpencil_legacy.cc.
References BKE_brush_tag_unsaved_changes(), BLI_assert, Brush::gpencil_settings, Material::id, id_us_min(), id_us_plus(), and BrushGpencilSettings::material.
Add a new grease pencil data-block.
Definition at line 648 of file gpencil_legacy.cc.
References ARRAY_SET_ITEMS, BKE_libblock_alloc(), bGPgrid::color, bGPdata::curve_edit_corner_angle, bGPdata::curve_edit_resolution, bGPdata::curve_edit_threshold, bGPdata::flag, bGPdata::gcolor_next, bGPdata::gcolor_prev, GP_DATA_CURVE_ADAPTIVE_RESOLUTION, GP_DATA_DISPINFO, GP_DATA_EXPAND, GP_DATA_SHOW_ONIONSKINS, GP_DATA_VIEWALIGN, GP_DEFAULT_CURVE_EDIT_CORNER_ANGLE, GP_DEFAULT_CURVE_ERROR, GP_DEFAULT_CURVE_RESOLUTION, GP_DEFAULT_GRID_LINES, GP_DEFAULT_PIX_FACTOR, GP_ONION_FADE, GP_ONION_GHOST_NEXTCOL, GP_ONION_GHOST_PREVCOL, GP_ONION_MODE_RELATIVE, bGPdata::grid, bGPdata::gstep, bGPdata::gstep_next, ID_GD_LEGACY, bGPdata::line_color, bGPgrid::lines, name, bGPdata::onion_factor, bGPdata::onion_flag, bGPdata::onion_keytype, bGPdata::onion_mode, bGPdata::pixfactor, bGPgrid::scale, and bGPdata::zdepth_offset.
Referenced by annotation_session_initdata(), gpencil_data_add_exec(), gpencil_layer_add_exec(), and view3d_ruler_gpencil_ensure().
| struct bGPdata * BKE_gpencil_data_duplicate | ( | struct Main * | bmain, |
| const struct bGPdata * | gpd, | ||
| bool | internal_copy ) |
Make a copy of a given gpencil data-block.
XXX: Should this be deprecated?
Add a copy of the active gp-frame to the given layer.
| gpl | Grease pencil layer |
| cframe | Frame number |
Definition at line 510 of file gpencil_legacy.cc.
References bGPDlayer::actframe, BKE_gpencil_frame_addnew(), BKE_gpencil_frame_duplicate(), BKE_gpencil_free_strokes(), BLI_addtail(), BLI_insertlinkbefore(), bGPDframe::framenum, bGPDlayer::frames, LISTBASE_FOREACH, and MEM_freeN().
Referenced by BKE_gpencil_layer_frame_get().
Add a new gp-frame to the given layer.
| gpl | Grease pencil layer |
| cframe | Frame number |
Definition at line 457 of file gpencil_legacy.cc.
References BLI_addtail(), BLI_assert, BLI_insertlinkbefore(), CLOG_ERROR, ListBase::first, bGPDframe::framenum, bGPDlayer::frames, LOG, MEM_callocN(), MEM_freeN(), bGPDframe::next, and state.
Referenced by BKE_gpencil_frame_addcopy(), and BKE_gpencil_layer_frame_get().
| struct bGPDframe * BKE_gpencil_frame_duplicate | ( | const struct bGPDframe * | gpf_src, |
| bool | dup_strokes ) |
Make a copy of a given gpencil frame.
| gpf_src | Source grease pencil frame |
Referenced by do_versions_after_linking_290(), ED_gpencil_anim_copybuf_copy(), and ED_gpencil_layer_frames_duplicate().
| void BKE_gpencil_free_data | ( | struct bGPdata * | gpd, |
| bool | free_all ) |
Free (or release) any data used by this grease pencil (does not free the gpencil itself).
Definition at line 437 of file gpencil_legacy.cc.
References BKE_gpencil_free_layers(), BKE_gpencil_free_legacy_palette_data(), BLI_freelistN(), bGPdata::layers, bGPdata::mat, MEM_SAFE_FREE, and bGPdata::vertex_group_names.
Referenced by animchannels_delete_exec(), gpencil_layer_remove_exec(), greasepencil_free_data(), and blender::ed::vse::sequencer_free().
| void BKE_gpencil_free_frames | ( | struct bGPDlayer * | gpl | ) |
Free all of a gp-layer's frames.
Definition at line 374 of file gpencil_legacy.cc.
References bGPDlayer::actframe, BKE_gpencil_free_strokes(), BLI_freelinkN(), ListBase::first, bGPDlayer::frames, and bGPDframe::next.
Referenced by BKE_gpencil_free_layers(), and BKE_gpencil_layer_delete().
| void BKE_gpencil_free_layer_masks | ( | struct bGPDlayer * | gpl | ) |
Definition at line 394 of file gpencil_legacy.cc.
References BLI_freelinkN(), ListBase::first, mask(), and bGPDlayer::mask_layers.
Referenced by BKE_gpencil_free_layers(), and BKE_gpencil_layer_delete().
| void BKE_gpencil_free_layers | ( | struct ListBase * | list | ) |
Free all of the gp-layers for a viewport (list should be &gpd->layers or so).
Definition at line 405 of file gpencil_legacy.cc.
References BKE_gpencil_free_frames(), BKE_gpencil_free_layer_masks(), BLI_freelinkN(), ListBase::first, and bGPDlayer::next.
Referenced by BKE_gpencil_free_data(), and ED_gpencil_anim_copybuf_free().
| void BKE_gpencil_free_legacy_palette_data | ( | struct ListBase * | list | ) |
Free all of the palettes & colors (list should be &gpd->palettes or so).
Definition at line 428 of file gpencil_legacy.cc.
References BLI_freelistN(), BLI_listbase_clear(), LISTBASE_FOREACH_MUTABLE, and MEM_freeN().
Referenced by BKE_gpencil_free_data().
| void BKE_gpencil_free_point_weights | ( | struct MDeformVert * | dvert | ) |
Definition at line 300 of file gpencil_legacy.cc.
References MDeformVert::dw, and MEM_SAFE_FREE.
Referenced by BKE_gpencil_free_stroke_weights().
| void BKE_gpencil_free_stroke | ( | struct bGPDstroke * | gps | ) |
Free stroke, doesn't unlink from any ListBase.
Definition at line 338 of file gpencil_legacy.cc.
References BKE_gpencil_free_stroke_editcurve(), BKE_gpencil_free_stroke_weights(), bGPDstroke::dvert, bGPDstroke::editcurve, MEM_freeN(), bGPDstroke::points, and bGPDstroke::triangles.
Referenced by BKE_gpencil_free_strokes(), BKE_gpencil_stroke_delete_tagged_points(), and gpencil_stroke_join_islands().
| void BKE_gpencil_free_stroke_editcurve | ( | struct bGPDstroke * | gps | ) |
Definition at line 324 of file gpencil_legacy.cc.
References bGPDcurve::curve_points, bGPDstroke::editcurve, and MEM_freeN().
Referenced by BKE_gpencil_free_stroke().
| void BKE_gpencil_free_stroke_weights | ( | struct bGPDstroke * | gps | ) |
Definition at line 308 of file gpencil_legacy.cc.
References BKE_gpencil_free_point_weights(), bGPDstroke::dvert, i, and bGPDstroke::totpoints.
Referenced by annotation_free_stroke(), and BKE_gpencil_free_stroke().
| bool BKE_gpencil_free_strokes | ( | struct bGPDframe * | gpf | ) |
Free strokes belonging to a gp-frame.
Definition at line 361 of file gpencil_legacy.cc.
References BKE_gpencil_free_stroke(), BLI_listbase_clear(), BLI_listbase_is_empty(), LISTBASE_FOREACH_MUTABLE, and bGPDframe::strokes.
Referenced by BKE_gpencil_frame_addcopy(), BKE_gpencil_free_frames(), BKE_gpencil_layer_frame_delete(), and view3d_ruler_to_gpencil().
Get the active grease pencil layer for editing.
| gpd | Grease pencil data-block |
Definition at line 1087 of file gpencil_legacy.cc.
References ELEM, ListBase::first, GP_LAYER_ACTIVE, bGPdata::layers, and LISTBASE_FOREACH.
Referenced by annotation_actframe_delete_poll(), annotation_paint_initstroke(), BKE_gpencil_layer_addnew(), ED_gpencil_set_active_channel(), gpencil_actframe_delete_exec(), gpencil_active_layer_annotation_poll(), gpencil_layer_move_exec(), gpencil_layer_remove_exec(), and screen_ctx_active_annotation_layer().
Set active grease pencil layer.
| gpd | Grease pencil data-block |
| active | Grease pencil layer to set as active |
Definition at line 1105 of file gpencil_legacy.cc.
References active, ELEM, ListBase::first, bGPdata::flag, bGPDlayer::flag, GP_DATA_AUTOLOCK_LAYERS, GP_LAYER_ACTIVE, GP_LAYER_LOCKED, bGPdata::layers, and LISTBASE_FOREACH.
Referenced by BKE_gpencil_layer_addnew(), click_select_channel_gplayer(), ED_gpencil_set_active_channel(), gpencil_layer_remove_exec(), blender::ed::outliner::namebutton_fn(), and blender::ed::outliner::tree_element_gplayer_activate().
| struct bGPDlayer * BKE_gpencil_layer_addnew | ( | struct bGPdata * | gpd, |
| const char * | name, | ||
| bool | setactive, | ||
| bool | add_to_header ) |
Add a new gp-layer and make it the active layer.
| gpd | Grease pencil data-block |
| name | Name of the layer |
| setactive | Set as active |
| add_to_header | Used to force the layer added at header |
Definition at line 564 of file gpencil_legacy.cc.
References ARRAY_SET_ITEMS, BKE_gpencil_layer_active_get(), BKE_gpencil_layer_active_set(), BLI_addhead(), BLI_addtail(), BLI_insertlinkafter(), BLI_uniquename(), bGPDlayer::color, copy_v3_fl(), copy_v4_v4(), DATA_, bGPdata::flag, bGPDlayer::flag, bGPDlayer::gcolor_next, bGPDlayer::gcolor_prev, GP_DATA_ANNOTATIONS, GP_LAYER_ONIONSKIN, GP_LAYER_USE_LIGHTS, bGPDlayer::info, invert_m4_m4(), bGPDlayer::layer_invmat, bGPDlayer::layer_mat, bGPdata::layers, loc_eul_size_to_mat4(), bGPDlayer::location, MEM_callocN(), name, offsetof, bGPDlayer::onion_flag, bGPDlayer::opacity, bGPDlayer::rotation, bGPDlayer::scale, STRNCPY_UTF8, bGPDlayer::thickness, U, bGPDlayer::vertex_paint_opacity, and zero_v3().
Referenced by annotation_paint_initstroke(), gpencil_data_add_exec(), gpencil_layer_add_exec(), and view3d_ruler_to_gpencil().
Delete grease pencil layer.
| gpd | Grease pencil data-block |
| gpl | Grease pencil layer |
Definition at line 1127 of file gpencil_legacy.cc.
References BKE_gpencil_free_frames(), BKE_gpencil_free_layer_masks(), BKE_icon_delete(), BLI_freelinkN(), ELEM, bGPDlayer_Runtime::icon_id, bGPdata::layers, and bGPDlayer::runtime.
Referenced by animchannels_delete_exec(), and gpencil_layer_remove_exec().
| struct bGPDlayer * BKE_gpencil_layer_duplicate | ( | const struct bGPDlayer * | gpl_src, |
| bool | dup_frames, | ||
| bool | dup_strokes ) |
Make a copy of a given gpencil layer.
| gpl_src | Source grease pencil layer |
Delete the given frame from a layer.
| gpl | Grease pencil layer |
| gpf | Grease pencil frame |
Definition at line 1030 of file gpencil_legacy.cc.
References bGPDlayer::actframe, BKE_gpencil_free_strokes(), BLI_freelinkN(), ELEM, bGPDlayer::frames, and bGPDframe::prev.
Referenced by ED_gpencil_anim_copybuf_paste(), ED_gpencil_layer_frames_delete(), gpencil_actframe_delete_exec(), and blender::ed::transform::posttrans_gpd_clean().
Look up the gp-frame on the requested frame number, but don't add a new one.
| gpl | Grease pencil layer |
| cframe | Frame number |
Definition at line 853 of file gpencil_legacy.cc.
References bGPDlayer::frames, and LISTBASE_FOREACH_BACKWARD.
Referenced by ED_gpencil_select_frame().
| struct bGPDframe * BKE_gpencil_layer_frame_get | ( | struct bGPDlayer * | gpl, |
| int | cframe, | ||
| eGP_GetFrame_Mode | addnew ) |
Get the appropriate gp-frame from a given layer
| gpl | Grease pencil layer |
| cframe | Frame number |
| addnew | Add option |
Definition at line 867 of file gpencil_legacy.cc.
References abs, bGPDlayer::actframe, BKE_gpencil_frame_addcopy(), BKE_gpencil_frame_addnew(), CLOG_STR_ERROR, ListBase::first, bGPDframe::flag, bGPDlayer::flag, bGPDframe::framenum, bGPDlayer::frames, GP_FRAME_PAINT, GP_GETFRAME_ADD_COPY, GP_LAYER_FRAMELOCK, ListBase::last, LOG, bGPDframe::next, and bGPDframe::prev.
Referenced by annotation_draw_data_layers(), annotation_paint_initstroke(), ED_gpencil_anim_copybuf_paste(), gpencil_actframe_delete_exec(), insert_gpencil_key(), view3d_ruler_from_gpencil(), and view3d_ruler_to_gpencil().
| void BKE_gpencil_layer_frames_sort | ( | struct bGPDlayer * | gpl, |
| bool * | r_has_duplicate_frames ) |
Sort grease pencil frames.
| gpl | Grease pencil layer |
| r_has_duplicate_frames | Duplicated frames flag |
Definition at line 1082 of file gpencil_legacy.cc.
References BLI_listbase_sort_r(), bGPDlayer::frames, and gpencil_cb_cmp_frame().
Referenced by ANIM_animdata_update(), and blender::ed::transform::posttrans_gpd_clean().
| bool BKE_gpencil_layer_is_editable | ( | const struct bGPDlayer * | gpl | ) |
Check if the given layer is able to be edited or not.
| gpl | Grease pencil layer |
Referenced by annotation_paint_initstroke().
Get layer by name
Definition at line 1053 of file gpencil_legacy.cc.
References BLI_findstring(), bGPdata::layers, name, and offsetof.
Create a default palette.
Definition at line 1162 of file gpencil_legacy.cc.
References ARRAY_SIZE, BKE_paint_palette_set(), BKE_palette_add(), BKE_palette_color_add(), BLI_assert, BLI_findstring(), PaletteColor::color, ListBase::first, ToolSettings::gp_paint, ToolSettings::gp_vertexpaint, hex_to_rgb(), i, Palette::id, id_us_min(), IMB_colormanagement_srgb_to_scene_linear_v3(), name, offsetof, GpPaint::paint, GpVertexPaint::paint, Paint::palette, Main::palettes, and Scene::toolsettings.
Referenced by BLO_update_defaults_startup_blend(), blender::ed::greasepencil::paintmode_toggle_exec(), and blender::ed::greasepencil::vertexmode_toggle_exec().
| struct bGPDstroke * BKE_gpencil_stroke_duplicate | ( | struct bGPDstroke * | gps_src, |
| bool | dup_points, | ||
| bool | dup_curve ) |
Make a copy of a given grease-pencil stroke.
| gps_src | Source grease pencil strokes. |
| dup_points | Duplicate points data. |
| dup_curve | Duplicate curve data. |
Definition at line 710 of file gpencil_legacy.cc.
References BKE_gpencil_stroke_weights_duplicate(), bGPDstroke::dvert, bGPDstroke::editcurve, MEM_dupallocN(), bGPDstroke::next, bGPDstroke::points, bGPDstroke::prev, and bGPDstroke::triangles.
Referenced by annotation_stroke_newfrombuffer(), BKE_gpencil_frame_duplicate(), BKE_gpencil_stroke_delete_tagged_points(), ED_gpencil_anim_copybuf_paste(), and gpencil_stroke_join_islands().
| void BKE_gpencil_stroke_weights_duplicate | ( | struct bGPDstroke * | gps_src, |
| struct bGPDstroke * | gps_dst ) |
Make a copy of a given gpencil weights.
| gps_src | Source grease pencil stroke |
| gps_dst | Destination grease pencil stroke |
Definition at line 700 of file gpencil_legacy.cc.
References BKE_defvert_array_copy(), BLI_assert, bGPDstroke::dvert, and bGPDstroke::totpoints.
Referenced by BKE_gpencil_stroke_duplicate().
| void BKE_gpencil_tag | ( | struct bGPdata * | gpd | ) |
Tag data-block for depsgraph update. Wrapper to avoid include Depsgraph tag functions in other modules.
| gpd | Grease pencil data-block. |
Definition at line 449 of file gpencil_legacy.cc.
References DEG_id_tag_update(), bGPdata::id, ID_RECALC_GEOMETRY, and ID_RECALC_TRANSFORM.
Referenced by insert_gpencil_key().