| OLD | NEW |
| 1 | 1 |
| 2 /* | 2 /* |
| 3 * Copyright 2005 The Android Open Source Project | 3 * Copyright 2005 The Android Open Source Project |
| 4 * | 4 * |
| 5 * Use of this source code is governed by a BSD-style license that can be | 5 * Use of this source code is governed by a BSD-style license that can be |
| 6 * found in the LICENSE file. | 6 * found in the LICENSE file. |
| 7 */ | 7 */ |
| 8 | 8 |
| 9 | 9 |
| 10 #ifndef SkRegion_DEFINED | 10 #ifndef SkRegion_DEFINED |
| 11 #define SkRegion_DEFINED | 11 #define SkRegion_DEFINED |
| 12 | 12 |
| 13 #include "SkRect.h" | 13 #include "SkRect.h" |
| 14 | 14 |
| 15 class SkFlattenableReadBuffer; |
| 15 class SkPath; | 16 class SkPath; |
| 16 class SkRgnBuilder; | 17 class SkRgnBuilder; |
| 17 | 18 |
| 18 namespace android { | 19 namespace android { |
| 19 class Region; | 20 class Region; |
| 20 } | 21 } |
| 21 | 22 |
| 22 #define SkRegion_gEmptyRunHeadPtr ((SkRegion::RunHead*)-1) | 23 #define SkRegion_gEmptyRunHeadPtr ((SkRegion::RunHead*)-1) |
| 23 #define SkRegion_gRectRunHeadPtr 0 | 24 #define SkRegion_gRectRunHeadPtr 0 |
| 24 | 25 |
| (...skipping 326 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 351 Spanerator(const SkRegion&, int y, int left, int right); | 352 Spanerator(const SkRegion&, int y, int left, int right); |
| 352 bool next(int* left, int* right); | 353 bool next(int* left, int* right); |
| 353 | 354 |
| 354 private: | 355 private: |
| 355 const SkRegion::RunType* fRuns; | 356 const SkRegion::RunType* fRuns; |
| 356 int fLeft, fRight; | 357 int fLeft, fRight; |
| 357 bool fDone; | 358 bool fDone; |
| 358 }; | 359 }; |
| 359 | 360 |
| 360 /** | 361 /** |
| 362 * Returns the number of bytes of the current object's flattened representa
tion. |
| 363 */ |
| 364 uint32_t sizeInMemory() const; |
| 365 /** |
| 366 * Returns the number of bytes to read. |
| 367 */ |
| 368 static uint32_t SizeToRead(SkFlattenableReadBuffer& buffer); |
| 369 /** |
| 361 * Write the region to the buffer, and return the number of bytes written. | 370 * Write the region to the buffer, and return the number of bytes written. |
| 362 * If buffer is NULL, it still returns the number of bytes. | 371 * If buffer is NULL, it still returns the number of bytes. |
| 363 */ | 372 */ |
| 364 uint32_t writeToMemory(void* buffer) const; | 373 uint32_t writeToMemory(void* buffer) const; |
| 365 | 374 |
| 366 /** | 375 /** |
| 367 * Initialized the region from the buffer, returning the number | 376 * Initialized the region from the buffer, returning the number |
| 368 * of bytes actually read. | 377 * of bytes actually read. |
| 369 */ | 378 */ |
| 370 uint32_t readFromMemory(const void* buffer); | 379 uint32_t readFromMemory(const void* buffer); |
| (...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 437 static bool Oper(const SkRegion&, const SkRegion&, SkRegion::Op, SkRegion*); | 446 static bool Oper(const SkRegion&, const SkRegion&, SkRegion::Op, SkRegion*); |
| 438 | 447 |
| 439 friend struct RunHead; | 448 friend struct RunHead; |
| 440 friend class Iterator; | 449 friend class Iterator; |
| 441 friend class Spanerator; | 450 friend class Spanerator; |
| 442 friend class SkRgnBuilder; | 451 friend class SkRgnBuilder; |
| 443 friend class SkFlatRegion; | 452 friend class SkFlatRegion; |
| 444 }; | 453 }; |
| 445 | 454 |
| 446 #endif | 455 #endif |
| OLD | NEW |