From: Mats B. <ma...@gm...> - 2008-02-09 08:17:35
|
All, First, I have added a release version number to remove some confusion. My first release of 0.3 is now reiterated and holds number 0.3.0 It is the one that fails to print anything on MacOSX 10.4. Version 0.3.1 is the one that explicitly sets the page format. cvs is updated to reflect this with fresh builds. > Unfortunately, when I print a canvas that contains a text object, I get the error: > TkMacOSXSetupDrawingContext(): no port or context to draw into ! This is expected (although I didn't think about it) since the printing device is always a CGContext (was QD port in 0.2) and text drawing in AquaTk 8.4 is still using QD. This was changed in 8.5 where ATSUI is used, which I believe is using CGContext. I now return an error for text items instead of crashing. Text works OK on 8.5 For 0.3.1 I explicitly set the size and clipping using Apple code I found in /Developer/Examples/Printing/App/CarbonPrintingSample/ where they use PMGetPageFormatPaper() and CGContextClipToRect(). This was the fix that made it print on 10.4. When I use the script examples/macosx/ruler.tcl and print to a pdf I get identical results. See ruler.pdf in cvs. I must admit that I'm a bit lost here and you could help if you find any Apple docs that reveal this mystery. I also tested PMGetAdjustedPageRect() but that gave a bit different result. Mats On 2/8/08, David Zolli <kr...@kr...> wrote: > Mats, > > I'm sorry but this one doesn't work for me (10.5 + 8.4.17). The page > size is OK but clip region is wrong while it works perfectly with the > same code using dylib v0.3 (build 6 Feb). > > I didn't tried the dylib v0.3 (build 7 Feb) because I thought it was > the same as the prevous one (I think you should add a third version > number, like 0.3.3 so one can be sure what version he is running). > > -- > David Zolli > kr...@kr... > http://www.kroc.tk > > > |