OLD | NEW |
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 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 | 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_ps_metafile_cairo.h" | 5 #include "printing/pdf_ps_metafile_cairo.h" |
6 | 6 |
7 #include <stdio.h> | 7 #include <stdio.h> |
8 | 8 |
9 #include <cairo.h> | 9 #include <cairo.h> |
10 #include <cairo-pdf.h> | 10 #include <cairo-pdf.h> |
(...skipping 126 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
137 // raw_override_data_ | 137 // raw_override_data_ |
138 if (src_buffer == NULL || src_buffer_size == 0) | 138 if (src_buffer == NULL || src_buffer_size == 0) |
139 return false; | 139 return false; |
140 | 140 |
141 raw_override_data_ = std::string(reinterpret_cast<const char*>(src_buffer), | 141 raw_override_data_ = std::string(reinterpret_cast<const char*>(src_buffer), |
142 src_buffer_size); | 142 src_buffer_size); |
143 | 143 |
144 return true; | 144 return true; |
145 } | 145 } |
146 | 146 |
| 147 skia::PlatformDevice* PdfPsMetafile::StartPageForVectorCanvas( |
| 148 const gfx::Size& page_size, const gfx::Point& content_origin, |
| 149 const float& scale_factor) { |
| 150 DCHECK_EQ(1.0f, scale_factor); // We don't yet support scale_factor. |
| 151 if (!StartPage(page_size, content_origin.y(), content_origin.x())) |
| 152 return NULL; |
| 153 |
| 154 return skia::VectorPlatformDeviceFactory::CreateDevice(context_, |
| 155 page_size.width(), |
| 156 page_size.height(), |
| 157 true); |
| 158 } |
| 159 |
147 cairo_t* PdfPsMetafile::StartPage(const gfx::Size& page_size, | 160 cairo_t* PdfPsMetafile::StartPage(const gfx::Size& page_size, |
148 double margin_top_in_points, | 161 double margin_top_in_points, |
149 double margin_left_in_points) { | 162 double margin_left_in_points) { |
150 DCHECK(IsSurfaceValid(surface_)); | 163 DCHECK(IsSurfaceValid(surface_)); |
151 DCHECK(IsContextValid(context_)); | 164 DCHECK(IsContextValid(context_)); |
152 // Passing this check implies page_surface_ is NULL, and current_page_ is | 165 // Passing this check implies page_surface_ is NULL, and current_page_ is |
153 // empty. | 166 // empty. |
154 DCHECK_GT(page_size.width(), 0); | 167 DCHECK_GT(page_size.width(), 0); |
155 DCHECK_GT(page_size.height(), 0); | 168 DCHECK_GT(page_size.height(), 0); |
156 | 169 |
(...skipping 116 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
273 } | 286 } |
274 | 287 |
275 void PdfPsMetafile::CleanUpAll() { | 288 void PdfPsMetafile::CleanUpAll() { |
276 CleanUpContext(&context_); | 289 CleanUpContext(&context_); |
277 CleanUpSurface(&surface_); | 290 CleanUpSurface(&surface_); |
278 data_.clear(); | 291 data_.clear(); |
279 skia::VectorPlatformDevice::ClearFontCache(); | 292 skia::VectorPlatformDevice::ClearFontCache(); |
280 } | 293 } |
281 | 294 |
282 } // namespace printing | 295 } // namespace printing |
OLD | NEW |