Home | History | Annotate | Download | only in api

Lines Matching full:fhandle

396     "code": "static void DeleteCallback(void*, void* context) {\n    delete (char*) context;\n}\nclass CustomAllocator : public SkRasterHandleAllocator {\npublic:\n    bool allocHandle(const SkImageInfo& info, Rec* rec) override {\n        char* context = new char[4]{'s', 'k', 'i', 'a'};\n        rec->fReleaseProc = DeleteCallback;\n        rec->fReleaseCtx = context;\n        rec->fHandle = context;\n        rec->fPixels = context;\n        rec->fRowBytes = 4;\n        return true;\n    }\n    void updateHandle(Handle handle, const SkMatrix& ctm, const SkIRect& clip_bounds) override {\n        // apply canvas matrix and clip to custom environment\n    }\n};\n\nvoid draw(SkCanvas* canvas) {\n    const SkImageInfo info = SkImageInfo::MakeN32Premul(1, 1);\n    std::unique_ptr<SkCanvas> c2 =\n            SkRasterHandleAllocator::MakeCanvas(std::unique_ptr<CustomAllocator>(\n            new CustomAllocator()), info);\n    char* context = (char*) c2->accessTopRasterHandle();\n    SkDebugf(\"context = %.4s\\n\", context);\n}\n",