|
Krita Source Code Documentation
|
#include <KoColorSpaceRegistry.h>
Inheritance diagram for KoColorSpaceRegistry:Public Types | |
| enum | ColorSpaceListProfilesSelection { OnlyDefaultProfile = 1 , AllProfiles = 4 } |
| enum | ColorSpaceListVisibility { OnlyUserVisible = 1 , AllColorSpaces = 4 } |
Public Member Functions | |
| void | add (KoColorSpaceFactory *item) |
| void | addProfile (const KoColorProfile *profile) |
| void | addProfile (KoColorProfile *profile) |
| void | addProfileAlias (const QString &name, const QString &to) |
| void | addProfileToMap (KoColorProfile *p) |
| const KoColorSpace * | alpha16 () |
| const KoColorSpace * | alpha32f () |
| const KoColorSpace * | alpha8 () |
| KoColorConversionCache * | colorConversionCache () const |
| QList< KoID > | colorDepthList (const KoID &colorModelId, ColorSpaceListVisibility option) const |
| QList< KoID > | colorDepthList (const QString &colorModelId, ColorSpaceListVisibility option) const |
| QList< KoID > | colorModelsList (ColorSpaceListVisibility option) const |
| const KoColorSpace * | colorSpace (const QString &colorModelId, const QString &colorDepthId) |
| const KoColorSpace * | colorSpace (const QString &colorModelId, const QString &colorDepthId, const KoColorProfile *profile) |
| const KoColorSpace * | colorSpace (const QString &colorModelId, const QString &colorDepthId, const QString &profileName) |
| const KoColorSpace * | colorSpace1 (const QString &colorSpaceId, const KoColorProfile *profile) |
| template<class LockPolicy = NormalLockPolicy> | |
| const KoColorSpace * | colorSpace1 (const QString &colorSpaceId, const QString &pName=QString()) |
| KoID | colorSpaceColorDepthId (const QString &_colorSpaceId) const |
| KoID | colorSpaceColorModelId (const QString &_colorSpaceId) const |
| QString | colorSpaceId (const KoID &colorModelId, const KoID &colorDepthId) const |
| QString | colorSpaceId (const QString &colorModelId, const QString &colorDepthId) const |
| QString | colorSpaceIdImpl (const QString &colorModelId, const QString &colorDepthId) const |
| KoColorConversionTransformation * | createColorConverter (const KoColorSpace *srcColorSpace, const KoColorSpace *dstColorSpace, KoColorConversionTransformation::Intent renderingIntent, KoColorConversionTransformation::ConversionFlags conversionFlags) const |
| void | createColorConverters (const KoColorSpace *colorSpace, const QList< QPair< KoID, KoID > > &possibilities, KoColorConversionTransformation *&fromCS, KoColorConversionTransformation *&toCS) const |
| const KoColorProfile * | createColorProfile (const QString &colorModelId, const QString &colorDepthId, const QByteArray &rawData) |
| QString | defaultProfileForColorSpace (const QString &colorSpaceId) const |
| QString | defaultProfileForCsIdImpl (const QString &csID) |
| const KoColorSpace * | getCachedColorSpaceImpl (const QString &csId, const QString &profileName) const |
| const KoColorSpace * | graya16 (const KoColorProfile *profile) |
| const KoColorSpace * | graya16 (const QString &profile=QString()) |
| const KoColorSpace * | graya8 (const KoColorProfile *profile) |
| const KoColorSpace * | graya8 (const QString &profile=QString()) |
| QString | idsToCacheName (const QString &csId, const QString &profileName) const |
| KoColorSpaceRegistry () | |
| const KoColorSpace * | lab16 (const KoColorProfile *profile) |
| const KoColorSpace * | lab16 (const QString &profileName=QString()) |
| const KoColorSpace * | lazyCreateColorSpaceImpl (const QString &csID, const KoColorProfile *profile) |
| QList< KoID > | listKeys () const |
| const KoColorProfile * | p2020G10Profile () const |
| const KoColorProfile * | p2020PQProfile () const |
| const KoColorProfile * | p709G10Profile () const |
| const KoColorProfile * | p709SRGBProfile () const |
| const KoColorSpace * | permanentColorspace (const KoColorSpace *_colorSpace) |
| Private (KoColorSpaceRegistry *_q) | |
| QString | profileAlias (const QString &name) const |
| const KoColorProfile * | profileByName (const QString &name) const |
| const KoColorProfile * | profileByUniqueId (const QByteArray &id) const |
| const KoColorProfile * | profileFor (const QVector< double > &colorants, ColorPrimaries colorPrimaries, TransferCharacteristics transferFunction) const |
| profileFor tries to find the profile that matches these characteristics, if no such profile is found, it attempts to generate one. | |
| const KoColorProfile * | profileForCsIdWithFallbackImpl (const QString &csID, const QString &profileName) |
| const KoColorProfile * | profileForQColorSpace (const QColorSpace &space) |
| profileForQColorSpace Find a KoColorProfile that matches a given QColorSpace. This will use the QColorSpace::IccProfile function as a last resort, preferring to use preexisting profiles in the registry. | |
| bool | profileIsCompatible (const KoColorProfile *profile, const QString &colorSpaceId) |
| QList< const KoColorProfile * > | profilesFor (const QString &csID) const |
| QColorSpace | QColorSpaceForProfile (const KoColorProfile *profile) const |
| QColorSpaceForProfile Generate a QColorSpace for the given KoColorProfile. Will return sRGB when the profile is null. | |
| void | remove (KoColorSpaceFactory *item) |
| void | removeProfile (KoColorProfile *profile) |
| const KoColorSpace * | rgb16 (const KoColorProfile *profile) |
| const KoColorSpace * | rgb16 (const QString &profileName=QString()) |
| const KoColorSpace * | rgb8 (const KoColorProfile *profile) |
| const KoColorSpace * | rgb8 (const QString &profileName=QString()) |
| virtual | ~KoColorSpaceRegistry () |
Public Member Functions inherited from Private | |
| Private (KisCanvas2 *c) | |
Static Public Member Functions | |
| static KoColorSpaceRegistry * | instance () |
Public Attributes | |
| const KoColorSpace * | alphaCs {nullptr} |
| const KoColorSpace * | alphaF32Cs {nullptr} |
| const KoColorSpace * | alphaU16Cs {nullptr} |
| KoColorConversionCache * | colorConversionCache {nullptr} |
| KoColorConversionSystem * | colorConversionSystem {nullptr} |
| KoGenericRegistry< KoColorSpaceFactory * > | colorSpaceFactoryRegistry |
| QScopedPointer< ConversionSystemInterface > | conversionSystemInterface |
| QHash< QString, const KoColorSpace * > | csMap |
| const KoColorSpace * | lab16sLAB {nullptr} |
| KoColorProfileStorage | profileStorage |
| KoColorSpaceRegistry * | q {nullptr} |
| QReadWriteLock | registrylock |
| const KoColorSpace * | rgbU8sRGB {nullptr} |
Public Attributes inherited from Private | |
| KisCanvas2 * | canvas |
| int | displayedFrame |
| int | intendedFrame |
Private Member Functions | |
| QList< const KoColorSpace * > | allColorSpaces (ColorSpaceListVisibility visibility, ColorSpaceListProfilesSelection pSelection) |
| const KoColorConversionSystem * | colorConversionSystem () const |
| void | init () |
| KoColorSpaceRegistry (const KoColorSpaceRegistry &) | |
| KoColorSpaceRegistry | operator= (const KoColorSpaceRegistry &) |
Private Attributes | |
| Private *const | d |
Friends | |
| struct | FriendOfColorSpaceRegistry |
| class | KisCrashFilterTest |
| class | KisCsConversionTest |
| class | KisIteratorNGTest |
| class | KisIteratorTest |
| class | KisPainterTest |
| class | KoColorSpacesBenchmark |
| class | TestColorConversionSystem |
| class | TestKoColorSpaceSanity |
The registry for colorspaces and profiles. This class contains:
Locking policy details:
Basically, we have two levels of locks in the registry: 1) (outer level) is Private::registrylock, which controls the structures of the color space registry itself 2) (inner level) is KoColorProfileStorage::Private::lock controls the structures related to profiles.
The locks can be taken individually, but if you are going to take both of them, you should always follow the order 1) registry; 2) profiles. Otherwise you'll get a deadlock.
To avoid recursive deadlocks, all the dependent classes (KoColorConversionSystem and KoColorSpaceFactory) now do not use the direct links to the registry. Instead, they use special private interfaces that skip recursive locking and ensure we take a lock twice.
Definition at line 42 of file KoColorSpaceRegistry.cpp.
| Enumerator | |
|---|---|
| OnlyDefaultProfile | Only add the default profile. |
| AllProfiles | Add all profiles. |
Definition at line 61 of file KoColorSpaceRegistry.h.
| Enumerator | |
|---|---|
| OnlyUserVisible | Only user visible color space. |
| AllColorSpaces | All color space even those not visible to the user. |
Definition at line 57 of file KoColorSpaceRegistry.h.
| KoColorSpaceRegistry::KoColorSpaceRegistry | ( | ) |
Definition at line 200 of file KoColorSpaceRegistry.cpp.
References d.
|
virtual |
Definition at line 206 of file KoColorSpaceRegistry.cpp.
References KoColorSpace::d, d, and OwnedByRegistryRegistryDeletes.
|
private |
| void KoColorSpaceRegistry::add | ( | KoColorSpaceFactory * | item | ) |
| void KoColorSpaceRegistry::addProfile | ( | const KoColorProfile * | profile | ) |
Definition at line 324 of file KoColorSpaceRegistry.cpp.
References addProfile(), and KoColorProfile::clone().
| void KoColorSpaceRegistry::addProfile | ( | KoColorProfile * | profile | ) |
register the profile with the color space registry
| profile | the new profile to be registered so it can be combined with colorspaces. |
Definition at line 313 of file KoColorSpaceRegistry.cpp.
References addProfileToMap(), d, and p.
| void KoColorSpaceRegistry::addProfileAlias | ( | const QString & | name, |
| const QString & | to ) |
Create an alias to a profile with a different name. Then profileByName will return the profile to when passed name as a parameter.
Definition at line 259 of file KoColorSpaceRegistry.cpp.
References d.
| void KoColorSpaceRegistry::addProfileToMap | ( | KoColorProfile * | p | ) |
|
private |
Definition at line 981 of file KoColorSpaceRegistry.cpp.
References AllColorSpaces, KoColorSpaceFactory::colorModelId(), d, KoID::id(), KoColorSpaceFactory::id(), instance(), KoColorProfile::name, OnlyDefaultProfile, profilesFor(), KoColorSpaceFactory::userVisible(), and warnPigment.
| const KoColorSpace * KoColorSpaceRegistry::alpha16 | ( | ) |
Definition at line 544 of file KoColorSpaceRegistry.cpp.
References KoAlphaColorSpaceImpl< _CSTrait >::colorSpaceId(), and d.
| const KoColorSpace * KoColorSpaceRegistry::alpha32f | ( | ) |
Definition at line 564 of file KoColorSpaceRegistry.cpp.
References KoAlphaColorSpaceImpl< _CSTrait >::colorSpaceId(), and d.
| const KoColorSpace * KoColorSpaceRegistry::alpha8 | ( | ) |
Convenience methods to get the often used alpha colorspaces
Definition at line 535 of file KoColorSpaceRegistry.cpp.
References KoAlphaColorSpaceImpl< _CSTrait >::colorSpaceId(), and d.
| KoColorConversionCache * KoColorSpaceRegistry::colorConversionCache | ( | ) | const |
|
private |
WARNING: conversion system is guarded by the registry locks, don't use it anywhere other than unittests!
| QList< KoID > KoColorSpaceRegistry::colorDepthList | ( | const KoID & | colorModelId, |
| ColorSpaceListVisibility | option ) const |
Definition at line 846 of file KoColorSpaceRegistry.cpp.
References colorDepthList(), and KoID::id().
| QList< KoID > KoColorSpaceRegistry::colorDepthList | ( | const QString & | colorModelId, |
| ColorSpaceListVisibility | option ) const |
Definition at line 852 of file KoColorSpaceRegistry.cpp.
References AllColorSpaces, KoColorSpaceFactory::colorDepthId(), KoColorSpaceFactory::colorModelId(), d, Float16BitsColorDepthID, Float32BitsColorDepthID, Float64BitsColorDepthID, KoID::id(), Integer16BitsColorDepthID, Integer8BitsColorDepthID, and KoColorSpaceFactory::userVisible().
| QList< KoID > KoColorSpaceRegistry::colorModelsList | ( | ColorSpaceListVisibility | option | ) | const |
Definition at line 832 of file KoColorSpaceRegistry.cpp.
References AllColorSpaces, KoColorSpaceFactory::colorModelId(), d, and KoColorSpaceFactory::userVisible().
| const KoColorSpace * KoColorSpaceRegistry::colorSpace | ( | const QString & | colorModelId, |
| const QString & | colorDepthId ) |
Definition at line 295 of file KoColorSpaceRegistry.cpp.
References colorSpaceId(), and d.
| const KoColorSpace * KoColorSpaceRegistry::colorSpace | ( | const QString & | colorModelId, |
| const QString & | colorDepthId, | ||
| const KoColorProfile * | profile ) |
Return a colorspace that works with the parameter profile.
| colorSpaceId | the ID string of the colorspace that you want to have returned |
| profile | the profile be combined with the colorspace |
Definition at line 285 of file KoColorSpaceRegistry.cpp.
References colorSpaceId(), and d.
| const KoColorSpace * KoColorSpaceRegistry::colorSpace | ( | const QString & | colorModelId, |
| const QString & | colorDepthId, | ||
| const QString & | profileName ) |
Return a colorspace that works with the parameter profile.
| profileName | the name of the KoColorProfile to be combined with the colorspace |
Definition at line 290 of file KoColorSpaceRegistry.cpp.
References colorSpaceId(), and d.
| const KoColorSpace * KoColorSpaceRegistry::colorSpace1 | ( | const QString & | colorSpaceId, |
| const KoColorProfile * | profile ) |
Return a colorspace that works with the parameter profile.
| colorSpaceId | the ID string of the colorspace that you want to have returned |
| profile | the profile be combined with the colorspace |
| const KoColorSpace * KoColorSpaceRegistry::colorSpace1 | ( | const QString & | colorSpaceId, |
| const QString & | pName = QString() ) |
Return a colorspace that works with the parameter profile.
| profileName | the name of the KoColorProfile to be combined with the colorspace |
| KoID KoColorSpaceRegistry::colorSpaceColorDepthId | ( | const QString & | _colorSpaceId | ) | const |
This function is a compatibility function used to get the color space from all kra files.
Definition at line 909 of file KoColorSpaceRegistry.cpp.
References KoColorSpaceFactory::colorDepthId(), and d.
| KoID KoColorSpaceRegistry::colorSpaceColorModelId | ( | const QString & | _colorSpaceId | ) | const |
This function is a compatibility function used to get the color space from all kra files.
Definition at line 897 of file KoColorSpaceRegistry.cpp.
References KoColorSpaceFactory::colorModelId(), and d.
| QString KoColorSpaceRegistry::colorSpaceId | ( | const KoID & | colorModelId, |
| const KoID & | colorDepthId ) const |
It's a convenient function that behave like the above. Return the id of the colorspace that have the defined colorModelId with colorDepthId.
| colorModelId | id of the color model |
| colorDepthId | id of the color depth |
Definition at line 892 of file KoColorSpaceRegistry.cpp.
References colorSpaceId(), and KoID::id().
| QString KoColorSpaceRegistry::colorSpaceId | ( | const QString & | colorModelId, |
| const QString & | colorDepthId ) const |
Return the id of the colorspace that have the defined colorModelId with colorDepthId.
| colorModelId | id of the color model |
| colorDepthId | id of the color depth |
Definition at line 886 of file KoColorSpaceRegistry.cpp.
References d.
| QString KoColorSpaceRegistry::colorSpaceIdImpl | ( | const QString & | colorModelId, |
| const QString & | colorDepthId ) const |
| KoColorConversionTransformation * KoColorSpaceRegistry::createColorConverter | ( | const KoColorSpace * | srcColorSpace, |
| const KoColorSpace * | dstColorSpace, | ||
| KoColorConversionTransformation::Intent | renderingIntent, | ||
| KoColorConversionTransformation::ConversionFlags | conversionFlags ) const |
This function is called by the color space to create a color conversion between two color space. This function search in the graph of transformations the best possible path between the two color space.
Definition at line 357 of file KoColorSpaceRegistry.cpp.
References d.
| void KoColorSpaceRegistry::createColorConverters | ( | const KoColorSpace * | colorSpace, |
| const QList< QPair< KoID, KoID > > & | possibilities, | ||
| KoColorConversionTransformation *& | fromCS, | ||
| KoColorConversionTransformation *& | toCS ) const |
This function creates two transformations, one from the color space and one to the color space. The destination color space is picked from a list of color space, such as the conversion between the two color space is of the best quality.
The typical use case of this function is for KoColorTransformationFactory which doesn't support all color spaces, so unsupported color space have to find an acceptable conversion in order to use that KoColorTransformationFactory.
| colorSpace | the source color space |
| possibilities | a list of color space among which we need to find the best conversion |
| fromCS | the conversion from the source color space will be affected to this variable |
| toCS | the revert conversion to the source color space will be affected to this variable |
Definition at line 363 of file KoColorSpaceRegistry.cpp.
References colorSpace(), and d.
| const KoColorProfile * KoColorSpaceRegistry::createColorProfile | ( | const QString & | colorModelId, |
| const QString & | colorDepthId, | ||
| const QByteArray & | rawData ) |
create a profile of the specified type.
Definition at line 972 of file KoColorSpaceRegistry.cpp.
References KoColorSpaceFactory::colorProfile(), and d.
| QString KoColorSpaceRegistry::defaultProfileForColorSpace | ( | const QString & | colorSpaceId | ) | const |
Definition at line 351 of file KoColorSpaceRegistry.cpp.
References colorSpaceId(), and d.
| QString KoColorSpaceRegistry::defaultProfileForCsIdImpl | ( | const QString & | csID | ) |
| const KoColorSpace * KoColorSpaceRegistry::getCachedColorSpaceImpl | ( | const QString & | csId, |
| const QString & | profileName ) const |
The function checks if a colorspace with a certain id and profile name can be found in the cache NOTE: the function doesn't take any lock but it needs to be called inside a d->registryLock locked either in read or write.
| csId | The colorspace id |
| profileName | The colorspace profile name |
| KoColorSpace | The matching colorspace |
| 0 | Null pointer if not match |
| const KoColorSpace * KoColorSpaceRegistry::graya16 | ( | const KoColorProfile * | profile | ) |
Convenience method to get a GRAYA 16 bit colorspace. If a profile is not specified, the default profile defined in the GRAY colorspace will be used
| the | profile |
Definition at line 609 of file KoColorSpaceRegistry.cpp.
References colorSpace(), graya16(), GrayAColorModelID, KoID::id(), instance(), and Integer16BitsColorDepthID.
| const KoColorSpace * KoColorSpaceRegistry::graya16 | ( | const QString & | profile = QString() | ) |
Convenience method to get a GRAYA 16 bit colorspace. If a profile is not specified, the default profile defined in the GRAY colorspace will be used
| the | profile |
Definition at line 597 of file KoColorSpaceRegistry.cpp.
References colorSpace(), d, KoColorSpaceFactory::defaultProfile(), GrayAColorModelID, KoID::id(), instance(), and Integer16BitsColorDepthID.
| const KoColorSpace * KoColorSpaceRegistry::graya8 | ( | const KoColorProfile * | profile | ) |
Convenience method to get a GRAYA 8 bit colorspace. If a profile is not specified, the default profile defined in the GRAY colorspace will be used
| profile | the profile |
Definition at line 586 of file KoColorSpaceRegistry.cpp.
References colorSpace(), graya8(), GrayAColorModelID, KoID::id(), instance(), and Integer8BitsColorDepthID.
| const KoColorSpace * KoColorSpaceRegistry::graya8 | ( | const QString & | profile = QString() | ) |
Convenience method to get a GRAYA 8 bit colorspace. If a profile is not specified, the default profile defined in the GRAY colorspace will be used
| profile | the profile name |
Definition at line 573 of file KoColorSpaceRegistry.cpp.
References colorSpace(), d, KoColorSpaceFactory::defaultProfile(), GrayAColorModelID, KoID::id(), instance(), and Integer8BitsColorDepthID.
| QString KoColorSpaceRegistry::idsToCacheName | ( | const QString & | csId, |
| const QString & | profileName ) const |
|
private |
Definition at line 147 of file KoColorSpaceRegistry.cpp.
References add(), KoGenericRegistry< T >::add(), addProfile(), KoPluginLoader::PluginsConfig::blacklist, d, dbgPigment, KoPluginLoader::PluginsConfig::group, KoPluginLoader::instance(), KoColorSpaceEngineRegistry::instance(), listKeys(), and KoPluginLoader::load().
|
static |
Return an instance of the KoColorSpaceRegistry Creates an instance if that has never happened before and returns the singleton instance.
Definition at line 138 of file KoColorSpaceRegistry.cpp.
References init().
| const KoColorSpace * KoColorSpaceRegistry::lab16 | ( | const KoColorProfile * | profile | ) |
Convenience method to get an Lab 16bit colorspace with the given profile.
| profile | an Lab profile |
Definition at line 665 of file KoColorSpaceRegistry.cpp.
References KoLabColorSpace::colorSpaceId(), and d.
| const KoColorSpace * KoColorSpaceRegistry::lab16 | ( | const QString & | profileName = QString() | ) |
Convenience method to get an Lab 16bit colorspace. If a profile is not specified, an Lab profile with a D50 whitepoint will be used.
| profileName | the name of an Lab color profile |
Definition at line 654 of file KoColorSpaceRegistry.cpp.
References KoLabColorSpace::colorSpaceId(), and d.
| const KoColorSpace * KoColorSpaceRegistry::lazyCreateColorSpaceImpl | ( | const QString & | csID, |
| const KoColorProfile * | profile ) |
This function return a list of all the keys in KoID format by using the name() method on the objects stored in the registry.
Definition at line 945 of file KoColorSpaceRegistry.cpp.
References d.
|
private |
| const KoColorProfile * KoColorSpaceRegistry::p2020G10Profile | ( | ) | const |
Convenience method to get a standard profile for Rec.2020 linear light color space
Definition at line 677 of file KoColorSpaceRegistry.cpp.
References profileByName().
| const KoColorProfile * KoColorSpaceRegistry::p2020PQProfile | ( | ) | const |
Convenience method to get a standard profile for Rec.2020 PQ color space
Definition at line 682 of file KoColorSpaceRegistry.cpp.
References profileByName().
| const KoColorProfile * KoColorSpaceRegistry::p709G10Profile | ( | ) | const |
Convenience method to get a standard profile for Rec. 709 linear light color space
Definition at line 687 of file KoColorSpaceRegistry.cpp.
References profileByName().
| const KoColorProfile * KoColorSpaceRegistry::p709SRGBProfile | ( | ) | const |
Convenience method to get a standard profile for Rec. 709 sRGB-tone- response-curve profile
Definition at line 692 of file KoColorSpaceRegistry.cpp.
References profileByName().
| const KoColorSpace * KoColorSpaceRegistry::permanentColorspace | ( | const KoColorSpace * | _colorSpace | ) |
Definition at line 931 of file KoColorSpaceRegistry.cpp.
References KoColorSpace::d, d, KoColorSpace::id, NotOwnedByRegistry, and KoColorSpace::profile().
|
inline |
Definition at line 50 of file KoColorSpaceRegistry.cpp.
| QString KoColorSpaceRegistry::profileAlias | ( | const QString & | name | ) | const |
Definition at line 264 of file KoColorSpaceRegistry.cpp.
References d.
| const KoColorProfile * KoColorSpaceRegistry::profileByName | ( | const QString & | name | ) | const |
Return a profile by its given name, or 0 if none registered.
| name | the product name as set on the profile. |
Definition at line 269 of file KoColorSpaceRegistry.cpp.
References d.
| const KoColorProfile * KoColorSpaceRegistry::profileByUniqueId | ( | const QByteArray & | id | ) | const |
Returns a profile by its unique id stored/calculated in the header. The first call to this function might take long, because the map is created on the first use only (atm used by SVG only)
| id | unique ProfileID of the profile (MD5 sum of its header) |
Definition at line 274 of file KoColorSpaceRegistry.cpp.
References d.
| const KoColorProfile * KoColorSpaceRegistry::profileFor | ( | const QVector< double > & | colorants, |
| ColorPrimaries | colorPrimaries, | ||
| TransferCharacteristics | transferFunction ) const |
profileFor tries to find the profile that matches these characteristics, if no such profile is found, it attempts to generate one.
| colorants | a double of xy (for xyY) values, this expects the first two as the white point, then the red, green and blue. If there's only a whitepoint and primaries type is undefined, a grayscale profile will be returned. |
| colorPrimaries | the color primaries type as defined in KoColorProfile. |
| transferFunction | the transfer function, as defined in KoColorProfile. |
Definition at line 697 of file KoColorSpaceRegistry.cpp.
References d, KoGenericRegistry< T >::get(), KoColorSpaceEngine::getProfile(), KoColorSpaceEngineRegistry::instance(), p2020G10Profile(), p2020PQProfile(), p709G10Profile(), p709SRGBProfile(), PRIMARIES_ITU_R_BT_2020_2_AND_2100_0, PRIMARIES_ITU_R_BT_709_5, TRC_IEC_61966_2_1, TRC_ITU_R_BT_2100_0_PQ, and TRC_LINEAR.
| const KoColorProfile * KoColorSpaceRegistry::profileForCsIdWithFallbackImpl | ( | const QString & | csID, |
| const QString & | profileName ) |
| const KoColorProfile * KoColorSpaceRegistry::profileForQColorSpace | ( | const QColorSpace & | space | ) |
profileForQColorSpace Find a KoColorProfile that matches a given QColorSpace. This will use the QColorSpace::IccProfile function as a last resort, preferring to use preexisting profiles in the registry.
| space | – space to return the profile for. |
Definition at line 751 of file KoColorSpaceRegistry.cpp.
References KoColorSpaceEngine::addProfile(), addProfile(), createColorProfile(), KoGenericRegistry< T >::get(), GrayAColorModelID, KoID::id(), KoColorSpaceEngineRegistry::instance(), Integer8BitsColorDepthID, mapQColorSpaceColorPrimaries, mapQColorSpaceColorTransfer, KoColorProfile::name, PRIMARIES_UNSPECIFIED, profileByName(), profileByUniqueId(), profileFor(), RGBAColorModelID, TRC_UNSPECIFIED, and KoColorProfile::uniqueId().
| bool KoColorSpaceRegistry::profileIsCompatible | ( | const KoColorProfile * | profile, |
| const QString & | colorSpaceId ) |
Definition at line 300 of file KoColorSpaceRegistry.cpp.
References colorSpaceId(), d, and KoColorSpaceFactory::profileIsCompatible().
| QList< const KoColorProfile * > KoColorSpaceRegistry::profilesFor | ( | const QString & | csID | ) | const |
Return the list of profiles for a colorspace with the argument id. Profiles will not work with any color space, you can query which profiles that are registered with this registry can be used in combination with the argument factory.
| colorSpaceId | the colorspace-id with which all the returned profiles will work. |
Definition at line 279 of file KoColorSpaceRegistry.cpp.
References d.
| QColorSpace KoColorSpaceRegistry::QColorSpaceForProfile | ( | const KoColorProfile * | profile | ) | const |
QColorSpaceForProfile Generate a QColorSpace for the given KoColorProfile. Will return sRGB when the profile is null.
| profile | – source profile |
Definition at line 818 of file KoColorSpaceRegistry.cpp.
References p2020PQProfile(), p709SRGBProfile(), and KoColorProfile::rawData().
| void KoColorSpaceRegistry::remove | ( | KoColorSpaceFactory * | item | ) |
Remove a color space factory from the registry. Note that it is the responsibility of the caller to ensure that the colorspaces are not used anymore.
Definition at line 240 of file KoColorSpaceRegistry.cpp.
References KoColorSpace::d, d, KoColorSpace::id, KoColorSpaceFactory::id(), KoColorProfile::name, OwnedByRegistryRegistryDeletes, and KoColorSpace::profile().
| void KoColorSpaceRegistry::removeProfile | ( | KoColorProfile * | profile | ) |
Definition at line 329 of file KoColorSpaceRegistry.cpp.
References d.
| const KoColorSpace * KoColorSpaceRegistry::rgb16 | ( | const KoColorProfile * | profile | ) |
Convenience method to get an RGBA 16bit colorspace with the given profile.
| profile | an RGB profile |
Definition at line 649 of file KoColorSpaceRegistry.cpp.
References KoRgbU16ColorSpace::colorSpaceId(), and d.
| const KoColorSpace * KoColorSpaceRegistry::rgb16 | ( | const QString & | profileName = QString() | ) |
Convenience method to get an RGBA 16bit colorspace. If a profile is not specified, an sRGB profile will be used.
| profileName | the name of an RGB color profile |
Definition at line 644 of file KoColorSpaceRegistry.cpp.
References KoRgbU16ColorSpace::colorSpaceId(), and d.
| const KoColorSpace * KoColorSpaceRegistry::rgb8 | ( | const KoColorProfile * | profile | ) |
Convenience method to get an RGBA 8bit colorspace with the given profile.
| profile | an RGB profile |
Definition at line 632 of file KoColorSpaceRegistry.cpp.
References KoRgbU8ColorSpace::colorSpaceId(), and d.
| const KoColorSpace * KoColorSpaceRegistry::rgb8 | ( | const QString & | profileName = QString() | ) |
Convenience method to get an RGBA 8bit colorspace. If a profile is not specified, an sRGB profile will be used.
| profileName | the name of an RGB color profile |
Definition at line 620 of file KoColorSpaceRegistry.cpp.
References KoRgbU8ColorSpace::colorSpaceId(), and d.
|
friend |
Definition at line 411 of file KoColorSpaceRegistry.h.
|
friend |
Definition at line 407 of file KoColorSpaceRegistry.h.
|
friend |
Definition at line 403 of file KoColorSpaceRegistry.h.
|
friend |
Definition at line 405 of file KoColorSpaceRegistry.h.
|
friend |
Definition at line 404 of file KoColorSpaceRegistry.h.
|
friend |
Definition at line 406 of file KoColorSpaceRegistry.h.
|
friend |
Definition at line 408 of file KoColorSpaceRegistry.h.
|
friend |
Definition at line 410 of file KoColorSpaceRegistry.h.
|
friend |
Definition at line 409 of file KoColorSpaceRegistry.h.
| const KoColorSpace* KoColorSpaceRegistry::alphaCs {nullptr} |
Definition at line 62 of file KoColorSpaceRegistry.cpp.
| const KoColorSpace* KoColorSpaceRegistry::alphaF32Cs {nullptr} |
Definition at line 67 of file KoColorSpaceRegistry.cpp.
| const KoColorSpace* KoColorSpaceRegistry::alphaU16Cs {nullptr} |
Definition at line 63 of file KoColorSpaceRegistry.cpp.
| KoColorConversionCache * KoColorSpaceRegistry::colorConversionCache {nullptr} |
Definition at line 59 of file KoColorSpaceRegistry.cpp.
| const KoColorConversionSystem * KoColorSpaceRegistry::colorConversionSystem {nullptr} |
Definition at line 58 of file KoColorSpaceRegistry.cpp.
| KoGenericRegistry<KoColorSpaceFactory *> KoColorSpaceRegistry::colorSpaceFactoryRegistry |
Definition at line 54 of file KoColorSpaceRegistry.cpp.
| QScopedPointer<ConversionSystemInterface> KoColorSpaceRegistry::conversionSystemInterface |
Definition at line 57 of file KoColorSpaceRegistry.cpp.
| QHash<QString, const KoColorSpace *> KoColorSpaceRegistry::csMap |
Definition at line 56 of file KoColorSpaceRegistry.cpp.
|
private |
Definition at line 434 of file KoColorSpaceRegistry.h.
| const KoColorSpace* KoColorSpaceRegistry::lab16sLAB {nullptr} |
Definition at line 61 of file KoColorSpaceRegistry.cpp.
| KoColorProfileStorage KoColorSpaceRegistry::profileStorage |
Definition at line 55 of file KoColorSpaceRegistry.cpp.
| KoColorSpaceRegistry* KoColorSpaceRegistry::q {nullptr} |
Definition at line 52 of file KoColorSpaceRegistry.cpp.
| QReadWriteLock KoColorSpaceRegistry::registrylock |
Definition at line 68 of file KoColorSpaceRegistry.cpp.
| const KoColorSpace* KoColorSpaceRegistry::rgbU8sRGB {nullptr} |
Definition at line 60 of file KoColorSpaceRegistry.cpp.