More win64 warning fixes
authorbsalomon <bsalomon@google.com>
Fri, 12 Dec 2014 16:51:38 +0000 (08:51 -0800)
committerCommit bot <commit-bot@chromium.org>
Fri, 12 Dec 2014 16:51:39 +0000 (08:51 -0800)
Review URL: https://codereview.chromium.org/798723002

15 files changed:
dm/DMWriteTask.cpp
gm/tallstretchedbitmaps.cpp
include/core/SkTypes.h
src/core/SkDebug.cpp
src/core/SkDistanceFieldGen.cpp
src/core/SkDistanceFieldGen.h
src/gpu/GrDistanceFieldTextContext.cpp
src/gpu/GrInOrderDrawBuffer.cpp
src/gpu/GrProgramDesc.h
src/gpu/GrSWMaskHelper.cpp
src/gpu/GrSWMaskHelper.h
src/gpu/gl/GrGLPathRendering.cpp
src/pdf/SkPDFCatalog.cpp
src/pdf/SkPDFDocument.cpp
src/sfnt/SkOTUtils.cpp

index fa0d129d688628a4bfc69ce1a86af21f6172c512..fbb3c77d9e6c84b9352ec2f80a0e9d0f3496e373 100644 (file)
@@ -25,7 +25,7 @@ static int split_suffixes(int N, const char* name, SkTArray<SkString>* out) {
     for (int i = 0; i < N; i++) {
         // We're splitting off suffixes from the back to front.
         out->push_back(split[split.count()-i-1]);
-        consumed += out->back().size() + 1;  // Add one for the _.
+        consumed += SkToInt(out->back().size() + 1);  // Add one for the _.
     }
     return consumed;
 }
