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

Side by Side Diff: printing/pdf_metafile_skia.cc

Issue 1343593002: Cleanup code in printing/ (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 3 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/pdf_metafile_skia.h ('k') | printing/print_settings_initializer_mac.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) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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/pdf_metafile_skia.h" 5 #include "printing/pdf_metafile_skia.h"
6 6
7 #include "base/containers/hash_tables.h" 7 #include "base/containers/hash_tables.h"
8 #include "base/files/file_util.h" 8 #include "base/files/file_util.h"
9 #include "base/metrics/histogram.h" 9 #include "base/metrics/histogram.h"
10 #include "base/numerics/safe_conversions.h" 10 #include "base/numerics/safe_conversions.h"
(...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after
77 PdfMetafileSkia::~PdfMetafileSkia() {} 77 PdfMetafileSkia::~PdfMetafileSkia() {}
78 78
79 bool PdfMetafileSkia::Init() { 79 bool PdfMetafileSkia::Init() {
80 return true; 80 return true;
81 } 81 }
82 82
83 // TODO(halcanary): Create a Metafile class that only stores data. 83 // TODO(halcanary): Create a Metafile class that only stores data.
84 // Metafile::InitFromData is orthogonal to what the rest of 84 // Metafile::InitFromData is orthogonal to what the rest of
85 // PdfMetafileSkia does. 85 // PdfMetafileSkia does.
86 bool PdfMetafileSkia::InitFromData(const void* src_buffer, 86 bool PdfMetafileSkia::InitFromData(const void* src_buffer,
87 uint32 src_buffer_size) { 87 uint32_t src_buffer_size) {
88 data_->pdf_data_.reset(new SkMemoryStream(src_buffer, src_buffer_size, true)); 88 data_->pdf_data_.reset(new SkMemoryStream(src_buffer, src_buffer_size, true));
89 return true; 89 return true;
90 } 90 }
91 91
92 bool PdfMetafileSkia::StartPage(const gfx::Size& page_size, 92 bool PdfMetafileSkia::StartPage(const gfx::Size& page_size,
93 const gfx::Rect& content_area, 93 const gfx::Rect& content_area,
94 const float& scale_factor) { 94 const float& scale_factor) {
95 if (data_->recorder_.getRecordingCanvas()) 95 if (data_->recorder_.getRecordingCanvas())
96 this->FinishPage(); 96 this->FinishPage();
97 DCHECK(!data_->recorder_.getRecordingCanvas()); 97 DCHECK(!data_->recorder_.getRecordingCanvas());
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after
146 canvas->drawPicture(page.content_.get()); 146 canvas->drawPicture(page.content_.get());
147 pdf_doc->endPage(); 147 pdf_doc->endPage();
148 } 148 }
149 if (!pdf_doc->close()) 149 if (!pdf_doc->close())
150 return false; 150 return false;
151 151
152 data_->pdf_data_.reset(pdf_stream.detachAsStream()); 152 data_->pdf_data_.reset(pdf_stream.detachAsStream());
153 return true; 153 return true;
154 } 154 }
155 155
156 uint32 PdfMetafileSkia::GetDataSize() const { 156 uint32_t PdfMetafileSkia::GetDataSize() const {
157 if (!data_->pdf_data_) 157 if (!data_->pdf_data_)
158 return 0; 158 return 0;
159 return base::checked_cast<uint32>(data_->pdf_data_->getLength()); 159 return base::checked_cast<uint32_t>(data_->pdf_data_->getLength());
160 } 160 }
161 161
162 bool PdfMetafileSkia::GetData(void* dst_buffer, 162 bool PdfMetafileSkia::GetData(void* dst_buffer,
163 uint32 dst_buffer_size) const { 163 uint32_t dst_buffer_size) const {
164 if (!data_->pdf_data_) 164 if (!data_->pdf_data_)
165 return false; 165 return false;
166 return WriteAssetToBuffer(data_->pdf_data_.get(), dst_buffer, 166 return WriteAssetToBuffer(data_->pdf_data_.get(), dst_buffer,
167 base::checked_cast<size_t>(dst_buffer_size)); 167 base::checked_cast<size_t>(dst_buffer_size));
168 } 168 }
169 169
170 gfx::Rect PdfMetafileSkia::GetPageBounds(unsigned int page_number) const { 170 gfx::Rect PdfMetafileSkia::GetPageBounds(unsigned int page_number) const {
171 if (page_number < data_->pages_.size()) { 171 if (page_number < data_->pages_.size()) {
172 return gfx::Rect(gfx::ToFlooredSize( 172 return gfx::Rect(gfx::ToFlooredSize(
173 gfx::SkSizeToSizeF(data_->pages_[page_number].page_size_))); 173 gfx::SkSizeToSizeF(data_->pages_[page_number].page_size_)));
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
208 CGContextRef context, 208 CGContextRef context,
209 const CGRect rect, 209 const CGRect rect,
210 const MacRenderPageParams& params) const { 210 const MacRenderPageParams& params) const {
211 DCHECK_GT(GetDataSize(), 0U); 211 DCHECK_GT(GetDataSize(), 0U);
212 if (data_->pdf_cg_.GetDataSize() == 0) { 212 if (data_->pdf_cg_.GetDataSize() == 0) {
213 if (GetDataSize() == 0) 213 if (GetDataSize() == 0)
214 return false; 214 return false;
215 size_t length = data_->pdf_data_->getLength(); 215 size_t length = data_->pdf_data_->getLength();
216 std::vector<uint8_t> buffer(length); 216 std::vector<uint8_t> buffer(length);
217 (void)WriteAssetToBuffer(data_->pdf_data_.get(), &buffer[0], length); 217 (void)WriteAssetToBuffer(data_->pdf_data_.get(), &buffer[0], length);
218 data_->pdf_cg_.InitFromData(&buffer[0], base::checked_cast<uint32>(length)); 218 data_->pdf_cg_.InitFromData(&buffer[0],
219 base::checked_cast<uint32_t>(length));
219 } 220 }
220 return data_->pdf_cg_.RenderPage(page_number, context, rect, params); 221 return data_->pdf_cg_.RenderPage(page_number, context, rect, params);
221 } 222 }
222 #endif 223 #endif
223 224
224 bool PdfMetafileSkia::SaveTo(base::File* file) const { 225 bool PdfMetafileSkia::SaveTo(base::File* file) const {
225 if (GetDataSize() == 0U) 226 if (GetDataSize() == 0U)
226 return false; 227 return false;
227 228
228 // Calling duplicate() keeps original asset state unchanged. 229 // Calling duplicate() keeps original asset state unchanged.
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after
280 281
281 metafile->data_->pages_.push_back(page); 282 metafile->data_->pages_.push_back(page);
282 283
283 if (!metafile->FinishDocument()) // Generate PDF. 284 if (!metafile->FinishDocument()) // Generate PDF.
284 metafile.reset(); 285 metafile.reset();
285 286
286 return metafile.Pass(); 287 return metafile.Pass();
287 } 288 }
288 289
289 } // namespace printing 290 } // namespace printing
OLDNEW
« no previous file with comments | « printing/pdf_metafile_skia.h ('k') | printing/print_settings_initializer_mac.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698