Browse Source

Fixed animation previews

flabbet 7 months ago
parent
commit
cc3e633d49

+ 8 - 1
src/PixiEditor.ChangeableDocument/Changeables/Graph/Nodes/ImageLayerNode.cs

@@ -154,6 +154,7 @@ public class ImageLayerNode : LayerNode, IReadOnlyImageNode
 
 
         var img = GetLayerImageAtFrame(context.FrameTime.Frame);
         var img = GetLayerImageAtFrame(context.FrameTime.Frame);
 
 
+        int cacheFrame = context.FrameTime.Frame;
         if (Guid.TryParse(elementToRenderName, out Guid guid))
         if (Guid.TryParse(elementToRenderName, out Guid guid))
         {
         {
             var keyFrame = keyFrames.FirstOrDefault(x => x.KeyFrameGuid == guid);
             var keyFrame = keyFrames.FirstOrDefault(x => x.KeyFrameGuid == guid);
@@ -161,6 +162,12 @@ public class ImageLayerNode : LayerNode, IReadOnlyImageNode
             if (keyFrame != null)
             if (keyFrame != null)
             {
             {
                 img = GetLayerImageByKeyFrameGuid(keyFrame.KeyFrameGuid);
                 img = GetLayerImageByKeyFrameGuid(keyFrame.KeyFrameGuid);
+                cacheFrame = keyFrame.StartFrame;
+            }
+            else if (guid == Id)
+            {
+                img = GetLayerImageAtFrame(0);
+                cacheFrame = 0;
             }
             }
         }
         }
 
 
@@ -169,7 +176,7 @@ public class ImageLayerNode : LayerNode, IReadOnlyImageNode
             return false;
             return false;
         }
         }
 
 
-        if (renderedSurfaceFrame == context.FrameTime.Frame)
+        if (renderedSurfaceFrame == cacheFrame)
         {
         {
             renderOnto.Canvas.DrawSurface(fullResrenderedSurface.DrawingSurface, VecI.Zero, blendPaint);
             renderOnto.Canvas.DrawSurface(fullResrenderedSurface.DrawingSurface, VecI.Zero, blendPaint);
         }
         }