Home | History | Annotate | Download | only in printing
      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     : 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 
     22 PrintedPage::~PrintedPage() {
     23 }
     24 
     25 const Metafile* PrintedPage::metafile() const {
     26   return metafile_.get();
     27 }
     28 
     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);
     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