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 7namespace printing { 8 9PrintedPage::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 21PrintedPage::~PrintedPage() { 22} 23 24const Metafile* PrintedPage::metafile() const { 25 return metafile_.get(); 26} 27 28void 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