1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #include "printing/printed_page.h" 6 7 namespace printing { 8 9 PrintedPage::PrintedPage(int page_number, 10 scoped_ptr<MetafilePlayer> metafile, 11 const gfx::Size& page_size, 12 const gfx::Rect& page_content_rect) 13 : page_number_(page_number), 14 metafile_(metafile.Pass()), 15 #if defined(OS_WIN) 16 shrink_factor_(0.0f), 17 #endif // OS_WIN 18 page_size_(page_size), 19 page_content_rect_(page_content_rect) { 20 } 21 22 PrintedPage::~PrintedPage() { 23 } 24 25 const MetafilePlayer* PrintedPage::metafile() const { 26 return metafile_.get(); 27 } 28 29 void PrintedPage::GetCenteredPageContentRect( 30 const gfx::Size& paper_size, gfx::Rect* content_rect) const { 31 *content_rect = page_content_rect(); 32 if (paper_size.width() > page_size().width()) { 33 int diff = paper_size.width() - page_size().width(); 34 content_rect->set_x(content_rect->x() + diff / 2); 35 } 36 if (paper_size.height() > page_size().height()) { 37 int diff = paper_size.height() - page_size().height(); 38 content_rect->set_y(content_rect->y() + diff / 2); 39 } 40 } 41 42 } // namespace printing 43