Hi Tomas, > ::getDeviceResolution handling the zoom is not > right; device > resolution is a constant that has nothing to do with > zoom, and doing > the zoom by pretending that the device resolution > has changed is a > potential source of layout bugs similar to those we > experienced in > the past. What we need, is to have proper transform > functions in the > gr_Graphics class and zoom by changing the scaling > factor of the > transform. Then the draw functions do not need to do > any internal > conversions due to zoom (see pseudo code below).
This was not explained correctly - getDeviceResolution doesn't handle zoom at all - it returns a constant based on your screen resolution, such as 72 or 96. Other functions use a combination of DeviceResolution, Resoluton (1440), and Zoom to, in effect, create a virtual transform. Any hacks we described were unix specific because Gdk doesn't support transforms, and to the best of my knowledge, neither does Xft/FontConfig. But I'll look into it. This is not to say that things can't be improved upon still, or that we're doing things 100% correctly now. They're just significanly better than what they used to be. And, FWIW, drawing is currently identical for PS printing and on-screen (for the first time ever, actually), except for Justified text, because Justified text now uses the CharWidths array to specifiy font widths, and I'm not sure if PS supports such a mechanism. It might, but if so, I haven't found it using Google yet. Dom __________________________________________________ Do you Yahoo!? Yahoo! Shopping - Send Flowers for Valentine's Day http://shopping.yahoo.com
