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

Unified Diff: src/core/SkPathRef.cpp

Issue 25754002: Move makeSpace and resetToSize from SkPathRef.cpp to .h (Closed) Base URL: http://skia.googlecode.com/svn/trunk/
Patch Set: Created 7 years, 2 months 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « include/core/SkPathRef.h ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: src/core/SkPathRef.cpp
===================================================================
--- src/core/SkPathRef.cpp (revision 11575)
+++ src/core/SkPathRef.cpp (working copy)
@@ -236,38 +236,6 @@
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 @@
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) {
« no previous file with comments | « include/core/SkPathRef.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698