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

Side by Side Diff: src/xps/SkXPSDevice.cpp

Issue 2000853003: SkXPS: clean up SkConstexprMath (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: 2016-05-22 (Sunday) 13:44:31 EDT Created 4 years, 7 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
« src/xps/SkConstexprMath.h ('K') | « src/xps/SkConstexprMath.h ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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
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
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)
OLDNEW
« src/xps/SkConstexprMath.h ('K') | « src/xps/SkConstexprMath.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698