| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright 2012 Google Inc. | 2 * Copyright 2012 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 "SkRRect.h" | 8 #include "SkRRect.h" |
| 9 | 9 |
| 10 /////////////////////////////////////////////////////////////////////////////// | 10 /////////////////////////////////////////////////////////////////////////////// |
| (...skipping 241 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 252 } | 252 } |
| 253 if (radii[i].fY) { | 253 if (radii[i].fY) { |
| 254 radii[i].fY -= dy; | 254 radii[i].fY -= dy; |
| 255 } | 255 } |
| 256 } | 256 } |
| 257 dst->setRectRadii(r, radii); | 257 dst->setRectRadii(r, radii); |
| 258 } | 258 } |
| 259 | 259 |
| 260 /////////////////////////////////////////////////////////////////////////////// | 260 /////////////////////////////////////////////////////////////////////////////// |
| 261 | 261 |
| 262 uint32_t SkRRect::writeToMemory(void* buffer) const { | 262 size_t SkRRect::writeToMemory(void* buffer) const { |
| 263 SkASSERT(kSizeInMemory == sizeof(SkRect) + sizeof(fRadii)); | 263 SkASSERT(kSizeInMemory == sizeof(SkRect) + sizeof(fRadii)); |
| 264 | 264 |
| 265 memcpy(buffer, &fRect, sizeof(SkRect)); | 265 memcpy(buffer, &fRect, sizeof(SkRect)); |
| 266 memcpy((char*)buffer + sizeof(SkRect), fRadii, sizeof(fRadii)); | 266 memcpy((char*)buffer + sizeof(SkRect), fRadii, sizeof(fRadii)); |
| 267 return kSizeInMemory; | 267 return kSizeInMemory; |
| 268 } | 268 } |
| 269 | 269 |
| 270 uint32_t SkRRect::readFromMemory(const void* buffer) { | 270 size_t SkRRect::readFromMemory(const void* buffer, size_t length) { |
| 271 if (length < kSizeInMemory) { |
| 272 return 0; |
| 273 } |
| 274 |
| 271 SkScalar storage[12]; | 275 SkScalar storage[12]; |
| 272 SkASSERT(sizeof(storage) == kSizeInMemory); | 276 SkASSERT(sizeof(storage) == kSizeInMemory); |
| 273 | 277 |
| 274 // we make a local copy, to ensure alignment before we cast | 278 // we make a local copy, to ensure alignment before we cast |
| 275 memcpy(storage, buffer, kSizeInMemory); | 279 memcpy(storage, buffer, kSizeInMemory); |
| 276 | 280 |
| 277 this->setRectRadii(*(const SkRect*)&storage[0], | 281 this->setRectRadii(*(const SkRect*)&storage[0], |
| 278 (const SkVector*)&storage[4]); | 282 (const SkVector*)&storage[4]); |
| 279 return kSizeInMemory; | 283 return kSizeInMemory; |
| 280 } | 284 } |
| (...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 331 SkASSERT(!allRadiiZero && !allRadiiSame && !allCornersSquare); | 335 SkASSERT(!allRadiiZero && !allRadiiSame && !allCornersSquare); |
| 332 break; | 336 break; |
| 333 case kUnknown_Type: | 337 case kUnknown_Type: |
| 334 // no limits on this | 338 // no limits on this |
| 335 break; | 339 break; |
| 336 } | 340 } |
| 337 } | 341 } |
| 338 #endif // SK_DEBUG | 342 #endif // SK_DEBUG |
| 339 | 343 |
| 340 /////////////////////////////////////////////////////////////////////////////// | 344 /////////////////////////////////////////////////////////////////////////////// |
| OLD | NEW |