Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(222)

Side by Side Diff: printing/printed_document_win.cc

Issue 2878022: Add PrintedPage::GetCenteredPageContentRect so Mac and Win can share code. (Closed) Base URL: git://codf21.jail/chromium.git
Patch Set: remove #include for gtest Created 10 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « printing/printed_document_mac.cc ('k') | printing/printed_page.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2009 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2009 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "printing/printed_document.h" 5 #include "printing/printed_document.h"
6 6
7 #include "app/win_util.h" 7 #include "app/win_util.h"
8 #include "base/logging.h" 8 #include "base/logging.h"
9 #include "base/string_util.h" 9 #include "base/string_util.h"
10 #include "gfx/font.h" 10 #include "gfx/font.h"
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
44 #ifndef NDEBUG 44 #ifndef NDEBUG
45 { 45 {
46 // Make sure the page is from our list. 46 // Make sure the page is from our list.
47 AutoLock lock(lock_); 47 AutoLock lock(lock_);
48 DCHECK(&page == mutable_.pages_.find(page.page_number() - 1)->second.get()); 48 DCHECK(&page == mutable_.pages_.find(page.page_number() - 1)->second.get());
49 } 49 }
50 #endif 50 #endif
51 51
52 const printing::PageSetup& page_setup( 52 const printing::PageSetup& page_setup(
53 immutable_.settings_.page_setup_device_units()); 53 immutable_.settings_.page_setup_device_units());
54 gfx::Rect content_area(page.page_content_rect()); 54 gfx::Rect content_area;
55 const gfx::Size& physical_size = page_setup.physical_size(); 55 page.GetCenteredPageContentRect(page_setup.physical_size(), &content_area);
56 // http://dev.w3.org/csswg/css3-page/#positioning-page-box
57 if (physical_size.width() > page.page_size().width()) {
58 int diff = physical_size.width() - page.page_size().width();
59 content_area.set_x(content_area.x() + diff / 2);
60 }
61 if (physical_size.height() > page.page_size().height()) {
62 int diff = physical_size.height() - page.page_size().height();
63 content_area.set_y(content_area.y() + diff / 2);
64 }
65 56
66 // Save the state to make sure the context this function call does not modify 57 // Save the state to make sure the context this function call does not modify
67 // the device context. 58 // the device context.
68 int saved_state = SaveDC(context); 59 int saved_state = SaveDC(context);
69 DCHECK_NE(saved_state, 0); 60 DCHECK_NE(saved_state, 0);
70 skia::PlatformDevice::InitializeDC(context); 61 skia::PlatformDevice::InitializeDC(context);
71 { 62 {
72 // Save the state (again) to apply the necessary world transformation. 63 // Save the state (again) to apply the necessary world transformation.
73 int saved_state = SaveDC(context); 64 int saved_state = SaveDC(context);
74 DCHECK_NE(saved_state, 0); 65 DCHECK_NE(saved_state, 0);
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after
144 font); 135 font);
145 PrintHeaderFooter(context, page, PageOverlays::CENTER, PageOverlays::BOTTOM, 136 PrintHeaderFooter(context, page, PageOverlays::CENTER, PageOverlays::BOTTOM,
146 font); 137 font);
147 PrintHeaderFooter(context, page, PageOverlays::RIGHT, PageOverlays::BOTTOM, 138 PrintHeaderFooter(context, page, PageOverlays::RIGHT, PageOverlays::BOTTOM,
148 font); 139 font);
149 int res = RestoreDC(context, saved_state); 140 int res = RestoreDC(context, saved_state);
150 DCHECK_NE(res, 0); 141 DCHECK_NE(res, 0);
151 } 142 }
152 143
153 } // namespace printing 144 } // namespace printing
OLDNEW
« no previous file with comments | « printing/printed_document_mac.cc ('k') | printing/printed_page.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698