Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 /* | 1 /* |
| 2 * Copyright 2011 Google Inc. | 2 * Copyright 2011 Google Inc. |
| 3 * | 3 * |
| 4 * Use of this source code is governed by a BSD-style license that can be | 4 * Use of this source code is governed by a BSD-style license that can be |
| 5 * found in the LICENSE file. | 5 * found in the LICENSE file. |
| 6 */ | 6 */ |
| 7 | 7 |
| 8 #include "SkTypes.h" | 8 #include "SkTypes.h" |
| 9 #if defined(SK_BUILD_FOR_WIN32) | 9 #if defined(SK_BUILD_FOR_WIN32) |
| 10 | 10 |
| (...skipping 184 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 195 IXpsOMImageResource** image) { | 195 IXpsOMImageResource** image) { |
| 196 SkTScopedComPtr<IXpsOMThumbnailGenerator> thumbnailGenerator; | 196 SkTScopedComPtr<IXpsOMThumbnailGenerator> thumbnailGenerator; |
| 197 HRM(CoCreateInstance( | 197 HRM(CoCreateInstance( |
| 198 CLSID_XpsOMThumbnailGenerator, | 198 CLSID_XpsOMThumbnailGenerator, |
| 199 nullptr, | 199 nullptr, |
| 200 CLSCTX_INPROC_SERVER, | 200 CLSCTX_INPROC_SERVER, |
| 201 IID_PPV_ARGS(&thumbnailGenerator)), | 201 IID_PPV_ARGS(&thumbnailGenerator)), |
| 202 "Could not create thumbnail generator."); | 202 "Could not create thumbnail generator."); |
| 203 | 203 |
| 204 SkTScopedComPtr<IOpcPartUri> partUri; | 204 SkTScopedComPtr<IOpcPartUri> partUri; |
| 205 static const size_t size = SkTUMax< | 205 constexpr size_t size = SkSMax( |
| 206 SK_ARRAY_COUNT(L"/Documents/1/Metadata/.png") + SK_DIGITS_IN(pageNum), | 206 SK_ARRAY_COUNT(L"/Documents/1/Metadata/.png") + SkDigitsIn<unsigned> (), |
| 207 SK_ARRAY_COUNT(L"/Metadata/" L_GUID_ID L".png") | 207 SK_ARRAY_COUNT(L"/Metadata/" L_GUID_ID L".png")); |
| 208 >::value; | |
| 209 wchar_t buffer[size]; | 208 wchar_t buffer[size]; |
| 210 if (pageNum > 0) { | 209 if (pageNum > 0) { |
| 211 swprintf_s(buffer, size, L"/Documents/1/Metadata/%u.png", pageNum); | 210 swprintf_s(buffer, size, L"/Documents/1/Metadata/%u.png", pageNum); |
|
bungeman-skia
2016/05/23 15:04:49
Eck, now that I look at these, I think this needs
hal.canary
2016/05/23 16:55:39
Acknowledged.
| |
| 212 } else { | 211 } else { |
| 213 wchar_t id[GUID_ID_LEN]; | 212 wchar_t id[GUID_ID_LEN]; |
| 214 HR(this->createId(id, GUID_ID_LEN)); | 213 HR(this->createId(id, GUID_ID_LEN)); |
| 215 swprintf_s(buffer, size, L"/Metadata/%s.png", id); | 214 swprintf_s(buffer, size, L"/Metadata/%s.png", id); |
| 216 } | 215 } |
| 217 HRM(this->fXpsFactory->CreatePartUri(buffer, &partUri), | 216 HRM(this->fXpsFactory->CreatePartUri(buffer, &partUri), |
| 218 "Could not create thumbnail part uri."); | 217 "Could not create thumbnail part uri."); |
| 219 | 218 |
| 220 HRM(thumbnailGenerator->GenerateThumbnail(page, | 219 HRM(thumbnailGenerator->GenerateThumbnail(page, |
| 221 XPS_IMAGE_TYPE_PNG, | 220 XPS_IMAGE_TYPE_PNG, |
| 222 XPS_THUMBNAIL_SIZE_LARGE, | 221 XPS_THUMBNAIL_SIZE_LARGE, |
| 223 partUri.get(), | 222 partUri.get(), |
| 224 image), | 223 image), |
| 225 "Could not generate thumbnail."); | 224 "Could not generate thumbnail."); |
| 226 | 225 |
| 227 return S_OK; | 226 return S_OK; |
| 228 } | 227 } |
| 229 | 228 |
| 230 HRESULT SkXPSDevice::createXpsPage(const XPS_SIZE& pageSize, | 229 HRESULT SkXPSDevice::createXpsPage(const XPS_SIZE& pageSize, |
| 231 IXpsOMPage** page) { | 230 IXpsOMPage** page) { |
| 232 static const size_t size = SK_ARRAY_COUNT(L"/Documents/1/Pages/.fpage") | 231 constexpr size_t size = SK_ARRAY_COUNT(L"/Documents/1/Pages/.fpage") |
| 233 + SK_DIGITS_IN(fCurrentPage); | 232 + SkDigitsIn<unsigned>(); |
| 234 wchar_t buffer[size]; | 233 wchar_t buffer[size]; |
| 235 swprintf_s(buffer, size, L"/Documents/1/Pages/%u.fpage", | 234 swprintf_s(buffer, size, L"/Documents/1/Pages/%u.fpage", |
| 236 this->fCurrentPage); | 235 this->fCurrentPage); |
| 237 SkTScopedComPtr<IOpcPartUri> partUri; | 236 SkTScopedComPtr<IOpcPartUri> partUri; |
| 238 HRM(this->fXpsFactory->CreatePartUri(buffer, &partUri), | 237 HRM(this->fXpsFactory->CreatePartUri(buffer, &partUri), |
| 239 "Could not create page part uri."); | 238 "Could not create page part uri."); |
| 240 | 239 |
| 241 //If the language is unknown, use "und" (XPS Spec 2.3.5.1). | 240 //If the language is unknown, use "und" (XPS Spec 2.3.5.1). |
| 242 HRM(this->fXpsFactory->CreatePage(&pageSize, | 241 HRM(this->fXpsFactory->CreatePage(&pageSize, |
| 243 L"und", | 242 L"und", |
| (...skipping 2027 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 2271 //SkXPSDevice* dev = new SkXPSDevice(this); | 2270 //SkXPSDevice* dev = new SkXPSDevice(this); |
| 2272 //SkSize s = SkSize::Make(width, height); | 2271 //SkSize s = SkSize::Make(width, height); |
| 2273 //dev->BeginCanvas(s, s, SkMatrix::I()); | 2272 //dev->BeginCanvas(s, s, SkMatrix::I()); |
| 2274 //return dev; | 2273 //return dev; |
| 2275 } | 2274 } |
| 2276 #endif | 2275 #endif |
| 2277 return new SkXPSDevice(this->fXpsFactory.get()); | 2276 return new SkXPSDevice(this->fXpsFactory.get()); |
| 2278 } | 2277 } |
| 2279 | 2278 |
| 2280 #endif//defined(SK_BUILD_FOR_WIN32) | 2279 #endif//defined(SK_BUILD_FOR_WIN32) |
| OLD | NEW |