blob: 75c4d3061d1595acf4e7ac61184ce926bdf03aaf [file] [log] [blame]
Leon Scroggins III4d727c52018-08-20 16:26:14 -04001/*
2 * Copyright 2018 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
Mike Kleinc0bd9f92019-04-23 12:05:21 -05008#include "include/private/SkEncodedInfo.h"
Leon Scroggins III36f7e322018-08-27 11:55:46 -04009
10std::unique_ptr<SkEncodedInfo::ICCProfile> SkEncodedInfo::ICCProfile::Make(sk_sp<SkData> data) {
11 if (data) {
12 skcms_ICCProfile profile;
13 if (skcms_Parse(data->data(), data->size(), &profile)) {
14 return std::unique_ptr<ICCProfile>(new ICCProfile(profile, std::move(data)));
15 }
16 }
17 return nullptr;
18}
19
Leon Scroggins III36f7e322018-08-27 11:55:46 -040020std::unique_ptr<SkEncodedInfo::ICCProfile> SkEncodedInfo::ICCProfile::Make(
21 const skcms_ICCProfile& profile) {
22 return std::unique_ptr<ICCProfile>(new ICCProfile(profile));
23}
24
25SkEncodedInfo::ICCProfile::ICCProfile(const skcms_ICCProfile& profile, sk_sp<SkData> data)
26 : fProfile(profile)
27 , fData(std::move(data))
28{}