| OLD | NEW | 
|---|
| 1 /* | 1 /* | 
| 2  * Copyright 2014 Google Inc. | 2  * Copyright 2014 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 "SkBitmap.h" | 8 #include "SkBitmap.h" | 
| 9 #include "SkCanvas.h" | 9 #include "SkCanvas.h" | 
| 10 #include "SkConfig8888.h" | 10 #include "SkConfig8888.h" | 
| (...skipping 155 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 166         dst8 += dstRB; | 166         dst8 += dstRB; | 
| 167     } | 167     } | 
| 168 } | 168 } | 
| 169 | 169 | 
| 170 bool SkPixelInfo::CopyPixels(const SkImageInfo& dstInfo, void* dstPixels, size_t
      dstRB, | 170 bool SkPixelInfo::CopyPixels(const SkImageInfo& dstInfo, void* dstPixels, size_t
      dstRB, | 
| 171                              const SkImageInfo& srcInfo, const void* srcPixels, 
     size_t srcRB, | 171                              const SkImageInfo& srcInfo, const void* srcPixels, 
     size_t srcRB, | 
| 172                              SkColorTable* ctable) { | 172                              SkColorTable* ctable) { | 
| 173     if (srcInfo.dimensions() != dstInfo.dimensions()) { | 173     if (srcInfo.dimensions() != dstInfo.dimensions()) { | 
| 174         return false; | 174         return false; | 
| 175     } | 175     } | 
| 176 | 176 | 
| 177     const int width = srcInfo.width(); | 177     const int width = srcInfo.width(); | 
| 178     const int height = srcInfo.height(); | 178     const int height = srcInfo.height(); | 
|  | 179 | 
|  | 180     // Do the easiest one first : both configs are equal | 
|  | 181     if ((srcInfo == dstInfo) && !ctable) { | 
|  | 182         size_t bytes = width * srcInfo.bytesPerPixel(); | 
|  | 183         for (int y = 0; y < height; ++y) { | 
|  | 184             memcpy(dstPixels, srcPixels, bytes); | 
|  | 185             srcPixels = (const char*)srcPixels + srcRB; | 
|  | 186             dstPixels = (char*)dstPixels + dstRB; | 
|  | 187         } | 
|  | 188         return true; | 
|  | 189     } | 
| 179 | 190 | 
| 180     // Handle fancy alpha swizzling if both are ARGB32 | 191     // Handle fancy alpha swizzling if both are ARGB32 | 
| 181     if (4 == srcInfo.bytesPerPixel() && 4 == dstInfo.bytesPerPixel()) { | 192     if (4 == srcInfo.bytesPerPixel() && 4 == dstInfo.bytesPerPixel()) { | 
| 182         SkDstPixelInfo dstPI; | 193         SkDstPixelInfo dstPI; | 
| 183         dstPI.fColorType = dstInfo.colorType(); | 194         dstPI.fColorType = dstInfo.colorType(); | 
| 184         dstPI.fAlphaType = dstInfo.alphaType(); | 195         dstPI.fAlphaType = dstInfo.alphaType(); | 
| 185         dstPI.fPixels = dstPixels; | 196         dstPI.fPixels = dstPixels; | 
| 186         dstPI.fRowBytes = dstRB; | 197         dstPI.fRowBytes = dstRB; | 
| 187 | 198 | 
| 188         SkSrcPixelInfo srcPI; | 199         SkSrcPixelInfo srcPI; | 
| (...skipping 97 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 286 | 297 | 
| 287         SkPaint  paint; | 298         SkPaint  paint; | 
| 288         paint.setDither(true); | 299         paint.setDither(true); | 
| 289 | 300 | 
| 290         canvas->clear(0); | 301         canvas->clear(0); | 
| 291         canvas->drawBitmap(bm, 0, 0, &paint); | 302         canvas->drawBitmap(bm, 0, 0, &paint); | 
| 292         return true; | 303         return true; | 
| 293     } | 304     } | 
| 294 } | 305 } | 
| 295 | 306 | 
| OLD | NEW | 
|---|