28class GreasePencilDrawingRuntime;
161 bool is_implicit_hold()
const;
162 bool is_selected()
const;
400#define GREASE_PENCIL_ONION_SKINNING_FILTER_ALL \
401 (GP_ONION_SKINNING_FILTER_KEYTYPE_KEYFRAME | GP_ONION_SKINNING_FILTER_KEYTYPE_EXTREME | \
402 GP_ONION_SKINNING_FILTER_KEYTYPE_BREAKDOWN | GP_ONION_SKINNING_FILTER_KEYTYPE_JITTER | \
403 GP_ONION_SKINNING_FILTER_KEYTYPE_MOVEHOLD)
527 bool has_active_layer()
const;
532 void autolock_inactive_layers();
535 bool has_active_group()
const;
547 bool check_name_is_unique =
true);
552 bool check_name_is_unique =
true);
562 bool check_name_is_unique =
true);
566 bool check_name_is_unique =
true);
572 void add_layers_for_eval(
int num_new_layers);
593 void rename_node(
Main &bmain,
638 void add_layers_with_empty_drawings_for_eval(
int num);
644 void resize_drawings(
int new_num);
646 void add_empty_drawings(
int add_num);
647 void add_duplicate_drawings(
int duplicate_num,
650 int src_frame_number,
651 int dst_frame_number,
686 void remove_drawings_with_no_users();
716 std::optional<blender::Bounds<blender::float3>> bounds_min_max(
int frame)
const;
717 std::optional<blender::Bounds<blender::float3>> bounds_min_max_eval()
const;
725 void print_layer_tree();
ID and Library types, which are fundamental for SDNA.
GreasePencilLayerBlendMode
@ GP_LAYER_BLEND_HARDLIGHT
@ GP_LAYER_BLEND_MULTIPLY
@ GP_LAYER_BLEND_SUBTRACT
GreasePencilStrokeCapType
@ GP_STROKE_CAP_TYPE_FLAT
@ GP_STROKE_CAP_TYPE_ROUND
GreasePencilLayerFramesMapStorageFlag
@ GP_LAYER_FRAMES_STORAGE_DIRTY
GreasePencilOnionSkinningMode
@ GP_ONION_SKINNING_MODE_ABSOLUTE
@ GP_ONION_SKINNING_MODE_SELECTED
@ GP_ONION_SKINNING_MODE_RELATIVE
GreasePencilDrawingBaseFlag
@ GreasePencilDrawingBaseFlag_TODO
GreasePencilLayerMaskFlag
GreasePencilLayerTreeNodeType
GreasePencilLayerTreeNodeFlag
@ GP_LAYER_TREE_NODE_EXPANDED
@ GP_LAYER_TREE_NODE_IGNORE_LOCKED_MATERIALS
@ GP_LAYER_TREE_NODE_LOCKED
@ GP_LAYER_TREE_NODE_MUTE
@ GP_LAYER_TREE_NODE_HIDE
@ GP_LAYER_TREE_NODE_SELECT
@ GP_LAYER_TREE_NODE_HIDE_ONION_SKINNING
@ GP_LAYER_TREE_NODE_USE_LIGHTS
@ GP_LAYER_TREE_NODE_HIDE_MASKS
@ GP_LAYER_TREE_NODE_DISABLE_MASKS_IN_VIEWLAYER
struct GreasePencilRuntimeHandle GreasePencilRuntimeHandle
@ GREASE_PENCIL_AUTOLOCK_LAYERS
@ GREASE_PENCIL_ANIM_CHANNEL_EXPANDED
@ GREASE_PENCIL_STROKE_ORDER_3D
struct GreasePencilLayerRuntimeHandle GreasePencilLayerRuntimeHandle
GreasePencilOnionSkinningFlag
@ GP_ONION_SKINNING_USE_FADE
@ GP_ONION_SKINNING_SHOW_LOOP
@ GP_ONION_SKINNING_USE_CUSTOM_COLORS
GreasePencilOnionSkinningFilter
@ GP_ONION_SKINNING_FILTER_KEYTYPE_MOVEHOLD
@ GP_ONION_SKINNING_FILTER_KEYTYPE_JITTER
@ GP_ONION_SKINNING_FILTER_KEYTYPE_KEYFRAME
@ GP_ONION_SKINNING_FILTER_KEYTYPE_BREAKDOWN
@ GP_ONION_SKINNING_FILTER_KEYTYPE_EXTREME
struct GreasePencilLayerGroupRuntimeHandle GreasePencilLayerGroupRuntimeHandle
struct GreasePencilDrawingRuntimeHandle GreasePencilDrawingRuntimeHandle
These structs are the foundation for all linked lists in the library system.
float wrap(float value, float max, float min)
struct GreasePencil * id_reference
GreasePencilDrawingBase base
GreasePencilDrawingBase base
GreasePencilDrawingRuntimeHandle * runtime
GreasePencilFrame * values
struct GreasePencilLayerMask * next
struct GreasePencilLayerMask * prev
GreasePencilLayerTreeNode base
GreasePencilLayerGroupRuntimeHandle * runtime
struct GreasePencilLayerTreeNode * next
struct GreasePencilLayerTreeNode * prev
struct GreasePencilLayerTreeGroup * parent
GreasePencilLayerRuntimeHandle * runtime
GreasePencilLayerTreeNode base
GreasePencilLayerFramesMapStorage frames_storage
int16_t num_frames_before
int attributes_active_index
GreasePencilLayerTreeNode * active_node
struct Material ** material_array
int vertex_group_active_index
ListBase vertex_group_names
GreasePencilLayerTreeGroup * root_group_ptr
GreasePencilRuntimeHandle * runtime
GreasePencilDrawingBase ** drawing_array
GreasePencilOnionSkinningSettings onion_skinning_settings