Add a ScopedPPVarArray class for managing arrays of PP_Vars.
[chromium-blink-merge.git] / printing / printed_page.cc
blob19b9fd38f3056d992bc1ff7297cf97da18f23995
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.
5 #include "printing/printed_page.h"
7 namespace printing {
9 PrintedPage::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) {
22 PrintedPage::~PrintedPage() {
25 const Metafile* PrintedPage::metafile() const {
26 return metafile_.get();
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);
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);
42 } // namespace printing