Hello, all!
So there's a thing that has been annoying me ever since I learned to use CommandGroup - it does group the actions, but it still redraws selection nodes when undoing. Here's an example:
Sub UndoJunk()
ActiveDocument.BeginCommandGroup "UndoJunk"
Dim A As Integer Dim S As Shape Set S = ActiveLayer.CreateEllipse2(0, 0, 1) For A = 0 To 100 S.Move 1, 0 Next A ActiveDocument.EndCommandGroup
End Sub
When you undo you get this line of dots that takes quite a while to redraw, especially if you had a decent amount of operations. For this simple example VirtualLayers may be the answer, but in my case I'm doing some more advanced things which involve checking for curve intersections using DisplayCurve, IntersectsWith, IsPointInside etc.
So my question is - is there a way to avoid this undo junk and just instantly jump back a step?
I'm on X6, btw, perhaps this has been fixed in following versions, who knows.
fwiw. You can speed it up by using
Optimization=True
blah, blah, blah
ActiveDocument.EndCommandGroup
Optimization = False
ActiveWindow.Refresh
joe said:I can understand if CorelDRAW's undo system works by basically tracing your steps backwards, but why it wants to redraw the selections while doing so is beyond me.