how to use SkArenaAlloc with no friends
No more
friend class ::SkArenaAlloc; // for access to ctor
Change-Id: I76fa3319498a965623e6865b75d1fb507ab845a6
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/344236
Auto-Submit: Mike Klein <mtklein@google.com>
Commit-Queue: Herb Derby <herb@google.com>
Reviewed-by: Herb Derby <herb@google.com>
diff --git a/src/gpu/GrDefaultGeoProcFactory.cpp b/src/gpu/GrDefaultGeoProcFactory.cpp
index 21d700e..7ef0f02 100644
--- a/src/gpu/GrDefaultGeoProcFactory.cpp
+++ b/src/gpu/GrDefaultGeoProcFactory.cpp
@@ -39,8 +39,10 @@
const SkMatrix& localMatrix,
bool localCoordsWillBeRead,
uint8_t coverage) {
- return arena->make<DefaultGeoProc>(gpTypeFlags, color, viewMatrix, localMatrix, coverage,
- localCoordsWillBeRead);
+ return arena->make([&](void* ptr) {
+ return new (ptr) DefaultGeoProc(gpTypeFlags, color, viewMatrix, localMatrix, coverage,
+ localCoordsWillBeRead);
+ });
}
const char* name() const override { return "DefaultGeometryProcessor"; }
@@ -194,8 +196,6 @@
}
private:
- friend class ::SkArenaAlloc; // for access to ctor
-
DefaultGeoProc(uint32_t gpTypeFlags,
const SkPMColor4f& color,
const SkMatrix& viewMatrix,