diff options
Diffstat (limited to 'chromium/third_party/skia/src/core/SkBitmapHeap.cpp')
-rw-r--r-- | chromium/third_party/skia/src/core/SkBitmapHeap.cpp | 17 |
1 files changed, 13 insertions, 4 deletions
diff --git a/chromium/third_party/skia/src/core/SkBitmapHeap.cpp b/chromium/third_party/skia/src/core/SkBitmapHeap.cpp index 1f2f3dcf36e..efaa23fc64a 100644 --- a/chromium/third_party/skia/src/core/SkBitmapHeap.cpp +++ b/chromium/third_party/skia/src/core/SkBitmapHeap.cpp @@ -9,7 +9,8 @@ #include "SkBitmapHeap.h" #include "SkBitmap.h" -#include "SkFlattenableBuffers.h" +#include "SkReadBuffer.h" +#include "SkWriteBuffer.h" #include "SkTSearch.h" SkBitmapHeapEntry::SkBitmapHeapEntry() @@ -35,15 +36,23 @@ void SkBitmapHeapEntry::addReferences(int count) { /////////////////////////////////////////////////////////////////////////////// +static bool operator<(const SkIPoint& a, const SkIPoint& b) { + return *(const int64_t*)&a < *(const int64_t*)&b; +} + +static bool operator>(const SkIPoint& a, const SkIPoint& b) { + return *(const int64_t*)&a > *(const int64_t*)&b; +} + bool SkBitmapHeap::LookupEntry::Less(const SkBitmapHeap::LookupEntry& a, const SkBitmapHeap::LookupEntry& b) { if (a.fGenerationId < b.fGenerationId) { return true; } else if (a.fGenerationId > b.fGenerationId) { return false; - } else if (a.fPixelOffset < b.fPixelOffset) { + } else if (a.fPixelOrigin < b.fPixelOrigin) { return true; - } else if (a.fPixelOffset > b.fPixelOffset) { + } else if (a.fPixelOrigin > b.fPixelOrigin) { return false; } else if (a.fWidth < b.fWidth) { return true; @@ -256,7 +265,7 @@ bool SkBitmapHeap::copyBitmap(const SkBitmap& originalBitmap, SkBitmap& copiedBi // copiedBitmap.setPixelRef(sharedPixelRef, originalBitmap.pixelRefOffset()); } else if (originalBitmap.empty()) { copiedBitmap.reset(); - } else if (!originalBitmap.deepCopyTo(&copiedBitmap, originalBitmap.config())) { + } else if (!originalBitmap.deepCopyTo(&copiedBitmap)) { return false; } copiedBitmap.setImmutable(); |