Printer profile added in Preferences for soft-proofing
The output profiles now retain only 'Display' device class as well as the Monitor profile - and they both have to have rgb color space, the printer profile retain only 'Output' device class. MacOS can use soft-proofing but due to undocumented feature of OSX, and since Cairo assume that the image data are sRGB, the monitor profile is forced to 'RT_sRGB'. A warning message replace the combobox for this OS.
This commit is contained in:
@@ -165,16 +165,20 @@ std::vector<Glib::ustring> getWorkingProfiles ()
|
||||
return res;
|
||||
}
|
||||
|
||||
std::vector<Glib::ustring> ICCStore::getProfiles (const bool onlyRgb) const
|
||||
std::vector<Glib::ustring> ICCStore::getProfiles (const ProfileType type) const
|
||||
{
|
||||
|
||||
MyMutex::MyLock lock(mutex_);
|
||||
|
||||
std::vector<Glib::ustring> res;
|
||||
|
||||
for (ProfileMap::const_iterator profile = fileProfiles.begin (); profile != fileProfiles.end (); ++profile) {
|
||||
if (!onlyRgb || (onlyRgb && cmsGetColorSpace (profile->second) == cmsSigRgbData))
|
||||
res.push_back (profile->first);
|
||||
for (const auto profile : fileProfiles) {
|
||||
if ( (type==ICCStore::ProfileType::MONITOR && cmsGetDeviceClass(profile.second) == cmsSigDisplayClass && cmsGetColorSpace (profile.second) == cmsSigRgbData)
|
||||
|| (type==ICCStore::ProfileType::PRINTER && cmsGetDeviceClass(profile.second) == cmsSigOutputClass)
|
||||
|| (type==ICCStore::ProfileType::OUTPUT && cmsGetDeviceClass(profile.second) == cmsSigDisplayClass && cmsGetColorSpace (profile.second) == cmsSigRgbData) )
|
||||
{
|
||||
res.push_back (profile.first);
|
||||
}
|
||||
}
|
||||
|
||||
return res;
|
||||
|
||||
Reference in New Issue
Block a user