1 /* 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 8 #include "SkEncodedInfo.h" 9 10 std::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 20 std::unique_ptr<SkEncodedInfo::ICCProfile> SkEncodedInfo::ICCProfile::Make( 21 const skcms_ICCProfile& profile) { 22 return std::unique_ptr<ICCProfile>(new ICCProfile(profile)); 23 } 24 25 SkEncodedInfo::ICCProfile::ICCProfile(const skcms_ICCProfile& profile, sk_sp<SkData> data) 26 : fProfile(profile) 27 , fData(std::move(data)) 28 {} 29