#include "GrResourceKey.h"
#include "GrTypesPriv.h"
-#include "SkData.h"
class GrContext;
class GrGpu;
const GrUniqueKey& getUniqueKey() const { return fUniqueKey; }
/**
- * Attach a custom data object to this resource. The data will remain attached
- * for the lifetime of this resource (until it is abandoned or released).
- * Takes a ref on data. Previously attached data, if any, is unrefed.
- * Returns the data argument, for convenience.
- */
- const SkData* setCustomData(const SkData* data);
-
- /**
- * Returns the custom data object that was attached to this resource by
- * calling setCustomData.
- */
- const SkData* getCustomData() const { return fData.get(); }
-
- /**
* Internal-only helper class used for manipulations of the resource by the cache.
*/
class CacheAccess;
bool fRefsWrappedObjects;
const uint32_t fUniqueID;
- SkAutoTUnref<const SkData> fData;
-
typedef GrIORef<GrGpuResource> INHERITED;
friend class GrIORef<GrGpuResource>; // to access notifyAllCntsAreZero and notifyRefCntIsZero.
};
this->setMemoryBacking(traceMemoryDump, dumpName);
}
-const SkData* GrGpuResource::setCustomData(const SkData* data) {
- SkSafeRef(data);
- fData.reset(data);
- return data;
-}
-
const GrContext* GrGpuResource::getContext() const {
if (fGpu) {
return fGpu->getContext();
int foo = 4132;
sk_sp<SkData> data(SkData::MakeWithCopy(&foo, sizeof(foo)));
- resource->setCustomData(data.get());
- resource->getCustomData();
resource->getUniqueID();
resource->getUniqueKey();
resource->wasDestroyed();