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
PrintedPage(int page_number,Metafile * metafile,const gfx::Size & page_size,const gfx::Rect & page_content_rect,double shrink_factor)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
~PrintedPage()21 PrintedPage::~PrintedPage() {
22 }
23
metafile() const24 const Metafile* PrintedPage::metafile() const {
25 return metafile_.get();
26 }
27
GetCenteredPageContentRect(const gfx::Size & paper_size,gfx::Rect * content_rect) const28 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