diff options
author | Leon Scroggins <scroggo@google.com> | 2017-07-10 19:51:46 +0000 |
---|---|---|
committer | Skia Commit-Bot <skia-commit-bot@chromium.org> | 2017-07-10 19:51:59 +0000 |
commit | 8321f7585b6aded0c35e50e9af8709b25fdce3f6 (patch) | |
tree | 9a9e3a1843c8864a9e847d0c7b59b987946f6b24 /include/codec/SkAndroidCodec.h | |
parent | a48ae6ec2feb32e3d781ad43353209a90059a01d (diff) |
Revert "Remove support for decoding to kIndex_8"
This reverts commit 742a3e298fda669006147e4a305bab8452369b1f.
Reason for revert: Breaking Android roll:
frameworks/base/core/jni/android/graphics/BitmapFactory.cpp:453:18: error: no member named 'fColorPtr' in 'SkAndroidCodec::AndroidOptions'
codecOptions.fColorPtr = colorPtr;
~~~~~~~~~~~~ ^
frameworks/base/core/jni/android/graphics/BitmapFactory.cpp:454:18: error: no member named 'fColorCount' in 'SkAndroidCodec::AndroidOptions'
codecOptions.fColorCount = colorCount;
~~~~~~~~~~~~ ^
Original change's description:
> Remove support for decoding to kIndex_8
>
> Fix up callsites, and remove tests that no longer make sense.
>
> Bug: skia:6828
> Change-Id: I2548c4b7528b7b1be7412563156f27b52c9d4295
> Reviewed-on: https://skia-review.googlesource.com/21664
> Reviewed-by: Derek Sollenberger <djsollen@google.com>
> Commit-Queue: Leon Scroggins <scroggo@google.com>
TBR=djsollen@google.com,scroggo@google.com
Change-Id: I1bc669441f250690884e75a9a61427fdf75c6907
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:6828
Reviewed-on: https://skia-review.googlesource.com/22120
Reviewed-by: Leon Scroggins <scroggo@google.com>
Commit-Queue: Leon Scroggins <scroggo@google.com>
Diffstat (limited to 'include/codec/SkAndroidCodec.h')
-rw-r--r-- | include/codec/SkAndroidCodec.h | 33 |
1 files changed, 31 insertions, 2 deletions
diff --git a/include/codec/SkAndroidCodec.h b/include/codec/SkAndroidCodec.h index b4dd3854e6..87d514dfff 100644 --- a/include/codec/SkAndroidCodec.h +++ b/include/codec/SkAndroidCodec.h @@ -57,7 +57,7 @@ public: * @param requestedColorType Color type requested by the client * * |requestedColorType| may be overriden. We will default to kF16 - * for high precision images. + * for high precision images and kIndex8 for GIF and WBMP. * * In the general case, if it is possible to decode to * |requestedColorType|, this returns |requestedColorType|. @@ -154,6 +154,8 @@ public: AndroidOptions() : fZeroInitialized(SkCodec::kNo_ZeroInitialized) , fSubset(nullptr) + , fColorPtr(nullptr) + , fColorCount(nullptr) , fSampleSize(1) {} @@ -177,6 +179,22 @@ public: SkIRect* fSubset; /** + * If the client has requested a decode to kIndex8_SkColorType + * (specified in the SkImageInfo), then the caller must provide + * storage for up to 256 SkPMColor values in fColorPtr. On success, + * the codec must copy N colors into that storage, (where N is the + * logical number of table entries) and set fColorCount to N. + * + * If the client does not request kIndex8_SkColorType, then the last + * two parameters may be NULL. If fColorCount is not null, it will be + * set to 0. + * + * The default is NULL for both pointers. + */ + SkPMColor* fColorPtr; + int* fColorCount; + + /** * The client may provide an integer downscale factor for the decode. * The codec may implement this downscaling by sampling or another * method if it is more efficient. @@ -206,6 +224,14 @@ public: * to scale or subset. If the codec cannot perform this * scaling or subsetting, it will return an error code. * + * If info is kIndex8_SkColorType, then the caller must provide storage for up to 256 + * SkPMColor values in options->fColorPtr. On success the codec must copy N colors into + * that storage, (where N is the logical number of table entries) and set + * options->fColorCount to N. + * + * If info is not kIndex8_SkColorType, options->fColorPtr and options->fColorCount may + * be nullptr. + * * The AndroidOptions object is also used to specify any requested scaling or subsetting * using options->fSampleSize and options->fSubset. If NULL, the defaults (as specified above * for AndroidOptions) are used. @@ -221,7 +247,10 @@ public: /** * Simplified version of getAndroidPixels() where we supply the default AndroidOptions as - * specified above for AndroidOptions. It will not perform any scaling or subsetting. + * specified above for AndroidOptions. + * + * This will return an error if the info is kIndex_8_SkColorType and also will not perform + * any scaling or subsetting. */ SkCodec::Result getAndroidPixels(const SkImageInfo& info, void* pixels, size_t rowBytes); |