Graphics implementation for non-isolated transparency groups.
Non-isolated groups require that the group backdrop (copied from parent group or
page) is used as the initial contents of the image to which the group is rendered.
This allows blend modes to blend the group contents with the graphics behind
the group. Finally when the group rendering is done, backdrop removal must be
computed (see
#removeBackdrop(java.awt.image.BufferedImage,int,int)).
It ensures the backdrop is not rendered twice on the parent but it leaves the
effects of blend modes.
This class renders the group contents to two images. groupImage
is
initialized with the backdrop and group contents are drawn over it.
groupAlphaImage
is initially fully transparent and it accumulates
the total alpha of the group contents excluding backdrop.
If a non-isolated group uses only the blend mode Normal, it can be optimized
and rendered like an isolated group; backdrop usage and removal are not needed.