| 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 SkImage_DEFINED | 8 #ifndef SkImage_DEFINED |
| 9 #define SkImage_DEFINED | 9 #define SkImage_DEFINED |
| 10 | 10 |
| (...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 58 * | 58 * |
| 59 * Returns NULL if the requested Info is unsupported. | 59 * Returns NULL if the requested Info is unsupported. |
| 60 */ | 60 */ |
| 61 static SkImage* NewFromRaster(const Info&, const void* pixels, size_t rowByt
es, | 61 static SkImage* NewFromRaster(const Info&, const void* pixels, size_t rowByt
es, |
| 62 RasterReleaseProc, ReleaseContext); | 62 RasterReleaseProc, ReleaseContext); |
| 63 | 63 |
| 64 /** | 64 /** |
| 65 * Construct a new SkImage based on the given ImageGenerator. | 65 * Construct a new SkImage based on the given ImageGenerator. |
| 66 * This function will always take ownership of the passed | 66 * This function will always take ownership of the passed |
| 67 * ImageGenerator. Returns NULL on error. | 67 * ImageGenerator. Returns NULL on error. |
| 68 * |
| 69 * If a subset is specified, it must be contained within the generator's bo
unds. |
| 68 */ | 70 */ |
| 69 static SkImage* NewFromGenerator(SkImageGenerator*); | 71 static SkImage* NewFromGenerator(SkImageGenerator*, const SkIRect* subset =
NULL); |
| 70 | 72 |
| 71 /** | 73 /** |
| 72 * Construct a new SkImage based on the specified encoded data. Returns NUL
L on failure, | 74 * Construct a new SkImage based on the specified encoded data. Returns NUL
L on failure, |
| 73 * which can mean that the format of the encoded data was not recognized/su
pported. | 75 * which can mean that the format of the encoded data was not recognized/su
pported. |
| 74 * | 76 * |
| 77 * If a subset is specified, it must be contained within the encoded data's
bounds. |
| 78 * |
| 75 * Regardless of success or failure, the caller is responsible for managing
their ownership | 79 * Regardless of success or failure, the caller is responsible for managing
their ownership |
| 76 * of the data. | 80 * of the data. |
| 77 */ | 81 */ |
| 78 static SkImage* NewFromData(SkData* data); | 82 static SkImage* NewFromEncoded(SkData* encoded, const SkIRect* subset = NULL
); |
| 83 |
| 84 #ifdef SK_SUPPORT_LEGACY_IMAGE_NEWFROMDATA |
| 85 static SkImage* NewFromData(SkData* data) { |
| 86 return NewFromEncoded(data, NULL); |
| 87 } |
| 88 #endif |
| 79 | 89 |
| 80 /** | 90 /** |
| 81 * Create a new image from the specified descriptor. Note - the caller is r
esponsible for | 91 * Create a new image from the specified descriptor. Note - the caller is r
esponsible for |
| 82 * managing the lifetime of the underlying platform texture. | 92 * managing the lifetime of the underlying platform texture. |
| 83 * | 93 * |
| 84 * Will return NULL if the specified descriptor is unsupported. | 94 * Will return NULL if the specified descriptor is unsupported. |
| 85 */ | 95 */ |
| 86 static SkImage* NewFromTexture(GrContext* ctx, const GrBackendTextureDesc& d
esc) { | 96 static SkImage* NewFromTexture(GrContext* ctx, const GrBackendTextureDesc& d
esc) { |
| 87 return NewFromTexture(ctx, desc, kPremul_SkAlphaType, NULL, NULL); | 97 return NewFromTexture(ctx, desc, kPremul_SkAlphaType, NULL, NULL); |
| 88 } | 98 } |
| (...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 144 * If the image has direct access to its pixels (i.e. they are in local | 154 * If the image has direct access to its pixels (i.e. they are in local |
| 145 * RAM) return the (const) address of those pixels, and if not null, return | 155 * RAM) return the (const) address of those pixels, and if not null, return |
| 146 * the ImageInfo and rowBytes. The returned address is only valid while | 156 * the ImageInfo and rowBytes. The returned address is only valid while |
| 147 * the image object is in scope. | 157 * the image object is in scope. |
| 148 * | 158 * |
| 149 * On failure, returns NULL and the info and rowBytes parameters are | 159 * On failure, returns NULL and the info and rowBytes parameters are |
| 150 * ignored. | 160 * ignored. |
| 151 */ | 161 */ |
| 152 const void* peekPixels(SkImageInfo* info, size_t* rowBytes) const; | 162 const void* peekPixels(SkImageInfo* info, size_t* rowBytes) const; |
| 153 | 163 |
| 164 /** |
| 165 * If the image has direct access to its pixels (i.e. they are in local |
| 166 * RAM) return the (const) address of those pixels, and if not null, return |
| 167 * the true, and if pixmap is not NULL, set it to point into the image. |
| 168 * |
| 169 * On failure, return false and ignore the pixmap parameter. |
| 170 */ |
| 171 bool peekPixmap(SkPixmap* pixmap) const; |
| 172 |
| 154 // DEPRECATED | 173 // DEPRECATED |
| 155 GrTexture* getTexture() const; | 174 GrTexture* getTexture() const; |
| 156 | 175 |
| 157 /** | 176 /** |
| 158 * Returns true if the image is texture backed. | 177 * Returns true if the image is texture backed. |
| 159 */ | 178 */ |
| 160 bool isTextureBacked() const; | 179 bool isTextureBacked() const; |
| 161 | 180 |
| 162 /** | 181 /** |
| 163 * Retrieves the backend API handle of the texture. If flushPendingGrContex
tReads then the | 182 * Retrieves the backend API handle of the texture. If flushPendingGrContex
tReads then the |
| (...skipping 27 matching lines...) Expand all Loading... |
| 191 * Encode the image's pixels and return the result as a new SkData, which | 210 * Encode the image's pixels and return the result as a new SkData, which |
| 192 * the caller must manage (i.e. call unref() when they are done). | 211 * the caller must manage (i.e. call unref() when they are done). |
| 193 * | 212 * |
| 194 * If the image type cannot be encoded, or the requested encoder type is | 213 * If the image type cannot be encoded, or the requested encoder type is |
| 195 * not supported, this will return NULL. | 214 * not supported, this will return NULL. |
| 196 */ | 215 */ |
| 197 SkData* encode(SkImageEncoder::Type t = SkImageEncoder::kPNG_Type, | 216 SkData* encode(SkImageEncoder::Type t = SkImageEncoder::kPNG_Type, |
| 198 int quality = 80) const; | 217 int quality = 80) const; |
| 199 | 218 |
| 200 /** | 219 /** |
| 220 * If the image already has its contents in encoded form (e.g. PNG or JPEG)
, return a ref |
| 221 * to that data (which the caller must call unref() on) and return the X,Y
offset from the |
| 222 * left-top pixels in the encoded data where this image begins. |
| 223 * |
| 224 * If the image does not already has its contents in encoded form, return N
ULL and ignore |
| 225 * the origin parameter. |
| 226 */ |
| 227 SkData* refEncodedData(SkIPoint* origin) const; |
| 228 |
| 229 /** |
| 201 * Return a new surface that is compatible with this image's internal repre
sentation | 230 * Return a new surface that is compatible with this image's internal repre
sentation |
| 202 * (e.g. raster or gpu). | 231 * (e.g. raster or gpu). |
| 203 * | 232 * |
| 204 * If no surfaceprops are specified, the image will attempt to match the pr
ops of when it | 233 * If no surfaceprops are specified, the image will attempt to match the pr
ops of when it |
| 205 * was created (if it came from a surface). | 234 * was created (if it came from a surface). |
| 206 */ | 235 */ |
| 207 SkSurface* newSurface(const SkImageInfo&, const SkSurfaceProps* = NULL) cons
t; | 236 SkSurface* newSurface(const SkImageInfo&, const SkSurfaceProps* = NULL) cons
t; |
| 208 | 237 |
| 209 const char* toString(SkString*) const; | 238 const char* toString(SkString*) const; |
| 210 | 239 |
| (...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 243 const int fWidth; | 272 const int fWidth; |
| 244 const int fHeight; | 273 const int fHeight; |
| 245 const uint32_t fUniqueID; | 274 const uint32_t fUniqueID; |
| 246 | 275 |
| 247 static uint32_t NextUniqueID(); | 276 static uint32_t NextUniqueID(); |
| 248 | 277 |
| 249 typedef SkRefCnt INHERITED; | 278 typedef SkRefCnt INHERITED; |
| 250 }; | 279 }; |
| 251 | 280 |
| 252 #endif | 281 #endif |
| OLD | NEW |