From 75ef87aeb55aaab9d523938ad1574b0b23b68aa7 Mon Sep 17 00:00:00 2001 From: Karsten Heimrich Date: Tue, 20 May 2008 20:39:47 +0000 Subject: [PATCH] * make printing for child views working, noticed while trying to print from Scooby, it would draw all child views on top of each other... git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25580 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/kits/interface/PrintJob.cpp | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/kits/interface/PrintJob.cpp b/src/kits/interface/PrintJob.cpp index c24c5438be..310d04cfcb 100644 --- a/src/kits/interface/PrintJob.cpp +++ b/src/kits/interface/PrintJob.cpp @@ -417,8 +417,6 @@ BPrintJob::BeginJob() // state variables fAbort = 0; fError = B_OK; - - return; } @@ -471,10 +469,10 @@ BPrintJob::CommitJob() return; BMessage request(PSRV_PRINT_SPOOLED_JOB); - BMessage reply; - request.AddString("JobName", fPrintJobName); request.AddString("Spool File", fSpoolFileName); + + BMessage reply; printServer.SendMessage(&request, &reply); } @@ -675,9 +673,11 @@ BPrintJob::_RecurseView(BView *view, BPoint origin, BPicture *picture, BView *child = view->ChildAt(0); while (child != NULL) { if ((child->Flags() & B_WILL_DRAW) && !child->IsHidden()) { - // TODO: origin and rect should probably - // be converted for children views in some way - _RecurseView(child, origin, picture, rect); + BRect bounds(child->Bounds()); + BPoint childLeftTop = view->Bounds().LeftTop() + + (child->Frame().LeftTop() - bounds.LeftTop()); + _RecurseView(child, origin + childLeftTop, picture, + bounds & rect.OffsetToCopy(rect.LeftTop() - childLeftTop)); child = child->NextSibling(); } }