Chromium Code Reviews| 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 |
| 11 #include "SkFilterQuality.h" | 11 #include "SkFilterQuality.h" |
| 12 #include "SkImageInfo.h" | 12 #include "SkImageInfo.h" |
| 13 #include "SkImageEncoder.h" | 13 #include "SkImageEncoder.h" |
| 14 #include "SkRefCnt.h" | 14 #include "SkRefCnt.h" |
| 15 #include "SkScalar.h" | 15 #include "SkScalar.h" |
| 16 #include "SkShader.h" | 16 #include "SkShader.h" |
| 17 | 17 |
| 18 class SkData; | 18 class SkData; |
| 19 class SkCanvas; | 19 class SkCanvas; |
| 20 class SkColorTable; | 20 class SkColorTable; |
| 21 class SkImageGenerator; | 21 class SkImageGenerator; |
| 22 class SkPaint; | 22 class SkPaint; |
| 23 class SkPicture; | 23 class SkPicture; |
| 24 class SkPixelSerializer; | |
| 24 class SkString; | 25 class SkString; |
| 25 class SkSurface; | 26 class SkSurface; |
| 26 class SkSurfaceProps; | 27 class SkSurfaceProps; |
| 27 class GrContext; | 28 class GrContext; |
| 28 class GrTexture; | 29 class GrTexture; |
| 29 | 30 |
| 30 /** | 31 /** |
| 31 * SkImage is an abstraction for drawing a rectagle of pixels, though the | 32 * SkImage is an abstraction for drawing a rectagle of pixels, though the |
| 32 * particular type of image could be actually storing its data on the GPU, or | 33 * particular type of image could be actually storing its data on the GPU, or |
| 33 * as drawing commands (picture or PDF or otherwise), ready to be played back | 34 * as drawing commands (picture or PDF or otherwise), ready to be played back |
| (...skipping 175 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 209 * - If srcR does not intersect the image bounds. | 210 * - If srcR does not intersect the image bounds. |
| 210 * - If the requested colortype/alphatype cannot be converted from the imag e's types. | 211 * - If the requested colortype/alphatype cannot be converted from the imag e's types. |
| 211 */ | 212 */ |
| 212 bool readPixels(const SkImageInfo& dstInfo, void* dstPixels, size_t dstRowBy tes, | 213 bool readPixels(const SkImageInfo& dstInfo, void* dstPixels, size_t dstRowBy tes, |
| 213 int srcX, int srcY) const; | 214 int srcX, int srcY) const; |
| 214 | 215 |
| 215 bool readPixels(const SkPixmap& dst, int srcX, int srcY) const; | 216 bool readPixels(const SkPixmap& dst, int srcX, int srcY) const; |
| 216 | 217 |
| 217 /** | 218 /** |
| 218 * Encode the image's pixels and return the result as a new SkData, which | 219 * Encode the image's pixels and return the result as a new SkData, which |
| 219 * the caller must manage (i.e. call unref() when they are done). | 220 * the caller must manage (i.e. call unref() when they are done). |
|
reed1
2015/09/03 02:36:13
// Note: this will attempt to encode the image's p
f(malita)
2015/09/03 14:10:27
Done.
| |
| 220 * | 221 * |
| 221 * If the image type cannot be encoded, or the requested encoder type is | 222 * If the image type cannot be encoded, or the requested encoder type is |
| 222 * not supported, this will return NULL. | 223 * not supported, this will return NULL. |
| 223 */ | 224 */ |
| 224 SkData* encode(SkImageEncoder::Type, int quality) const; | 225 SkData* encode(SkImageEncoder::Type, int quality) const; |
| 225 | 226 |
| 226 SkData* encode() const { | 227 /** |
| 227 return this->encode(SkImageEncoder::kPNG_Type, 100); | 228 * Encode the image's pixels using an optional SkPixelSerializer, and retur n the result |
| 228 } | 229 * as a caller-managed SkData. |
| 230 * | |
| 231 * If the serializer is NULL, a default PNG encoder (with quality == 100) w ill be used. | |
|
reed1
2015/09/03 02:36:13
How about this as a way to organize this wackiness
f(malita)
2015/09/03 14:10:27
(this looks truncated, did you have more text whic
| |
| 232 * | |
| 233 * This method may return exising encoded data (from refEncoded) if it pass es the | |
| 234 * serializer's useEncodedData() test, or the serializer itself is NULL. | |
| 235 */ | |
| 236 SkData* encode(SkPixelSerializer* = nullptr) const; | |
| 229 | 237 |
| 230 /** | 238 /** |
| 231 * If the image already has its contents in encoded form (e.g. PNG or JPEG) , return a ref | 239 * If the image already has its contents in encoded form (e.g. PNG or JPEG) , return a ref |
| 232 * to that data (which the caller must call unref() on). The caller is resp onsible for calling | 240 * to that data (which the caller must call unref() on). The caller is resp onsible for calling |
| 233 * unref on the data when they are done. | 241 * unref on the data when they are done. |
| 234 * | 242 * |
| 235 * If the image does not already has its contents in encoded form, return N ULL. | 243 * If the image does not already has its contents in encoded form, return N ULL. |
| 236 * | 244 * |
| 237 * Note: to force the image to return its contents as encoded data, try cal ling encode(...). | 245 * Note: to force the image to return its contents as encoded data, try cal ling encode(...). |
| 238 */ | 246 */ |
| (...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 299 | 307 |
| 300 private: | 308 private: |
| 301 const int fWidth; | 309 const int fWidth; |
| 302 const int fHeight; | 310 const int fHeight; |
| 303 const uint32_t fUniqueID; | 311 const uint32_t fUniqueID; |
| 304 | 312 |
| 305 typedef SkRefCnt INHERITED; | 313 typedef SkRefCnt INHERITED; |
| 306 }; | 314 }; |
| 307 | 315 |
| 308 #endif | 316 #endif |
| OLD | NEW |