| OLD | NEW | 
|---|
| 1 /* | 1 /* | 
| 2  * Copyright 2012 Google Inc. | 2  * Copyright 2012 Google Inc. | 
| 3  * | 3  * | 
| 4  * Use of this source code is governed by a BSD-style license that can be | 4  * Use of this source code is governed by a BSD-style license that can be | 
| 5  * found in the LICENSE file. | 5  * found in the LICENSE file. | 
| 6  */ | 6  */ | 
| 7 | 7 | 
| 8 #ifndef SkImagePriv_DEFINED | 8 #ifndef SkImagePriv_DEFINED | 
| 9 #define SkImagePriv_DEFINED | 9 #define SkImagePriv_DEFINED | 
| 10 | 10 | 
| 11 #include "SkImage.h" | 11 #include "SkImage.h" | 
| 12 | 12 | 
| 13 // Call this if you explicitly want to use/share this pixelRef in the image | 13 // Call this if you explicitly want to use/share this pixelRef in the image | 
| 14 extern SkImage* SkNewImageFromPixelRef(const SkImageInfo&, SkPixelRef*, | 14 extern SkImage* SkNewImageFromPixelRef(const SkImageInfo&, SkPixelRef*, size_t r
    owBytes, | 
| 15                                        size_t rowBytes); | 15                                        const SkSurfaceProps*); | 
| 16 | 16 | 
| 17 /** | 17 /** | 
| 18  *  Examines the bitmap to decide if it can share the existing pixelRef, or | 18  *  Examines the bitmap to decide if it can share the existing pixelRef, or | 
| 19  *  if it needs to make a deep-copy of the pixels. The bitmap's pixelref will | 19  *  if it needs to make a deep-copy of the pixels. The bitmap's pixelref will | 
| 20  *  be shared if either the bitmap is marked as immutable, or canSharePixelRef | 20  *  be shared if either the bitmap is marked as immutable, or canSharePixelRef | 
| 21  *  is true. | 21  *  is true. | 
| 22  * | 22  * | 
| 23  *  If the bitmap's colortype cannot be converted into a corresponding | 23  *  If the bitmap's colortype cannot be converted into a corresponding | 
| 24  *  SkImageInfo, or the bitmap's pixels cannot be accessed, this will return | 24  *  SkImageInfo, or the bitmap's pixels cannot be accessed, this will return | 
| 25  *  NULL. | 25  *  NULL. | 
| 26  */ | 26  */ | 
| 27 extern SkImage* SkNewImageFromBitmap(const SkBitmap&, bool canSharePixelRef); | 27 extern SkImage* SkNewImageFromBitmap(const SkBitmap&, bool canSharePixelRef, con
    st SkSurfaceProps*); | 
| 28 | 28 | 
| 29 static inline size_t SkImageMinRowBytes(const SkImageInfo& info) { | 29 static inline size_t SkImageMinRowBytes(const SkImageInfo& info) { | 
| 30     return SkAlign4(info.minRowBytes()); | 30     return SkAlign4(info.minRowBytes()); | 
| 31 } | 31 } | 
| 32 | 32 | 
| 33 // Given an image created from SkNewImageFromBitmap, return its pixelref. This | 33 // Given an image created from SkNewImageFromBitmap, return its pixelref. This | 
| 34 // may be called to see if the surface and the image share the same pixelref, | 34 // may be called to see if the surface and the image share the same pixelref, | 
| 35 // in which case the surface may need to perform a copy-on-write. | 35 // in which case the surface may need to perform a copy-on-write. | 
| 36 extern const SkPixelRef* SkBitmapImageGetPixelRef(const SkImage* rasterImage); | 36 extern const SkPixelRef* SkBitmapImageGetPixelRef(const SkImage* rasterImage); | 
| 37 | 37 | 
| 38 // Given an image created with NewTexture, return its GrTexture. This | 38 // Given an image created with NewTexture, return its GrTexture. This | 
| 39 // may be called to see if the surface and the image share the same GrTexture, | 39 // may be called to see if the surface and the image share the same GrTexture, | 
| 40 // in which case the surface may need to perform a copy-on-write. | 40 // in which case the surface may need to perform a copy-on-write. | 
| 41 extern GrTexture* SkTextureImageGetTexture(SkImage* textureImage); | 41 extern GrTexture* SkTextureImageGetTexture(SkImage* textureImage); | 
| 42 | 42 | 
| 43 // Update the texture wrapped by an image created with NewTexture. This | 43 // Update the texture wrapped by an image created with NewTexture. This | 
| 44 // is called when a surface and image share the same GrTexture and the | 44 // is called when a surface and image share the same GrTexture and the | 
| 45 // surface needs to perform a copy-on-write | 45 // surface needs to perform a copy-on-write | 
| 46 extern void SkTextureImageSetTexture(SkImage* image, GrTexture* texture); | 46 extern void SkTextureImageSetTexture(SkImage* image, GrTexture* texture); | 
| 47 | 47 | 
|  | 48 extern SkImage* SkNewImageFromBitmapTexture(const SkBitmap&, int sampleCount); | 
|  | 49 | 
| 48 #endif | 50 #endif | 
| OLD | NEW | 
|---|