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

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

Issue 801413002: fix last warnings on w64 and turn on w.a.e. (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: fix/simplify memset bench name printing Created 6 years 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 | « gyp/common_variables.gypi ('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 #ifndef UNICODE 8 #ifndef UNICODE
9 #define UNICODE 9 #define UNICODE
10 #endif 10 #endif
(...skipping 367 matching lines...) Expand 10 before | Expand all | Expand 10 after
378 //overlap is certain, use memmove 378 //overlap is certain, use memmove
379 memmove(fontPackageBuffer.get() + extra, fontPackageBuffer.get(), bytesW ritten); 379 memmove(fontPackageBuffer.get() + extra, fontPackageBuffer.get(), bytesW ritten);
380 380
381 // Write the ttc header. 381 // Write the ttc header.
382 SkTTCFHeader* ttcfHeader = reinterpret_cast<SkTTCFHeader*>(fontPackageBu ffer.get()); 382 SkTTCFHeader* ttcfHeader = reinterpret_cast<SkTTCFHeader*>(fontPackageBu ffer.get());
383 ttcfHeader->ttcTag = SkTTCFHeader::TAG; 383 ttcfHeader->ttcTag = SkTTCFHeader::TAG;
384 ttcfHeader->version = SkTTCFHeader::version_1; 384 ttcfHeader->version = SkTTCFHeader::version_1;
385 ttcfHeader->numOffsets = SkEndian_SwapBE32(ttcCount); 385 ttcfHeader->numOffsets = SkEndian_SwapBE32(ttcCount);
386 SK_OT_ULONG* offsetPtr = SkTAfter<SK_OT_ULONG>(ttcfHeader); 386 SK_OT_ULONG* offsetPtr = SkTAfter<SK_OT_ULONG>(ttcfHeader);
387 for (int i = 0; i < ttcCount; ++i, ++offsetPtr) { 387 for (int i = 0; i < ttcCount; ++i, ++offsetPtr) {
388 *offsetPtr = SkEndian_SwapBE32(extra); 388 *offsetPtr = SkEndian_SwapBE32(SkToU32(extra));
389 } 389 }
390 390
391 // Fix up offsets in sfnt table entries. 391 // Fix up offsets in sfnt table entries.
392 SkSFNTHeader* sfntHeader = SkTAddOffset<SkSFNTHeader>(fontPackageBuffer. get(), extra); 392 SkSFNTHeader* sfntHeader = SkTAddOffset<SkSFNTHeader>(fontPackageBuffer. get(), extra);
393 int numTables = SkEndian_SwapBE16(sfntHeader->numTables); 393 int numTables = SkEndian_SwapBE16(sfntHeader->numTables);
394 SkSFNTHeader::TableDirectoryEntry* tableDirectory = 394 SkSFNTHeader::TableDirectoryEntry* tableDirectory =
395 SkTAfter<SkSFNTHeader::TableDirectoryEntry>(sfntHeader); 395 SkTAfter<SkSFNTHeader::TableDirectoryEntry>(sfntHeader);
396 for (int i = 0; i < numTables; ++i, ++tableDirectory) { 396 for (int i = 0; i < numTables; ++i, ++tableDirectory) {
397 tableDirectory->offset = SkEndian_SwapBE32( 397 tableDirectory->offset = SkEndian_SwapBE32(
398 SkEndian_SwapBE32(tableDirectory->offset) + extra); 398 SkToU32(SkEndian_SwapBE32(SkToU32(tableDirectory->offset)) + ext ra));
399 } 399 }
400 } else { 400 } else {
401 extra = 0; 401 extra = 0;
402 fontPackageBuffer.realloc(bytesWritten); 402 fontPackageBuffer.realloc(bytesWritten);
403 } 403 }
404 404
405 SkAutoTUnref<SkMemoryStream> newStream(new SkMemoryStream()); 405 SkAutoTUnref<SkMemoryStream> newStream(new SkMemoryStream());
406 newStream->setMemoryOwned(fontPackageBuffer.detach(), bytesWritten + extra); 406 newStream->setMemoryOwned(fontPackageBuffer.detach(), bytesWritten + extra);
407 407
408 SkTScopedComPtr<IStream> newIStream; 408 SkTScopedComPtr<IStream> newIStream;
(...skipping 1658 matching lines...) Expand 10 before | Expand all | Expand 10 after
2067 xpsGlyph->verticalOffset = (SkFixedToFloat(y) * -procs->centemPerUnit) 2067 xpsGlyph->verticalOffset = (SkFixedToFloat(y) * -procs->centemPerUnit)
2068 - first.verticalOffset; 2068 - first.verticalOffset;
2069 } 2069 }
2070 } 2070 }
2071 2071
2072 static void text_draw_init(const SkPaint& paint, 2072 static void text_draw_init(const SkPaint& paint,
2073 const void* text, size_t byteLength, 2073 const void* text, size_t byteLength,
2074 SkBitSet& glyphsUsed, 2074 SkBitSet& glyphsUsed,
2075 SkDraw& myDraw, SkXPSDrawProcs& procs) { 2075 SkDraw& myDraw, SkXPSDrawProcs& procs) {
2076 procs.fD1GProc = xps_draw_1_glyph; 2076 procs.fD1GProc = xps_draw_1_glyph;
2077 size_t numGlyphGuess; 2077 int numGlyphGuess;
2078 switch (paint.getTextEncoding()) { 2078 switch (paint.getTextEncoding()) {
2079 case SkPaint::kUTF8_TextEncoding: 2079 case SkPaint::kUTF8_TextEncoding:
2080 numGlyphGuess = SkUTF8_CountUnichars( 2080 numGlyphGuess = SkUTF8_CountUnichars(
2081 static_cast<const char *>(text), 2081 static_cast<const char *>(text),
2082 byteLength); 2082 byteLength);
2083 break; 2083 break;
2084 case SkPaint::kUTF16_TextEncoding: 2084 case SkPaint::kUTF16_TextEncoding:
2085 numGlyphGuess = SkUTF16_CountUnichars( 2085 numGlyphGuess = SkUTF16_CountUnichars(
2086 static_cast<const uint16_t *>(text), 2086 static_cast<const uint16_t *>(text),
2087 byteLength); 2087 SkToInt(byteLength));
2088 break; 2088 break;
2089 case SkPaint::kGlyphID_TextEncoding: 2089 case SkPaint::kGlyphID_TextEncoding:
2090 numGlyphGuess = byteLength / 2; 2090 numGlyphGuess = SkToInt(byteLength / 2);
2091 break; 2091 break;
2092 default: 2092 default:
2093 SK_ALWAYSBREAK(true); 2093 SK_ALWAYSBREAK(true);
2094 } 2094 }
2095 procs.xpsGlyphs.setReserve(numGlyphGuess); 2095 procs.xpsGlyphs.setReserve(numGlyphGuess);
2096 procs.glyphUse = &glyphsUsed; 2096 procs.glyphUse = &glyphsUsed;
2097 procs.centemPerUnit = 100.0f / SkScalarToFLOAT(paint.getTextSize()); 2097 procs.centemPerUnit = 100.0f / SkScalarToFLOAT(paint.getTextSize());
2098 2098
2099 myDraw.fProcs = &procs; 2099 myDraw.fProcs = &procs;
2100 } 2100 }
(...skipping 168 matching lines...) Expand 10 before | Expand all | Expand 10 after
2269 IID_PPV_ARGS(&this->fXpsFactory)), 2269 IID_PPV_ARGS(&this->fXpsFactory)),
2270 "Could not create factory for layer."); 2270 "Could not create factory for layer.");
2271 2271
2272 HRVM(this->fXpsFactory->CreateCanvas(&this->fCurrentXpsCanvas), 2272 HRVM(this->fXpsFactory->CreateCanvas(&this->fCurrentXpsCanvas),
2273 "Could not create canvas for layer."); 2273 "Could not create canvas for layer.");
2274 } 2274 }
2275 2275
2276 bool SkXPSDevice::allowImageFilter(const SkImageFilter*) { 2276 bool SkXPSDevice::allowImageFilter(const SkImageFilter*) {
2277 return false; 2277 return false;
2278 } 2278 }
OLDNEW
« no previous file with comments | « gyp/common_variables.gypi ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698