index 905cee8c652cda754d3e3f7408278fd349df3ddc..db55dddb942aca81ee73a74f61906596d03b271f 100644 (file)
@@ -69,7 +69,7 @@ protected:
 
     void onOnceBeforeDraw() SK_OVERRIDE {
         for (size_t i = 0; i < SK_ARRAY_COUNT(fTallBmps); ++i) {
-            int h = (4 + i) * 1024;
+            int h = SkToInt((4 + i) * 1024);
 
             fTallBmps[i].fItemCnt = make_bm(&fTallBmps[i].fBmp, h);
         }
index a38be84d8fbc38325ae217fc265a2ccc5dfb0b23..72ebb093c266e3013f87e79b5c8564cdd6d36612 100644 (file)
@@ -12,6 +12,7 @@
 #include "SkUserConfig.h"
 #include "SkPostConfig.h"
 #include <stdint.h>
+#include <sys/types.h>
 
 /** \file SkTypes.h
 */
@@ -244,6 +245,7 @@ typedef uint8_t SkBool8;
     SK_API int         SkToInt(intmax_t);
     SK_API unsigned    SkToUInt(uintmax_t);
     SK_API size_t      SkToSizeT(uintmax_t);
+    SK_API off_t       SkToOffT(intmax_t x);
 #else
     #define SkToS8(x)   ((int8_t)(x))
     #define SkToU8(x)   ((uint8_t)(x))
@@ -254,6 +256,7 @@ typedef uint8_t SkBool8;
     #define SkToInt(x)  ((int)(x))
     #define SkToUInt(x) ((unsigned)(x))
     #define SkToSizeT(x) ((size_t)(x))
+    #define SkToOffT(x) ((off_t)(x))
 #endif
 
 /** Returns 0 or 1 based on the condition
index b705a650ea2ce237ffef6a0f9d39b252052f9aab..2257c7f6d8c9e72f61d86e87eeca94b4fa4a5762 100644 (file)
@@ -56,4 +56,9 @@ size_t SkToSizeT(uintmax_t x) {
     return (size_t)x;
 }
 
+off_t SkToOffT(intmax_t x) {
+    SkASSERT((off_t)x == x);
+    return (off_t)x;
+}
+
 #endif
index 92cf1af20d50fe7cd558264f78386016dffaf5c8..30354e09f83cb783c49ee018af74b3d8e236b272 100755 (executable)
@@ -461,7 +461,7 @@ static bool generate_distance_field_from_image(unsigned char* distanceField,
 // assumes an 8-bit image and distance field
 bool SkGenerateDistanceFieldFromA8Image(unsigned char* distanceField,
                                         const unsigned char* image,
-                                        int width, int height, int rowBytes) {
+                                        int width, int height, size_t rowBytes) {
     SkASSERT(distanceField);
     SkASSERT(image);
 
@@ -489,7 +489,7 @@ bool SkGenerateDistanceFieldFromA8Image(unsigned char* distanceField,
 // assumes a 1-bit image and 8-bit distance field
 bool SkGenerateDistanceFieldFromBWImage(unsigned char* distanceField,
                                         const unsigned char* image,
-                                        int width, int height, int rowBytes) {
+                                        int width, int height, size_t rowBytes) {
     SkASSERT(distanceField);
     SkASSERT(image);
 
index 0510907f8c8847ec319f4c8fd037d39720542f6f..4a09ace107f16c241fdaeddbd084e5a89f952126 100644 (file)
@@ -35,7 +35,7 @@
  */
 bool SkGenerateDistanceFieldFromA8Image(unsigned char* distanceField,
                                         const unsigned char* image,
-                                        int w, int h, int rowBytes);
+                                        int w, int h, size_t rowBytes);
 
 /** Given 1-bit mask data, generate the associated distance field
 
@@ -48,7 +48,7 @@ bool SkGenerateDistanceFieldFromA8Image(unsigned char* distanceField,
  */
 bool SkGenerateDistanceFieldFromBWImage(unsigned char* distanceField,
                                         const unsigned char* image,
-                                        int w, int h, int rowBytes);
+                                        int w, int h, size_t rowBytes);
 
 /** Given width and height of original image, return size (in bytes) of distance field
  *  @param w                 Width of the original image.
index d25757c6956b49d52781f18f580f1f45aec8f60a..a052b641f63d1a085306baa90db005714351b426 100755 (executable)
@@ -306,7 +306,7 @@ void GrDistanceFieldTextContext::onDrawPosText(const GrPaint& paint, const SkPai
                                                      glyph.getSubYFixed()),
                                        x, y, fontScaler)) {
                     // couldn't append, send to fallback
-                    fallbackTxt.push_back_n(SkToU32(text-lastText), lastText);
+                    fallbackTxt.push_back_n(SkToInt(text-lastText), lastText);
                     fallbackPos.push_back(pos[0]);
                     if (2 == scalarsPerPosition) {
                         fallbackPos.push_back(pos[1]);
@@ -335,7 +335,7 @@ void GrDistanceFieldTextContext::onDrawPosText(const GrPaint& paint, const SkPai
                                                      glyph.getSubYFixed()),
                                        x - advanceX, y - advanceY, fontScaler)) {
                     // couldn't append, send to fallback
-                    fallbackTxt.push_back_n(SkToU32(text-lastText), lastText);
+                    fallbackTxt.push_back_n(SkToInt(text-lastText), lastText);
                     fallbackPos.push_back(pos[0]);
                     if (2 == scalarsPerPosition) {
                         fallbackPos.push_back(pos[1]);
index 68d2e3bc9a4fdf3ebf495721624788f81acefa4d..62d6818c2ba0b072d737a04bc1d9c9a49be9d16a 100644 (file)
@@ -332,9 +332,9 @@ void GrInOrderDrawBuffer::onDrawPaths(const GrDrawState& ds,
     }
 
     DrawPaths* dp = GrNEW_APPEND_TO_RECORDER(fCmdBuffer, DrawPaths, (pathRange));
-    dp->fIndicesLocation = savedIndices - fPathIndexBuffer.begin();
+    dp->fIndicesLocation = SkToU32(savedIndices - fPathIndexBuffer.begin());
     dp->fIndexType = indexType;
-    dp->fTransformsLocation = savedTransforms - fPathTransformBuffer.begin();
+    dp->fTransformsLocation = SkToU32(savedTransforms - fPathTransformBuffer.begin());
     dp->fTransformType = transformType;
     dp->fCount = count;
     dp->fStencilSettings = stencilSettings;
index 5b339613c538205d4f3ebe8fa16d600760b0a383..022bbc3d442a823088df24d4d1b61df956175188 100644 (file)
@@ -36,7 +36,7 @@ public:
 
     GrProgramDesc& operator= (const GrProgramDesc& other) {
         uint32_t keyLength = other.keyLength();
-        fKey.reset(keyLength);
+        fKey.reset(SkToInt(keyLength));
         memcpy(fKey.begin(), other.fKey.begin(), keyLength);
         return *this;
     }
index 142cd9271816a127f1f0ec27997b3eb75cb8451d..b6a7059192176adff5413dffcad2fe9ba5d12d4d 100644 (file)
@@ -252,7 +252,7 @@ GrTexture* GrSWMaskHelper::createTexture() {
 }
 
 void GrSWMaskHelper::sendTextureData(GrTexture *texture, const GrSurfaceDesc& desc,
-                                     const void *data, int rowbytes) {
+                                     const void *data, size_t rowbytes) {
     // If we aren't reusing scratch textures we don't need to flush before
     // writing since no one else will be using 'texture'
     bool reuseScratch = fContext->getGpu()->caps()->reuseScratchTextures();
index 1eef46ecff31af6c6f7031486132b5b229f29219..229b0e5e90469481ae5e1c9c7738ad5dffec6d26 100644 (file)
@@ -128,7 +128,7 @@ private:
     // Actually sends the texture data to the GPU. This is called from
     // toTexture with the data filled in depending on the texture config.
     void sendTextureData(GrTexture *texture, const GrSurfaceDesc& desc,
-                         const void *data, int rowbytes);
+                         const void *data, size_t rowbytes);
 
     // Compresses the bitmap stored in fBM and sends the compressed data
     // to the GPU to be stored in 'texture' using sendTextureData.
index 5e0889562d50f672801694e81e647356f571d916..44b86818e94660d91d5ef5cd39a1762c6b195e1e 100644 (file)
@@ -136,7 +136,7 @@ GrPathRange* GrGLPathRendering::createGlyphs(const SkTypeface* typeface,
     const void* fontData = fontStream->getMemoryBase();
     if (NULL == fontData) {
         // TODO: Find a more efficient way to pass the font data (e.g. open file descriptor).
-        fontTempBuffer.reset(SkToU32(fontDataLength));
+        fontTempBuffer.reset(SkToInt(fontDataLength));
         fontStream->read(&fontTempBuffer.front(), fontDataLength);
         fontData = &fontTempBuffer.front();
     }
index 8690b3eaea7b1ede6c78f104d8c285566020c737..adb466c859e020a62c4932074290edb68604482b 100644 (file)
@@ -197,7 +197,7 @@ off_t SkPDFCatalog::setSubstituteResourcesOffsets(off_t fileOffset,
     SkTSet<SkPDFObject*>* targetSet = getSubstituteList(firstPage);
     off_t offsetSum = fileOffset;
     for (int i = 0; i < targetSet->count(); ++i) {
-        offsetSum += setFileOffset((*targetSet)[i], offsetSum);
+        offsetSum += SkToOffT(setFileOffset((*targetSet)[i], offsetSum));
     }
     return offsetSum - fileOffset;
 }
index 79699a0292f13c8290bb82fdcbd166c2e6e7d985..9b1458f8324079e560a92afb7f1c0ea9bf174a1f 100644 (file)
@@ -160,14 +160,12 @@ bool SkPDFDocument::emitPDF(SkWStream* stream) {
         perform_font_subsetting(fCatalog.get(), fPages, &fSubstitutes);
 
         // Figure out the size of things and inform the catalog of file offsets.
-        off_t fileOffset = headerSize();
-        fileOffset += fCatalog->setFileOffset(fDocCatalog, fileOffset);
-        fileOffset += fCatalog->setFileOffset(fPages[0], fileOffset);
-        fileOffset += fPages[0]->getPageSize(fCatalog.get(),
-                (size_t) fileOffset);
+        off_t fileOffset = SkToOffT(this->headerSize());
+        fileOffset += SkToOffT(fCatalog->setFileOffset(fDocCatalog, fileOffset));
+        fileOffset += SkToOffT(fCatalog->setFileOffset(fPages[0], fileOffset));
+        fileOffset += fPages[0]->getPageSize(fCatalog.get(), fileOffset);
         for (int i = 0; i < fFirstPageResources->count(); i++) {
-            fileOffset += fCatalog->setFileOffset((*fFirstPageResources)[i],
-                                                  fileOffset);
+            fileOffset += SkToOffT(fCatalog->setFileOffset((*fFirstPageResources)[i], fileOffset));
         }
         // Add the size of resources of substitute objects used on page 1.
         fileOffset += fCatalog->setSubstituteResourcesOffsets(fileOffset, true);
@@ -177,7 +175,7 @@ bool SkPDFDocument::emitPDF(SkWStream* stream) {
         }
 
         for (int i = 0; i < fPageTree.count(); i++) {
-            fileOffset += fCatalog->setFileOffset(fPageTree[i], fileOffset);
+            fileOffset += SkToOffT(fCatalog->setFileOffset(fPageTree[i], fileOffset));
         }
 
         for (int i = 1; i < fPages.count(); i++) {
@@ -185,12 +183,10 @@ bool SkPDFDocument::emitPDF(SkWStream* stream) {
         }
 
         for (int i = 0; i < fOtherPageResources->count(); i++) {
-            fileOffset += fCatalog->setFileOffset(
-                (*fOtherPageResources)[i], fileOffset);
+            fileOffset += SkToOffT(fCatalog->setFileOffset((*fOtherPageResources)[i], fileOffset));
         }
 
-        fileOffset += fCatalog->setSubstituteResourcesOffsets(fileOffset,
-                                                              false);
+        fileOffset += fCatalog->setSubstituteResourcesOffsets(fileOffset, false);
         fXRefFileOffset = fileOffset;
     }
 
index 0e009528b4dcd1aa14f70a22f611cdd684ee3088..1d3843d061a043adb46a525cbcd718212cd45118 100644 (file)
@@ -129,7 +129,7 @@ SkData* SkOTUtils::RenameFont(SkStream* fontData, const char* fontName, int font
         nameRecords[i].languageID.windows.value = SkOTTableName::Record::LanguageID::Windows::English_UnitedStates;
         nameRecords[i].nameID.predefined.value = namesToCreate[i];
         nameRecords[i].offset = SkEndian_SwapBE16(0);
-        nameRecords[i].length = SkEndian_SwapBE16(fontNameLen * sizeof(wchar_t));
+        nameRecords[i].length = SkEndian_SwapBE16(SkToU16(fontNameLen * sizeof(wchar_t)));
     }
 
     SK_OT_USHORT* nameString = reinterpret_cast<SK_OT_USHORT*>(data + originalDataSize + stringOffset);