|
@@ -41,10 +41,20 @@ internal class AffectedAreasGatherer
|
|
private bool alreadyAddedWholeCanvasToEveryImagePreview = false;
|
|
private bool alreadyAddedWholeCanvasToEveryImagePreview = false;
|
|
|
|
|
|
public AffectedAreasGatherer(KeyFrameTime activeFrame, DocumentChangeTracker tracker,
|
|
public AffectedAreasGatherer(KeyFrameTime activeFrame, DocumentChangeTracker tracker,
|
|
- IReadOnlyList<IChangeInfo> changes)
|
|
|
|
|
|
+ IReadOnlyList<IChangeInfo> changes, bool refreshAllPreviews)
|
|
{
|
|
{
|
|
this.tracker = tracker;
|
|
this.tracker = tracker;
|
|
ActiveFrame = activeFrame;
|
|
ActiveFrame = activeFrame;
|
|
|
|
+
|
|
|
|
+ if (refreshAllPreviews)
|
|
|
|
+ {
|
|
|
|
+ AddWholeCanvasToMainImage();
|
|
|
|
+ AddWholeCanvasToEveryImagePreview(false);
|
|
|
|
+ AddWholeCanvasToEveryMaskPreview();
|
|
|
|
+ AddAllNodesToImagePreviews();
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+
|
|
ProcessChanges(changes);
|
|
ProcessChanges(changes);
|
|
|
|
|
|
var outputNode = tracker.Document.NodeGraph.OutputNode;
|
|
var outputNode = tracker.Document.NodeGraph.OutputNode;
|
|
@@ -103,7 +113,7 @@ internal class AffectedAreasGatherer
|
|
break;
|
|
break;
|
|
case Size_ChangeInfo:
|
|
case Size_ChangeInfo:
|
|
AddWholeCanvasToMainImage();
|
|
AddWholeCanvasToMainImage();
|
|
- AddWholeCanvasToEveryImagePreview();
|
|
|
|
|
|
+ AddWholeCanvasToEveryImagePreview(false);
|
|
AddWholeCanvasToEveryMaskPreview();
|
|
AddWholeCanvasToEveryMaskPreview();
|
|
break;
|
|
break;
|
|
case StructureMemberMask_ChangeInfo info:
|
|
case StructureMemberMask_ChangeInfo info:
|
|
@@ -152,25 +162,25 @@ internal class AffectedAreasGatherer
|
|
break;
|
|
break;
|
|
case SetActiveFrame_PassthroughAction:
|
|
case SetActiveFrame_PassthroughAction:
|
|
AddWholeCanvasToMainImage();
|
|
AddWholeCanvasToMainImage();
|
|
- AddWholeCanvasToEveryImagePreview();
|
|
|
|
|
|
+ AddWholeCanvasToEveryImagePreview(true);
|
|
AddAllNodesToImagePreviews();
|
|
AddAllNodesToImagePreviews();
|
|
IgnoreAnimationPreviews = true;
|
|
IgnoreAnimationPreviews = true;
|
|
break;
|
|
break;
|
|
case KeyFrameLength_ChangeInfo:
|
|
case KeyFrameLength_ChangeInfo:
|
|
AddWholeCanvasToMainImage();
|
|
AddWholeCanvasToMainImage();
|
|
- AddWholeCanvasToEveryImagePreview();
|
|
|
|
|
|
+ AddWholeCanvasToEveryImagePreview(true);
|
|
break;
|
|
break;
|
|
case DeleteKeyFrame_ChangeInfo:
|
|
case DeleteKeyFrame_ChangeInfo:
|
|
AddWholeCanvasToMainImage();
|
|
AddWholeCanvasToMainImage();
|
|
- AddWholeCanvasToEveryImagePreview();
|
|
|
|
|
|
+ AddWholeCanvasToEveryImagePreview(true);
|
|
break;
|
|
break;
|
|
case KeyFrameVisibility_ChangeInfo:
|
|
case KeyFrameVisibility_ChangeInfo:
|
|
AddWholeCanvasToMainImage();
|
|
AddWholeCanvasToMainImage();
|
|
- AddWholeCanvasToEveryImagePreview();
|
|
|
|
|
|
+ AddWholeCanvasToEveryImagePreview(true);
|
|
break;
|
|
break;
|
|
case ConnectProperty_ChangeInfo info:
|
|
case ConnectProperty_ChangeInfo info:
|
|
AddWholeCanvasToMainImage();
|
|
AddWholeCanvasToMainImage();
|
|
- AddWholeCanvasToEveryImagePreview();
|
|
|
|
|
|
+ AddWholeCanvasToEveryImagePreview(false);
|
|
AddToNodePreviews(info.InputNodeId);
|
|
AddToNodePreviews(info.InputNodeId);
|
|
if (info.OutputNodeId.HasValue)
|
|
if (info.OutputNodeId.HasValue)
|
|
{
|
|
{
|
|
@@ -180,7 +190,7 @@ internal class AffectedAreasGatherer
|
|
break;
|
|
break;
|
|
case PropertyValueUpdated_ChangeInfo info:
|
|
case PropertyValueUpdated_ChangeInfo info:
|
|
AddWholeCanvasToMainImage();
|
|
AddWholeCanvasToMainImage();
|
|
- AddWholeCanvasToEveryImagePreview();
|
|
|
|
|
|
+ AddWholeCanvasToEveryImagePreview(false);
|
|
AddToNodePreviews(info.NodeId);
|
|
AddToNodePreviews(info.NodeId);
|
|
break;
|
|
break;
|
|
case ToggleOnionSkinning_PassthroughAction:
|
|
case ToggleOnionSkinning_PassthroughAction:
|
|
@@ -196,7 +206,7 @@ internal class AffectedAreasGatherer
|
|
break;
|
|
break;
|
|
case ProcessingColorSpace_ChangeInfo:
|
|
case ProcessingColorSpace_ChangeInfo:
|
|
AddWholeCanvasToMainImage();
|
|
AddWholeCanvasToMainImage();
|
|
- AddWholeCanvasToEveryImagePreview();
|
|
|
|
|
|
+ AddWholeCanvasToEveryImagePreview(false);
|
|
AddWholeCanvasToEveryMaskPreview();
|
|
AddWholeCanvasToEveryMaskPreview();
|
|
break;
|
|
break;
|
|
}
|
|
}
|
|
@@ -383,14 +393,14 @@ internal class AffectedAreasGatherer
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
- private void AddWholeCanvasToEveryImagePreview()
|
|
|
|
|
|
+ private void AddWholeCanvasToEveryImagePreview(bool onlyWithKeyFrames)
|
|
{
|
|
{
|
|
if (alreadyAddedWholeCanvasToEveryImagePreview)
|
|
if (alreadyAddedWholeCanvasToEveryImagePreview)
|
|
return;
|
|
return;
|
|
|
|
|
|
tracker.Document.ForEveryReadonlyMember((member) =>
|
|
tracker.Document.ForEveryReadonlyMember((member) =>
|
|
{
|
|
{
|
|
- if (member.KeyFrames.Count > 0)
|
|
|
|
|
|
+ if (!onlyWithKeyFrames || member.KeyFrames.Count > 0)
|
|
{
|
|
{
|
|
AddWholeCanvasToImagePreviews(member.Id);
|
|
AddWholeCanvasToImagePreviews(member.Id);
|
|
}
|
|
}
|