Flutter Engine
The Flutter Engine
SkJpegMetadataDecoderImpl.h
Go to the documentation of this file.
1/*
2 * Copyright 2024 Google Inc.
3 *
4 * Use of this source code is governed by a BSD-style license that can be
5 * found in the LICENSE file.
6 */
7
8#ifndef SkJpegMetadataDecoderImpl_DEFINED
9#define SkJpegMetadataDecoderImpl_DEFINED
10
13
14#include <vector>
15
16#ifdef SK_CODEC_DECODES_JPEG_GAINMAPS
18#endif // SK_CODEC_DECODES_JPEG_GAINMAPS
19
20class SkData;
21class SkJpegSourceMgr;
22struct SkGainmapInfo;
23
25using SkJpegMarkerList = std::vector<SkJpegMarker>;
26
28public:
31
32 bool findGainmapImage(SkJpegSourceMgr* sourceMgr,
33 sk_sp<SkData>& outGainmapImageData,
34 SkGainmapInfo& outGainmapInfo) const;
35
36#ifdef SK_CODEC_DECODES_JPEG_GAINMAPS
37 std::unique_ptr<SkXmp> getXmpMetadata() const;
38#endif // SK_CODEC_DECODES_JPEG_GAINMAPS
39
40 // SkJpegMetadataDecoder implementation:
41 sk_sp<SkData> getExifMetadata(bool copyData) const override;
42 sk_sp<SkData> getICCProfileData(bool copyData) const override;
43 sk_sp<SkData> getISOGainmapMetadata(bool copyData) const override;
44 bool mightHaveGainmapImage() const override;
45 bool findGainmapImage(sk_sp<SkData> baseImageData,
46 sk_sp<SkData>& outGainmapImageData,
47 SkGainmapInfo& outGainmapInfo) override;
48
49private:
50 SkJpegMarkerList fMarkerList;
51};
52
53#endif // SkJpegMetadataDecoderImpl_DEFINED
std::vector< SkJpegMarker > SkJpegMarkerList
Definition: SkData.h:25
sk_sp< SkData > getICCProfileData(bool copyData) const override
sk_sp< SkData > getISOGainmapMetadata(bool copyData) const override
bool mightHaveGainmapImage() const override
sk_sp< SkData > getExifMetadata(bool copyData) const override
SkJpegMetadataDecoderImpl(SkJpegMarkerList markerList)
bool findGainmapImage(SkJpegSourceMgr *sourceMgr, sk_sp< SkData > &outGainmapImageData, SkGainmapInfo &outGainmapInfo) const
std::shared_ptr< const fml::Mapping > data
Definition: texture_gles.cc:63