#include "include/private/SkGainmapShader.h"
#include "include/core/SkColor.h"
#include "include/core/SkColorFilter.h"
#include "include/core/SkColorSpace.h"
#include "include/core/SkImage.h"
#include "include/core/SkMatrix.h"
#include "include/core/SkShader.h"
#include "include/core/SkString.h"
#include "include/effects/SkRuntimeEffect.h"
#include "include/private/SkGainmapInfo.h"
#include "include/private/base/SkAssert.h"
#include "src/core/SkColorFilterPriv.h"
#include "src/core/SkImageInfoPriv.h"
#include <cmath>
#include <cstdint>
static constexpr char gGainmapSKSL[] = …;
static sk_sp<SkRuntimeEffect> gainmap_apply_effect() { … }
static bool all_channels_equal(const SkColor4f& c) { … }
sk_sp<SkShader> SkGainmapShader::Make(const sk_sp<const SkImage>& baseImage,
const SkRect& baseRect,
const SkSamplingOptions& baseSamplingOptions,
const sk_sp<const SkImage>& gainmapImage,
const SkRect& gainmapRect,
const SkSamplingOptions& gainmapSamplingOptions,
const SkGainmapInfo& gainmapInfo,
const SkRect& dstRect,
float dstHdrRatio,
sk_sp<SkColorSpace> dstColorSpace) { … }