Sorry to be dense but I still have not found an easy way to locate this sort of information, and I end up wandering around in circles every time I venture into the source code looking for it.
There are three kinds of fills that have to go through a print method: paint, pattern, and image. The first is already handled and can be detected with isColor(). The information needed for the other two are somewhere a hop skip and a jump down from "style". In the svg these are in <defs> like this:
<pattern y="0" x="0" height="6" width="6" patternUnits="userSpaceOnUse" id="EMFhatch0_3F7FFF"> <path id="path3933" style="fill:none;stroke:#3F7FFF" d="M 0 0 6 0" /> </pattern>
and
<pattern height="4" width="4" y="0" x="0" patternUnits="userSpaceOnUse" id="EMFimage1"> <image id="image3992" height="4" width="4" y="0" x="0"
xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAAECAIAAAAmkwkpAAAAFUlEQVQImWMMDQ1lgAEmBiTAglMGAEruAgjcYZR9AAAAAElFTkSuQmCC" /> </pattern>
In the print driver "style" is the only link to this information. Presumably the path starts out with style->fill.value.href->getObject(). Where does one go from there?
All I need is:
1. The type of the object for the fill (pattern or image). 2. For a pattern, the name of the object (the part that corresponds to "EMFimage1" and "EMFhatch0_3F7FFF" above). 3. For the image case, the width, height, and bitmap. The bitmap can be either an RGB array or the png string as in the SVG.
What incantations are need to pull these values out???
Thank you,
David Mathog mathog@...1176... Manager, Sequence Analysis Facility, Biology Division, Caltech