|
@@ -12,31 +12,26 @@ internal class CreateRasterKeyFrame_Change : Change
|
|
|
private Guid createdKeyFrameId;
|
|
|
|
|
|
[GenerateMakeChangeAction]
|
|
|
- public CreateRasterKeyFrame_Change(Guid targetLayerGuid, int frame, bool cloneFromExisting = false)
|
|
|
+ public CreateRasterKeyFrame_Change(Guid targetLayerGuid, Guid newKeyFrameGuid, int frame,
|
|
|
+ bool cloneFromExisting = false)
|
|
|
{
|
|
|
_targetLayerGuid = targetLayerGuid;
|
|
|
_frame = frame;
|
|
|
_cloneFromExisting = cloneFromExisting;
|
|
|
+ createdKeyFrameId = newKeyFrameGuid;
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
public override bool InitializeAndValidate(Document target)
|
|
|
{
|
|
|
return target.TryFindMember(_targetLayerGuid, out _layer);
|
|
|
}
|
|
|
|
|
|
- public override OneOf<None, IChangeInfo, List<IChangeInfo>> Apply(Document target, bool firstApply, out bool ignoreInUndo)
|
|
|
+ public override OneOf<None, IChangeInfo, List<IChangeInfo>> Apply(Document target, bool firstApply,
|
|
|
+ out bool ignoreInUndo)
|
|
|
{
|
|
|
var keyFrame =
|
|
|
new RasterKeyFrame(_targetLayerGuid, _frame, target, _cloneFromExisting ? _layer.LayerImage : null);
|
|
|
- if (firstApply)
|
|
|
- {
|
|
|
- createdKeyFrameId = keyFrame.Id;
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
- keyFrame.Id = createdKeyFrameId;
|
|
|
- }
|
|
|
-
|
|
|
+ keyFrame.Id = createdKeyFrameId;
|
|
|
target.AnimationData.AddKeyFrame(keyFrame);
|
|
|
ignoreInUndo = false;
|
|
|
return new CreateRasterKeyFrame_ChangeInfo(_targetLayerGuid, _frame, createdKeyFrameId, _cloneFromExisting);
|