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 Metafile* metafile, 11 const gfx::Size& page_size, 12 const gfx::Rect& page_content_rect, 13 double shrink_factor) 14 : page_number_(page_number), 15 metafile_(metafile), 16 page_size_(page_size), 17 page_content_rect_(page_content_rect), 18 shrink_factor_(shrink_factor) { 19 } 20 21 PrintedPage::~PrintedPage() { 22 } 23 24 const Metafile* PrintedPage::metafile() const { 25 return metafile_.get(); 26 } 27 28 void PrintedPage::GetCenteredPageContentRect( 29 const gfx::Size& paper_size, gfx::Rect* content_rect) const { 30 *content_rect = page_content_rect(); 31 if (paper_size.width() > page_size().width()) { 32 int diff = paper_size.width() - page_size().width(); 33 content_rect->set_x(content_rect->x() + diff / 2); 34 } 35 if (paper_size.height() > page_size().height()) { 36 int diff = paper_size.height() - page_size().height(); 37 content_rect->set_y(content_rect->y() + diff / 2); 38 } 39 } 40 41 } // namespace printing 42