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

Side by Side Diff: src/core/SkBitmap.cpp

Issue 1516833003: Switch SkAutoMalloc to SkAutoTMalloc to avoid cast (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: Go back to patch set 3 Created 5 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 | « src/codec/SkWebpCodec.cpp ('k') | src/core/SkDraw.cpp » ('j') | 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 2008 The Android Open Source Project 2 * Copyright 2008 The Android Open Source Project
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 "SkAtomics.h" 8 #include "SkAtomics.h"
9 #include "SkBitmap.h" 9 #include "SkBitmap.h"
10 #include "SkColorPriv.h" 10 #include "SkColorPriv.h"
11 #include "SkData.h" 11 #include "SkData.h"
12 #include "SkFilterQuality.h" 12 #include "SkFilterQuality.h"
13 #include "SkMallocPixelRef.h" 13 #include "SkMallocPixelRef.h"
14 #include "SkMask.h" 14 #include "SkMask.h"
15 #include "SkMath.h" 15 #include "SkMath.h"
16 #include "SkPixelRef.h" 16 #include "SkPixelRef.h"
17 #include "SkReadBuffer.h" 17 #include "SkReadBuffer.h"
18 #include "SkRect.h" 18 #include "SkRect.h"
19 #include "SkScalar.h" 19 #include "SkScalar.h"
20 #include "SkTemplates.h"
20 #include "SkUnPreMultiply.h" 21 #include "SkUnPreMultiply.h"
21 #include "SkWriteBuffer.h" 22 #include "SkWriteBuffer.h"
22 23
23 #include <string.h> 24 #include <string.h>
24 25
25 static bool reset_return_false(SkBitmap* bm) { 26 static bool reset_return_false(SkBitmap* bm) {
26 bm->reset(); 27 bm->reset();
27 return false; 28 return false;
28 } 29 }
29 30
(...skipping 1045 matching lines...) Expand 10 before | Expand all | Expand 10 after
1075 static void write_raw_pixels(SkWriteBuffer* buffer, const SkPixmap& pmap) { 1076 static void write_raw_pixels(SkWriteBuffer* buffer, const SkPixmap& pmap) {
1076 const SkImageInfo& info = pmap.info(); 1077 const SkImageInfo& info = pmap.info();
1077 const size_t snugRB = info.width() * info.bytesPerPixel(); 1078 const size_t snugRB = info.width() * info.bytesPerPixel();
1078 const char* src = (const char*)pmap.addr(); 1079 const char* src = (const char*)pmap.addr();
1079 const size_t ramRB = pmap.rowBytes(); 1080 const size_t ramRB = pmap.rowBytes();
1080 1081
1081 buffer->write32(SkToU32(snugRB)); 1082 buffer->write32(SkToU32(snugRB));
1082 info.flatten(*buffer); 1083 info.flatten(*buffer);
1083 1084
1084 const size_t size = snugRB * info.height(); 1085 const size_t size = snugRB * info.height();
1085 SkAutoMalloc storage(size); 1086 SkAutoTMalloc<char> storage(size);
1086 char* dst = (char*)storage.get(); 1087 char* dst = storage.get();
1087 for (int y = 0; y < info.height(); ++y) { 1088 for (int y = 0; y < info.height(); ++y) {
1088 memcpy(dst, src, snugRB); 1089 memcpy(dst, src, snugRB);
1089 dst += snugRB; 1090 dst += snugRB;
1090 src += ramRB; 1091 src += ramRB;
1091 } 1092 }
1092 buffer->writeByteArray(storage.get(), size); 1093 buffer->writeByteArray(storage.get(), size);
1093 1094
1094 const SkColorTable* ct = pmap.ctable(); 1095 const SkColorTable* ct = pmap.ctable();
1095 if (kIndex_8_SkColorType == info.colorType() && ct) { 1096 if (kIndex_8_SkColorType == info.colorType() && ct) {
1096 buffer->writeBool(true); 1097 buffer->writeBool(true);
(...skipping 230 matching lines...) Expand 10 before | Expand all | Expand 10 after
1327 /////////////////////////////////////////////////////////////////////////////// 1328 ///////////////////////////////////////////////////////////////////////////////
1328 1329
1329 #ifdef SK_DEBUG 1330 #ifdef SK_DEBUG
1330 void SkImageInfo::validate() const { 1331 void SkImageInfo::validate() const {
1331 SkASSERT(fWidth >= 0); 1332 SkASSERT(fWidth >= 0);
1332 SkASSERT(fHeight >= 0); 1333 SkASSERT(fHeight >= 0);
1333 SkASSERT(SkColorTypeIsValid(fColorType)); 1334 SkASSERT(SkColorTypeIsValid(fColorType));
1334 SkASSERT(SkAlphaTypeIsValid(fAlphaType)); 1335 SkASSERT(SkAlphaTypeIsValid(fAlphaType));
1335 } 1336 }
1336 #endif 1337 #endif
OLDNEW
« no previous file with comments | « src/codec/SkWebpCodec.cpp ('k') | src/core/SkDraw.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698