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