| Index: include/core/SkImage.h
|
| diff --git a/include/core/SkImage.h b/include/core/SkImage.h
|
| index 63fa41b4e7953a4448b4abf40bd58d10704a2b61..6070b6bf6bfefdd50ba5bc07ca8e118f54ef9165 100644
|
| --- a/include/core/SkImage.h
|
| +++ b/include/core/SkImage.h
|
| @@ -85,6 +85,27 @@ public:
|
| const void* peekPixels(SkImageInfo* info, size_t* rowBytes) const;
|
|
|
| /**
|
| + * Copy the pixels from the image into the specified buffer (pixels + rowBytes),
|
| + * converting them into the requested format (dstInfo). The image pixels are read
|
| + * starting at the specified (srcX,srcY) location.
|
| + *
|
| + * The specified ImageInfo and (srcX,srcY) offset specifies a source rectangle
|
| + *
|
| + * srcR.setXYWH(srcX, srcY, dstInfo.width(), dstInfo.height());
|
| + *
|
| + * srcR is intersected with the bounds of the image. If this intersection is not empty,
|
| + * then we have two sets of pixels (of equal size). Replace the dst pixels with the
|
| + * corresponding src pixels, performing any colortype/alphatype transformations needed
|
| + * (in the case where the src and dst have different colortypes or alphatypes).
|
| + *
|
| + * This call can fail, returning false, for several reasons:
|
| + * - If srcR does not intersect the image bounds.
|
| + * - If the requested colortype/alphatype cannot be converted from the image's types.
|
| + */
|
| + bool readPixels(const SkImageInfo& dstInfo, void* dstPixels, size_t dstRowBytes,
|
| + int srcX, int srcY) const;
|
| +
|
| + /**
|
| * Encode the image's pixels and return the result as a new SkData, which
|
| * the caller must manage (i.e. call unref() when they are done).
|
| *
|
| @@ -134,29 +155,6 @@ private:
|
| * See SkCanvas::drawBitmapRectToRect for similar behavior.
|
| */
|
| void drawRect(SkCanvas*, const SkRect* src, const SkRect& dst, const SkPaint*) const;
|
| -
|
| - /**
|
| - * Return a copy of the image's pixels, limiting them to the subset
|
| - * rectangle's intersection wit the image bounds. If subset is NULL, then
|
| - * the entire image will be considered.
|
| - *
|
| - * If the bitmap's pixels have already been allocated, then readPixels()
|
| - * will succeed only if it can support converting the image's pixels into
|
| - * the bitmap's ColorType/AlphaType. Any pixels in the bitmap that do not
|
| - * intersect with the image's bounds and the subset (if not null) will be
|
| - * left untouched.
|
| - *
|
| - * If the bitmap is initially empty/unallocated, then it will be allocated
|
| - * using the default allocator, and the ColorType/AlphaType will be chosen
|
| - * to most closely fit the image's configuration.
|
| - *
|
| - * On failure, false will be returned, and bitmap will unmodified.
|
| - */
|
| - // On ice for now:
|
| - // - should it respect the particular colortype/alphatype of the src
|
| - // - should it have separate entrypoints for preallocated and not bitmaps?
|
| - // - isn't it enough to allow the caller to draw() the image into a canvas?
|
| - bool readPixels(SkBitmap* bitmap, const SkIRect* subset = NULL) const;
|
| };
|
|
|
| #endif
|
|
|