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

Side by Side Diff: printing/printed_document.cc

Issue 2859040: Implement limited paged media support for win. (Closed)
Patch Set: the comment fix 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.h ('k') | printing/printed_document_win.cc » ('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) 2010 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2010 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 <algorithm> 7 #include <algorithm>
8 #include <set> 8 #include <set>
9 #include <string> 9 #include <string>
10 #include <vector> 10 #include <vector>
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after
65 } 65 }
66 } 66 }
67 67
68 PrintedDocument::~PrintedDocument() { 68 PrintedDocument::~PrintedDocument() {
69 } 69 }
70 70
71 void PrintedDocument::SetPage(int page_number, 71 void PrintedDocument::SetPage(int page_number,
72 NativeMetafile* metafile, 72 NativeMetafile* metafile,
73 double shrink, 73 double shrink,
74 const gfx::Size& paper_size, 74 const gfx::Size& paper_size,
75 const gfx::Rect& page_rect) { 75 const gfx::Rect& page_rect,
76 bool has_visible_overlays) {
76 // Notice the page_number + 1, the reason is that this is the value that will 77 // Notice the page_number + 1, the reason is that this is the value that will
77 // be shown. Users dislike 0-based counting. 78 // be shown. Users dislike 0-based counting.
78 scoped_refptr<PrintedPage> page( 79 scoped_refptr<PrintedPage> page(
79 new PrintedPage(page_number + 1, 80 new PrintedPage(page_number + 1,
80 metafile, 81 metafile,
81 paper_size, 82 paper_size,
82 page_rect)); 83 page_rect,
84 has_visible_overlays));
83 { 85 {
84 AutoLock lock(lock_); 86 AutoLock lock(lock_);
85 mutable_.pages_[page_number] = page; 87 mutable_.pages_[page_number] = page;
86 if (mutable_.shrink_factor == 0) { 88 if (mutable_.shrink_factor == 0) {
87 mutable_.shrink_factor = shrink; 89 mutable_.shrink_factor = shrink;
88 } else { 90 } else {
89 DCHECK_EQ(mutable_.shrink_factor, shrink); 91 DCHECK_EQ(mutable_.shrink_factor, shrink);
90 } 92 }
91 } 93 }
92 DebugDump(*page); 94 DebugDump(*page);
(...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after
177 AutoLock lock(lock_); 179 AutoLock lock(lock_);
178 return mutable_.expected_page_count_; 180 return mutable_.expected_page_count_;
179 } 181 }
180 182
181 void PrintedDocument::PrintHeaderFooter(gfx::NativeDrawingContext context, 183 void PrintedDocument::PrintHeaderFooter(gfx::NativeDrawingContext context,
182 const PrintedPage& page, 184 const PrintedPage& page,
183 PageOverlays::HorizontalPosition x, 185 PageOverlays::HorizontalPosition x,
184 PageOverlays::VerticalPosition y, 186 PageOverlays::VerticalPosition y,
185 const gfx::Font& font) const { 187 const gfx::Font& font) const {
186 const PrintSettings& settings = immutable_.settings_; 188 const PrintSettings& settings = immutable_.settings_;
187 if (!settings.use_overlays) { 189 if (!settings.use_overlays || !page.has_visible_overlays()) {
188 return; 190 return;
189 } 191 }
190 const std::wstring& line = settings.overlays.GetOverlay(x, y); 192 const std::wstring& line = settings.overlays.GetOverlay(x, y);
191 if (line.empty()) { 193 if (line.empty()) {
192 return; 194 return;
193 } 195 }
194 std::wstring output(PageOverlays::ReplaceVariables(line, *this, page)); 196 std::wstring output(PageOverlays::ReplaceVariables(line, *this, page));
195 if (output.empty()) { 197 if (output.empty()) {
196 // May happen if document name or url is empty. 198 // May happen if document name or url is empty.
197 return; 199 return;
(...skipping 126 matching lines...) Expand 10 before | Expand all | Expand 10 after
324 date_ = win_util::FormatSystemDate(systemtime, std::wstring()); 326 date_ = win_util::FormatSystemDate(systemtime, std::wstring());
325 time_ = win_util::FormatSystemTime(systemtime, std::wstring()); 327 time_ = win_util::FormatSystemTime(systemtime, std::wstring());
326 #else // OS_WIN 328 #else // OS_WIN
327 Time now = Time::Now(); 329 Time now = Time::Now();
328 date_ = base::TimeFormatShortDateNumeric(now); 330 date_ = base::TimeFormatShortDateNumeric(now);
329 time_ = base::TimeFormatTimeOfDay(now); 331 time_ = base::TimeFormatTimeOfDay(now);
330 #endif // OS_WIN 332 #endif // OS_WIN
331 } 333 }
332 334
333 } // namespace printing 335 } // namespace printing
OLDNEW
« no previous file with comments | « printing/printed_document.h ('k') | printing/printed_document_win.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698