digiKam
Digikam::IccManager Class Reference
+ Inheritance diagram for Digikam::IccManager:

Public Member Functions

IccTransform displaySoftProofingTransform (const IccProfile &deviceProfile, const IccProfile &displayProfile)
 
IccTransform displaySoftProofingTransform (const IccProfile &deviceProfile, QWidget *const displayingWidget=nullptr)
 
IccTransform displayTransform (const IccProfile &displayProfile)
 
IccTransform displayTransform (QWidget *const displayingWidget=nullptr)
 
bool hasValidWorkspace () const
 
 IccManager (const DImg &image, const ICCSettingsContainer &settings=IccSettings::instance() ->settings())
 
DImg image () const
 
IccProfile imageProfile (ICCSettingsContainer::Behavior behavior, const IccProfile &specifiedProfile=IccProfile())
 
bool isMissingProfile () const
 
bool isProfileMismatch () const
 
bool isUncalibratedColor () const
 
DImgLoaderObserverobserver () const
 
void setObserver (DImgLoaderObserver *const observer)
 
ICCSettingsContainer settings () const
 
void transform (ICCSettingsContainer::Behavior behavior, const IccProfile &specifiedProfile=IccProfile())
 
void transformDefault ()
 
void transformForDisplay ()
 
void transformForDisplay (const IccProfile &displayProfile)
 
void transformForDisplay (QWidget *const widget)
 
void transformForOutput (const IccProfile &outputProfile)
 
void transformToSRGB ()
 
 ~IccManager ()
 

Static Public Member Functions

static IccProfile displayProfile (QWidget *const displayingWidget=nullptr)
 
static bool isSRGB (const DImg &img)
 
static bool needsPostLoadingManagement (const DImg &img)
 
static void transformForDisplay (QImage &qimage, const IccProfile &displayProfile1=displayProfile())
 
static void transformToSRGB (QImage &qimage, const IccProfile &inputProfile)
 

Protected Member Functions

void getTransform (IccTransform &trans, ICCSettingsContainer::Behavior behavior, const IccProfile &specifiedProfile)
 
ICCSettingsContainer::Behavior safestBestBehavior () const
 
void setIccProfile (const IccProfile &profile)
 

Constructor & Destructor Documentation

◆ IccManager()

Digikam::IccManager::IccManager ( const DImg image,
const ICCSettingsContainer settings = IccSettings::instance()->settings() 
)
explicit

Constructs an IccManager object. The DImg will be edited. The filePath is for display only.

References image(), and settings().

◆ ~IccManager()

Digikam::IccManager::~IccManager ( )

Member Function Documentation

◆ displayProfile()

◆ displaySoftProofingTransform() [1/2]

IccTransform Digikam::IccManager::displaySoftProofingTransform ( const IccProfile deviceProfile,
const IccProfile displayProfile 
)

◆ displaySoftProofingTransform() [2/2]

IccTransform Digikam::IccManager::displaySoftProofingTransform ( const IccProfile deviceProfile,
QWidget *const  displayingWidget = nullptr 
)

Returns a display transform, with soft-proofing enabled for the given device profile.

References displayProfile().

Referenced by Digikam::EditorCore::convertToPixmap(), Digikam::ImageIface::paint(), Digikam::ImagePreviewItem::paint(), and Digikam::ImageRegionItem::paint().

◆ displayTransform() [1/2]

◆ displayTransform() [2/2]

◆ getTransform()

◆ hasValidWorkspace()

bool Digikam::IccManager::hasValidWorkspace ( ) const

◆ image()

DImg Digikam::IccManager::image ( ) const

◆ imageProfile()

◆ isMissingProfile()

bool Digikam::IccManager::isMissingProfile ( ) const

◆ isProfileMismatch()

bool Digikam::IccManager::isProfileMismatch ( ) const

◆ isSRGB()

◆ isUncalibratedColor()

bool Digikam::IccManager::isUncalibratedColor ( ) const

◆ needsPostLoadingManagement()

bool Digikam::IccManager::needsPostLoadingManagement ( const DImg img)
static

Returns true if the given image is marked as needing user interaction for further color management decision after loading. If this returns true, use IccPostLoadingManager to do this.

References Digikam::DImg::hasAttribute().

Referenced by Digikam::EditorWindow::colorManage().

◆ observer()

DImgLoaderObserver * Digikam::IccManager::observer ( ) const

Referenced by setObserver().

◆ safestBestBehavior()

◆ setIccProfile()

void Digikam::IccManager::setIccProfile ( const IccProfile profile)
protected

◆ setObserver()

void Digikam::IccManager::setObserver ( DImgLoaderObserver *const  observer)

References observer().

◆ settings()

ICCSettingsContainer Digikam::IccManager::settings ( ) const

Referenced by IccManager().

◆ transform()

void Digikam::IccManager::transform ( ICCSettingsContainer::Behavior  behavior,
const IccProfile specifiedProfile = IccProfile() 
)

◆ transformDefault()

void Digikam::IccManager::transformDefault ( )

Transforms the image for full editing, using default settings. If the default settings require showing a dialog, the image is marked as such but no action is taken. See IccPostLoadingManager.

References isMissingProfile(), isProfileMismatch(), isUncalibratedColor(), and transform().

Referenced by Digikam::SharedLoadingTask::postProcess().

◆ transformForDisplay() [1/4]

void Digikam::IccManager::transformForDisplay ( )

Transforms the image for display on screen. The result is not suitable for editing or storage. You can specify the widget in which the image will be displayed, or specify the display profile yourself. You can retrieve the profile with displayProfile() and pass it to transformForDisplay() later (in a thread), or you can get a transform from displayTransform and apply it yourself.

References displayProfile().

Referenced by Digikam::SharedLoadingTask::postProcess(), Digikam::ThumbnailLoadingTask::postProcess(), and transformForDisplay().

◆ transformForDisplay() [2/4]

◆ transformForDisplay() [3/4]

void Digikam::IccManager::transformForDisplay ( QImage &  qimage,
const IccProfile displayProfile1 = displayProfile() 
)
static

◆ transformForDisplay() [4/4]

void Digikam::IccManager::transformForDisplay ( QWidget *const  widget)

◆ transformForOutput()

◆ transformToSRGB() [1/2]

◆ transformToSRGB() [2/2]

void Digikam::IccManager::transformToSRGB ( QImage &  qimage,
const IccProfile inputProfile 
)
static

The documentation for this class was generated from the following files: