The storage of executed operations in a GC has been added to support the
situation that a Drawable is created with a GC without knowing the final
zoom in which the Drawable is supposed to be used. A common example is
the creation of a (buffer) image, which is later to be drawn on a
control, but at the time of drawing the image that zoom is not known.
The operations allow to recreate the image for that required zoom.
In most use cases of a GC, however, there is no need and no possibility
to recreate the underlying drawable from a GC. In particular, when
drawing to a control, the zoom of that control is known while drawing
such that no storage of GC operations is necessary.
The storage of GC operations can become rather expensive, in particular
if the drawing of images is involved and copies of those images need to
be created upon their disposal. For that reason, this change reduces the
cases in which operations are actually stored to those where they are
really required for recreation of the underlying drawable.
Fixes https://github.com/eclipse-platform/eclipse.platform.swt/issues/3296