printed_page.cc revision f8ee788a64d60abd8f2d742a5fdedde054ecd910
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 : page_number_(page_number), 14 metafile_(metafile), 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 22PrintedPage::~PrintedPage() { 23} 24 25const Metafile* PrintedPage::metafile() const { 26 return metafile_.get(); 27} 28 29void 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