| /* | |
| * Copyright 2023 Google Inc. | |
| * | |
| * Use of this source code is governed by a BSD-style license that can be | |
| * found in the LICENSE file. | |
| */ | |
| #ifndef SkJpegGainmapEncoder_DEFINED | |
| #define SkJpegGainmapEncoder_DEFINED | |
| #include "include/encode/SkJpegEncoder.h" | |
| class SkPixmap; | |
| class SkWStream; | |
| struct SkGainmapInfo; | |
| class SK_API SkJpegGainmapEncoder { | |
| public: | |
| /** | |
| * Encode an UltraHDR image to |dst|. | |
| * | |
| * The base image is specified by |base|, and |baseOptions| controls the encoding behavior for | |
| * the base image. | |
| * | |
| * The gainmap image is specified by |gainmap|, and |gainmapOptions| controls the encoding | |
| * behavior for the gainmap image. | |
| * | |
| * The rendering behavior of the gainmap image is provided in |gainmapInfo|. | |
| * | |
| * If |baseOptions| or |gainmapOptions| specify XMP metadata, then that metadata will be | |
| * overwritten. | |
| * | |
| * Returns true on success. Returns false on an invalid or unsupported |src|. | |
| */ | |
| static bool EncodeHDRGM(SkWStream* dst, | |
| const SkPixmap& base, | |
| const SkJpegEncoder::Options& baseOptions, | |
| const SkPixmap& gainmap, | |
| const SkJpegEncoder::Options& gainmapOptions, | |
| const SkGainmapInfo& gainmapInfo); | |
| /** | |
| * Write a Multi Picture Format containing the |imageCount| images specified by |images|. | |
| */ | |
| static bool MakeMPF(SkWStream* dst, const SkData** images, size_t imageCount); | |
| }; | |
| #endif |