I've gone through the coordinate transformation and where/how it is applied in the library. The coordinates that are stored in the plot buffer can be best described as "device virtual pixels" and the definition is not necessarily consistent across all the devices. I don't think that is a show stopper and I have argued with myself on the pros/cons of different solutions.
Solution 1: Standardize the definition of device virtual pixels (e.g. plplot device independent coordinate system). Use that coordinate system in the plot buffer. Pros: - A standard coordinate system being represented to the devices - Consistency in the device output (direct output to a device vs reading a plot metafile and rendering to a device) Cons: - An additional coordinate system transformation for some devices - Coordinate system transformation when the plot buffer is replayed (e.g. during window resize for some devices) - Substantial modification to the code, do not recommend this close to release Solution 2: Standardize the definition of device virtual pixels (e.g. plplot device independent coordinate system). Use device coordinate system in the plot buffer. Pros: - A standard coordinate system being represented to the devices - Consistency in the device output (direct output to a device vs reading a plot metafile and rendering to a device) Cons: - An additional coordinate system transformation for some devices - Substantial modification to the code, do not recommend this close to release Solution 3: Keep the current implementation of coordinate systems and the plot buffer. Translate coordinates when reading from plot metafiles or when copying a stream to a different device stream. Pros: - Less changes to the code Cons: - Round off error during coordinate transformation may result in differences in the output files I think solution #3 is the best choice at this time. In addition, using solution #3 does not preclude using solutions 1 & 2 at a later date. While I don't think it is strictly necessary, going to solution #2 in the long term might simplify the code in the long run. ------------------------------------------------------------------------------ Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server from Actuate! Instantly Supercharge Your Business Reports and Dashboards with Interactivity, Sharing, Native Excel Exports, App Integration & more Get technology previously reserved for billion-dollar corporations, FREE http://pubads.g.doubleclick.net/gampad/clk?id=190641631&iu=/4140/ostg.clktrk _______________________________________________ Plplot-devel mailing list Plplot-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/plplot-devel