Chromium Code Reviews| Index: src/ports/SkImageGeneratorWIC.h |
| diff --git a/src/ports/SkImageGeneratorCG.h b/src/ports/SkImageGeneratorWIC.h |
| similarity index 51% |
| copy from src/ports/SkImageGeneratorCG.h |
| copy to src/ports/SkImageGeneratorWIC.h |
| index cdfeae02b60f6cf263812a9d0379cef289ec28e5..35f2e989d3db8d76aed5b7ebfb19f125d020639c 100644 |
| --- a/src/ports/SkImageGeneratorCG.h |
| +++ b/src/ports/SkImageGeneratorWIC.h |
| @@ -5,21 +5,24 @@ |
| * found in the LICENSE file. |
| */ |
| -#include "SkTypes.h" |
| -#if defined(SK_BUILD_FOR_MAC) || defined(SK_BUILD_FOR_IOS) |
| - |
| -#include "SkCGUtils.h" |
| #include "SkData.h" |
| #include "SkImageGenerator.h" |
| #include "SkTemplates.h" |
| +#include "SkTScopedComPtr.h" |
| +#include "SkTypes.h" |
| + |
| +#include <wincodec.h> |
| -class SkImageGeneratorCG : public SkImageGenerator { |
| +/* |
| + * Requires that the client has initialized COM on the calling thread. |
|
msarett
2016/03/11 18:18:24
This is different than SkImageDecoder_WIC.
scroggo
2016/03/11 19:10:48
Why? The only other use I see of SkAutoCoInitializ
msarett
2016/03/11 19:20:14
It is also used in SkImageDecoder_WIC. com is ini
scroggo
2016/03/11 19:46:21
Right. Why not do it that way in SkImageGeneratorW
|
| + */ |
| +class SkImageGeneratorWIC : public SkImageGenerator { |
| public: |
| /* |
| * Refs the data if an image generator can be returned. Otherwise does |
| * not affect the data. |
| */ |
| - static SkImageGenerator* NewFromEncodedCG(SkData* data); |
| + static SkImageGenerator* NewFromEncodedWIC(SkData* data); |
| protected: |
| SkData* onRefEncodedData(SK_REFENCODEDDATA_CTXPARAM) override; |
| @@ -29,15 +32,16 @@ protected: |
| private: |
| /* |
| - * Takes ownership of the imageSrc |
| + * Takes ownership of the imagingFactory |
| + * Takes ownership of the imageSource |
| * Refs the data |
| */ |
| - SkImageGeneratorCG(const SkImageInfo& info, const void* imageSrc, SkData* data); |
| + SkImageGeneratorWIC(const SkImageInfo& info, IWICImagingFactory* imagingFactory, |
| + IWICBitmapSource* imageSource, SkData* data); |
| - SkAutoTCallVProc<const void, CFRelease> fImageSrc; |
| - SkAutoTUnref<SkData> fData; |
| + SkTScopedComPtr<IWICImagingFactory> fImagingFactory; |
| + SkTScopedComPtr<IWICBitmapSource> fImageSource; |
| + SkAutoTUnref<SkData> fData; |
| typedef SkImageGenerator INHERITED; |
| }; |
| - |
| -#endif //defined(SK_BUILD_FOR_MAC) || defined(SK_BUILD_FOR_IOS) |