On Tue, May 12, 2009 at 6:48 PM, David Hodson <hods...@ozemail.com.au> wrote:
> On Mon, 2009-05-11 at 12:57 -0700, Stuart Axon wrote:
>> Even if you don't have undo as such, it would be useful from a
>> scripting point of view to save checkpoints, which you could
>> revert to within the script.
> Exactly. A more accurate description of what I was looking for would be
> "mark this point in the undo stack" and "revert to the marked undo
> point". (With an error code if the undo point no longer exists.)
This approach seems more reasonable -- if the point to undo to must be
explicitly identified (in the same manner that each version of a GIT
repository has a unique id), there is no ambiguity involved; you are
undoing a specific known part, and if that was already undone, a clear
error can be raised.
In order to do this, each undo step should have a unique ID.
Currently, the GimpUndo structure includes a 'time' field; This might
be sufficient as a unique ID if it is precise enough (eg. measured in
Photoshop has a similar feature called 'snapshots' which is
user-accessible. I'm not sure whether that kind of thing is a wise
thing to implement. Providing an API to programmatically do such
things seems fairly uncontroversial to me, though.
Gimp-developer mailing list