blob: 0ab03f0b571a086b84b51bb2ff0456fefcdc7110 [file] [log] [blame]
John Reck115195e2023-02-01 20:57:44 -05001/*
2 * Copyright (C) 2023 The Android Open Source Project
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16
17#pragma once
18
19#include <SkCanvas.h>
20#include <SkGainmapInfo.h>
21#include <SkImage.h>
22#include <SkPaint.h>
23
24#include "hwui/Bitmap.h"
25
26namespace android::uirenderer {
27
John Reck45fd4a52023-04-20 13:40:18 -040028float getTargetHdrSdrRatio(const SkColorSpace* destColorspace);
29
John Reck115195e2023-02-01 20:57:44 -050030void DrawGainmapBitmap(SkCanvas* c, const sk_sp<const SkImage>& image, const SkRect& src,
31 const SkRect& dst, const SkSamplingOptions& sampling, const SkPaint* paint,
32 SkCanvas::SrcRectConstraint constraint,
33 const sk_sp<const SkImage>& gainmapImage, const SkGainmapInfo& gainmapInfo);
34
John Reck7beba3c2023-03-07 20:18:26 -050035sk_sp<SkShader> MakeGainmapShader(const sk_sp<const SkImage>& image,
36 const sk_sp<const SkImage>& gainmapImage,
37 const SkGainmapInfo& gainmapInfo, SkTileMode tileModeX,
38 SkTileMode tileModeY, const SkSamplingOptions& sampling);
39
John Reck115195e2023-02-01 20:57:44 -050040} // namespace android::uirenderer