diff options
author | 2013-10-02 17:49:50 +0000 | |
---|---|---|
committer | 2013-10-02 17:49:50 +0000 | |
commit | aaf3e64b2c867dff1b750cebdeff9e57784b8f22 (patch) | |
tree | 4c57a507c5a535ead79a67c0056c07986d8a5b0d /src | |
parent | 09846a05be093b610c91f7ff70610811ff3ee0f6 (diff) |
Move makeSpace and resetToSize from SkPathRef.cpp to .h
https://codereview.chromium.org/25754002/
git-svn-id: http://skia.googlecode.com/svn/trunk@11578 2bbb7eff-a529-9590-31e7-b0007b416f81
Diffstat (limited to 'src')
-rw-r--r-- | src/core/SkPathRef.cpp | 63 |
1 files changed, 0 insertions, 63 deletions
diff --git a/src/core/SkPathRef.cpp b/src/core/SkPathRef.cpp index 08cc4cb08e..92e13cab9d 100644 --- a/src/core/SkPathRef.cpp +++ b/src/core/SkPathRef.cpp @@ -236,38 +236,6 @@ void SkPathRef::copy(const SkPathRef& ref, SkDEBUGCODE(this->validate();) } -void SkPathRef::resetToSize(int verbCount, int pointCount, int conicCount, - int reserveVerbs, int reservePoints) { - SkDEBUGCODE(this->validate();) - fBoundsIsDirty = true; // this also invalidates fIsFinite - fGenerationID = 0; - - size_t newSize = sizeof(uint8_t) * verbCount + sizeof(SkPoint) * pointCount; - size_t newReserve = sizeof(uint8_t) * reserveVerbs + sizeof(SkPoint) * reservePoints; - size_t minSize = newSize + newReserve; - - ptrdiff_t sizeDelta = this->currSize() - minSize; - - if (sizeDelta < 0 || static_cast<size_t>(sizeDelta) >= 3 * minSize) { - sk_free(fPoints); - fPoints = NULL; - fVerbs = NULL; - fFreeSpace = 0; - fVerbCnt = 0; - fPointCnt = 0; - this->makeSpace(minSize); - fVerbCnt = verbCount; - fPointCnt = pointCount; - fFreeSpace -= newSize; - } else { - fPointCnt = pointCount; - fVerbCnt = verbCount; - fFreeSpace = this->currSize() - minSize; - } - fConicWeights.setCount(conicCount); - SkDEBUGCODE(this->validate();) -} - SkPoint* SkPathRef::growForVerb(int /* SkPath::Verb*/ verb) { SkDEBUGCODE(this->validate();) int pCnt; @@ -308,37 +276,6 @@ SkPoint* SkPathRef::growForVerb(int /* SkPath::Verb*/ verb) { return ret; } -void SkPathRef::makeSpace(size_t size) { - SkDEBUGCODE(this->validate();) - ptrdiff_t growSize = size - fFreeSpace; - if (growSize <= 0) { - return; - } - size_t oldSize = this->currSize(); - // round to next multiple of 8 bytes - growSize = (growSize + 7) & ~static_cast<size_t>(7); - // we always at least double the allocation - if (static_cast<size_t>(growSize) < oldSize) { - growSize = oldSize; - } - if (growSize < kMinSize) { - growSize = kMinSize; - } - size_t newSize = oldSize + growSize; - // Note that realloc could memcpy more than we need. It seems to be a win anyway. TODO: - // encapsulate this. - fPoints = reinterpret_cast<SkPoint*>(sk_realloc_throw(fPoints, newSize)); - size_t oldVerbSize = fVerbCnt * sizeof(uint8_t); - void* newVerbsDst = reinterpret_cast<void*>( - reinterpret_cast<intptr_t>(fPoints) + newSize - oldVerbSize); - void* oldVerbsSrc = reinterpret_cast<void*>( - reinterpret_cast<intptr_t>(fPoints) + oldSize - oldVerbSize); - memmove(newVerbsDst, oldVerbsSrc, oldVerbSize); - fVerbs = reinterpret_cast<uint8_t*>(reinterpret_cast<intptr_t>(fPoints) + newSize); - fFreeSpace += growSize; - SkDEBUGCODE(this->validate();) -} - int32_t SkPathRef::genID() const { SkASSERT(!fEditorsAttached); if (!fGenerationID) { |