FROM : Stefan
DATE : Sun Aug 06 18:09:51 2006
Am 06.08.2006 um 17:57 schrieb Stefan:
> I'll try to rephrase: My NSView subclass prints its content
> correctly, but does
> not get aligned to the top-left corner of the page nor resized to
> fit the printer's
> page size.
I suppose my problem is related to this:
>>>
// Return the drawing rectangle for a particular page number
- (NSRect)rectForPage:(int)page {
NSRect bounds = [self bounds];
float pageHeight = [self calculatePrintHeight];
return NSMakeRect( NSMinX(bounds), NSMaxY(bounds) - page *
pageHeight,
NSWidth(bounds), pageHeight );
}
<<<
I never defined 'bounds', since my view is not on-screen.
Shouldn't I tell my NSView subclass to set bounds according to the
printer's
paper size? But at which moment of time?
The document's print operation gets started from within my
NSPersistentDocument
subclass:
>>>
- (void)printShowingPrintPanel:(BOOL)showPanels {
// Obtain a custom view that will be printed
[[self printInfo] setHorizontalPagination:NSAutoPagination];
[[self printInfo] setVerticalPagination:NSAutoPagination];
// Construct the print operation and setup Print panel
NSPrintOperation *op = [NSPrintOperation
printOperationWithView:printView // <<<< THIS IS MY
VIEW TO GET PRINTED >>>
printInfo:[self printInfo]];
[op setShowPanels:showPanels];
if (showPanels) {
// Add accessory view, if needed
}
// Run operation, which shows the Print panel if showPanels was YES
[self runModalPrintOperation:op
delegate:nil
didRunSelector:NULL
contextInfo:NULL];
}
<<<
DATE : Sun Aug 06 18:09:51 2006
Am 06.08.2006 um 17:57 schrieb Stefan:
> I'll try to rephrase: My NSView subclass prints its content
> correctly, but does
> not get aligned to the top-left corner of the page nor resized to
> fit the printer's
> page size.
I suppose my problem is related to this:
>>>
// Return the drawing rectangle for a particular page number
- (NSRect)rectForPage:(int)page {
NSRect bounds = [self bounds];
float pageHeight = [self calculatePrintHeight];
return NSMakeRect( NSMinX(bounds), NSMaxY(bounds) - page *
pageHeight,
NSWidth(bounds), pageHeight );
}
<<<
I never defined 'bounds', since my view is not on-screen.
Shouldn't I tell my NSView subclass to set bounds according to the
printer's
paper size? But at which moment of time?
The document's print operation gets started from within my
NSPersistentDocument
subclass:
>>>
- (void)printShowingPrintPanel:(BOOL)showPanels {
// Obtain a custom view that will be printed
[[self printInfo] setHorizontalPagination:NSAutoPagination];
[[self printInfo] setVerticalPagination:NSAutoPagination];
// Construct the print operation and setup Print panel
NSPrintOperation *op = [NSPrintOperation
printOperationWithView:printView // <<<< THIS IS MY
VIEW TO GET PRINTED >>>
printInfo:[self printInfo]];
[op setShowPanels:showPanels];
if (showPanels) {
// Add accessory view, if needed
}
// Run operation, which shows the Print panel if showPanels was YES
[self runModalPrintOperation:op
delegate:nil
didRunSelector:NULL
contextInfo:NULL];
}
<<<
| Related mails | Author | Date |
|---|---|---|
| Stefan | Aug 5, 12:34 | |
| Stefan | Aug 6, 17:41 | |
| Shawn Erickson | Aug 6, 17:53 | |
| Stefan | Aug 6, 17:57 | |
| Stefan | Aug 6, 18:09 | |
| Todd Ransom | Aug 6, 18:36 | |
| Stefan | Aug 6, 18:43 | |
| Stefan | Aug 6, 23:19 |






Cocoa mail archive

