GPv3: Set keyframe type
Update of the animation operator "set keyframe type" to take into account grease pencil keyframes. Pull Request: https://projects.blender.org/blender/blender/pulls/111472
This commit is contained in:
committed by
Falk David
parent
5870ffa570
commit
fc5b0ba19a
@@ -27,6 +27,16 @@
|
||||
|
||||
namespace blender::ed::greasepencil {
|
||||
|
||||
void set_selected_frames_type(bke::greasepencil::Layer &layer,
|
||||
const eBezTriple_KeyframeType key_type)
|
||||
{
|
||||
for (GreasePencilFrame &frame : layer.frames_for_write().values()) {
|
||||
if (frame.is_selected()) {
|
||||
frame.type = key_type;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
bool remove_all_selected_frames(GreasePencil &grease_pencil, bke::greasepencil::Layer &layer)
|
||||
{
|
||||
Vector<int> frames_to_remove;
|
||||
|
||||
@@ -47,6 +47,9 @@ eAttrDomain ED_grease_pencil_selection_domain_get(bContext *C);
|
||||
|
||||
namespace blender::ed::greasepencil {
|
||||
|
||||
void set_selected_frames_type(bke::greasepencil::Layer &layer,
|
||||
const eBezTriple_KeyframeType key_type);
|
||||
|
||||
bool remove_all_selected_frames(GreasePencil &grease_pencil, bke::greasepencil::Layer &layer);
|
||||
|
||||
void select_layer_channel(GreasePencil &grease_pencil, bke::greasepencil::Layer *layer);
|
||||
|
||||
@@ -1662,7 +1662,10 @@ static void setkeytype_action_keys(bAnimContext *ac, short mode)
|
||||
break;
|
||||
|
||||
case ANIMTYPE_GREASE_PENCIL_LAYER:
|
||||
/* GPv3: To be implemented. */
|
||||
blender::ed::greasepencil::set_selected_frames_type(
|
||||
static_cast<GreasePencilLayer *>(ale->data)->wrap(),
|
||||
static_cast<eBezTriple_KeyframeType>(mode));
|
||||
ale->update |= ANIM_UPDATE_DEPS;
|
||||
break;
|
||||
|
||||
case ANIMTYPE_FCURVE:
|
||||
|
||||
Reference in New Issue
Block a user