chromium/third_party/skia/src/core/SkColorSpace.cpp

/*
 * Copyright 2016 Google Inc.
 *
 * Use of this source code is governed by a BSD-style license that can be
 * found in the LICENSE file.
 */

#include "include/core/SkColorSpace.h"
#include "include/core/SkData.h"
#include "include/private/base/SkTemplates.h"
#include "modules/skcms/skcms.h"
#include "src/core/SkChecksum.h"
#include "src/core/SkColorSpacePriv.h"

#include <cmath>
#include <cstring>

bool SkColorSpacePrimaries::toXYZD50(skcms_Matrix3x3* toXYZ_D50) const {}

SkColorSpace::SkColorSpace(const skcms_TransferFunction& transferFn,
                           const skcms_Matrix3x3& toXYZD50)
        :{}

static bool xyz_almost_equal(const skcms_Matrix3x3& mA, const skcms_Matrix3x3& mB) {}

sk_sp<SkColorSpace> SkColorSpace::MakeRGB(const skcms_TransferFunction& transferFn,
                                          const skcms_Matrix3x3& toXYZ) {}

class SkColorSpaceSingletonFactory {};

SkColorSpace* sk_srgb_singleton() {}

SkColorSpace* sk_srgb_linear_singleton() {}

sk_sp<SkColorSpace> SkColorSpace::MakeSRGB() {}

sk_sp<SkColorSpace> SkColorSpace::MakeSRGBLinear() {}

void SkColorSpace::computeLazyDstFields() const {}

bool SkColorSpace::isNumericalTransferFn(skcms_TransferFunction* coeffs) const {}

void SkColorSpace::transferFn(float gabcdef[7]) const {}

void SkColorSpace::transferFn(skcms_TransferFunction* fn) const {}

void SkColorSpace::invTransferFn(skcms_TransferFunction* fn) const {}

bool SkColorSpace::toXYZD50(skcms_Matrix3x3* toXYZD50) const {}

void SkColorSpace::gamutTransformTo(const SkColorSpace* dst, skcms_Matrix3x3* src_to_dst) const {}

bool SkColorSpace::isSRGB() const {}

bool SkColorSpace::gammaCloseToSRGB() const {}

bool SkColorSpace::gammaIsLinear() const {}

sk_sp<SkColorSpace> SkColorSpace::makeLinearGamma() const {}

sk_sp<SkColorSpace> SkColorSpace::makeSRGBGamma() const {}

sk_sp<SkColorSpace> SkColorSpace::makeColorSpin() const {}

void SkColorSpace::toProfile(skcms_ICCProfile* profile) const {}

sk_sp<SkColorSpace> SkColorSpace::Make(const skcms_ICCProfile& profile) {}

///////////////////////////////////////////////////////////////////////////////////////////////////

enum Version {};

struct ColorSpaceHeader {};

size_t SkColorSpace::writeToMemory(void* memory) const {}

sk_sp<SkData> SkColorSpace::serialize() const {}

sk_sp<SkColorSpace> SkColorSpace::Deserialize(const void* data, size_t length) {}

bool SkColorSpace::Equals(const SkColorSpace* x, const SkColorSpace* y) {}