| 1 | // Copyright 2019 Google LLC. | 
|---|
| 2 | // Use of this source code is governed by a BSD-style license that can be found in the LICENSE file. | 
|---|
| 3 |  | 
|---|
| 4 | #ifndef SkPixelRefPriv_DEFINED | 
|---|
| 5 | #define SkPixelRefPriv_DEFINED | 
|---|
| 6 | /** | 
|---|
| 7 | *  Return a new SkMallocPixelRef with the provided pixel storage and | 
|---|
| 8 | *  rowBytes. On destruction, ReleaseProc will be called. | 
|---|
| 9 | * | 
|---|
| 10 | *  If ReleaseProc is NULL, the pixels will never be released. This | 
|---|
| 11 | *  can be useful if the pixels were stack allocated. However, such an | 
|---|
| 12 | *  SkMallocPixelRef must not live beyond its pixels (e.g. by copying | 
|---|
| 13 | *  an SkBitmap pointing to it, or drawing to an SkPicture). | 
|---|
| 14 | * | 
|---|
| 15 | *  Returns NULL on failure. | 
|---|
| 16 | */ | 
|---|
| 17 | sk_sp<SkPixelRef> SkMakePixelRefWithProc(int w, int h, size_t rowBytes, void* addr, | 
|---|
| 18 | void (*releaseProc)(void* addr, void* ctx), void* ctx); | 
|---|
| 19 |  | 
|---|
| 20 | #endif  // SkPixelRefPriv_DEFINED | 
|---|
| 21 |  | 
|---|