Merge pull request #343 from gnustep/margin_fix

Margin fix
This commit is contained in:
Riccardo 2025-04-13 17:19:24 +02:00 committed by GitHub
commit 4f255d2750
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 32 additions and 23 deletions

View file

@ -105,19 +105,19 @@ tFile=- -; else cat; fi"
*CloseUI: *PageRegion
*DefaultImageableArea: Letter
*ImageableArea Letter/US Letter: "0 0 612 792"
*ImageableArea A4/A4: "0 0 595 842"
*ImageableArea 11x17/11x17: "0 0 792 1224"
*ImageableArea A3/A3: "0 0 842 1191"
*ImageableArea A5/A5: "0 0 421 595"
*ImageableArea B5/B5 (JIS): "0 0 516 729"
*ImageableArea Env10/Envelope #10: "0 0 297 684"
*ImageableArea EnvC5/Envelope C5: "0 0 459 649"
*ImageableArea EnvDL/Envelope DL: "0 0 312 624"
*ImageableArea EnvISOB5/Envelope B5: "0 0 499 709"
*ImageableArea EnvMonarch/Envelope Monarch: "0 0 279 540"
*ImageableArea Executive/Executive: "0 0 522 756"
*ImageableArea Legal/US Legal: "0 0 612 1008"
*ImageableArea Letter/US Letter: "25 25 587 767"
*ImageableArea A4/A4: "25 25 570 817"
*ImageableArea 11x17/11x17: "30 30 762 1194"
*ImageableArea A3/A3: "25 25 817 1166"
*ImageableArea A5/A5: "25 25 396 587"
*ImageableArea B5/B5 (JIS): "20 20 496 709"
*ImageableArea Env10/Envelope #10: "20 20 277 664"
*ImageableArea EnvC5/Envelope C5: "20 20 439 629"
*ImageableArea EnvDL/Envelope DL: "20 20 292 604"
*ImageableArea EnvISOB5/Envelope B5: "20 20 479 689"
*ImageableArea EnvMonarch/Envelope Monarch: "20 20 259 526"
*ImageableArea Executive/Executive: "20 20 502 736"
*ImageableArea Legal/US Legal: "25 25 587 983"
*DefaultPaperDimension: Letter
*PaperDimension Letter/US Letter: "612 792"

View file

@ -133,6 +133,20 @@ static NSPrintInfo *sharedPrintInfo = nil;
[[principalClass printInfoClass] setDefaultPrinter: printer];
}
- (void) _updateMargins
{
NSPrinter *printer = [self printer];
NSRect imageableRect;
NSSize paperSize;
paperSize = [printer pageSizeForPaper: [self paperName]];
imageableRect = [printer imageRectForPaper: [self paperName]];
[self setRightMargin: (paperSize.width - NSMaxX(imageableRect))];
[self setLeftMargin: imageableRect.origin.y];
[self setTopMargin: (paperSize.height - NSMaxY(imageableRect))];
[self setBottomMargin: imageableRect.origin.x];
}
//
// Instance methods
//
@ -143,8 +157,6 @@ static NSPrintInfo *sharedPrintInfo = nil;
{
NSPrinter *printer;
NSString *pageSize;
NSRect imageRect;
NSSize paperSize;
if (!(self = [super init]))
{
@ -174,14 +186,10 @@ static NSPrintInfo *sharedPrintInfo = nil;
[self setPaperName: pageSize];
/* Set default margins. */
paperSize = [printer pageSizeForPaper: pageSize];
imageRect = [printer imageRectForPaper: pageSize];
[self setRightMargin: (paperSize.width - NSMaxX(imageRect))];
[self setLeftMargin: imageRect.origin.y];
[self setTopMargin: (paperSize.height - NSMaxY(imageRect))];
[self setBottomMargin: imageRect.origin.x];
[self setOrientation: NSPortraitOrientation];
[self _updateMargins];
[self setOrientation: NSPortraitOrientation];
if (aDict != nil)
{
[_info addEntriesFromDictionary: aDict];
@ -293,6 +301,7 @@ static NSPrintInfo *sharedPrintInfo = nil;
[_info setObject: [NSValue valueWithSize:
[NSPrintInfo sizeForPaperName: name]]
forKey: NSPrintPaperSize];
[self _updateMargins];
}
- (void) setPaperSize: (NSSize)size