app: add GimpObjectQueue
GimpObjectQueue implements a queue of GimpObjects. It derives from GimpSubProgress, and hence can be used as a GimpProgress object. It keeps track of the total memsize of the objects that were pushed-to and popped-from the queue, and uses these numbers to set the corresponding subrange of the progress object when an object is popped. This provides an easy way to perform an operation on a set of objects, correctly reporting progress based on the relative sizes of the objects, which is assumed to be a good estimate of the relative cost of processing each object.
Showing with 267 additions and 0 deletions