[Digikam-devel] extragear/graphics/digikam/imageplugins
Francisco J. Cruz
fj.cruz at supercable.es
Thu Jan 19 22:53:52 GMT 2006
SVN commit 500307 by fjcruz:
Some new methods have been implemented to help with icc transformations.
CCMAIL:digikam-devel at kde.org
M +76 -22 imageeffect_iccproof.cpp
M +23 -0 imageeffect_iccproof.h
--- trunk/extragear/graphics/digikam/imageplugins/imageeffect_iccproof.cpp #500306:500307
@@ -79,6 +79,8 @@
proofPath = QString::null;
displayPath = QString::null;
+ hasICC = false;
+
setHelp("colormanagement.anchor", "digikam");
QFrame *frame = new QFrame(plainPage());
@@ -411,6 +413,7 @@
connect(m_useDisplayDefaultProfile, SIGNAL(clicked()), this, SLOT(slotCMDisabledWarning()));
+
// -------------------------------------------------------------
enableButtonOK( false );
@@ -499,14 +502,13 @@
bool sb = iface->previewSixteenBit();
Digikam::DImg preview(w, h, sb, a, m_destinationPreviewData);
- if (!iface->originalHasICCEmbedded())
+ if (iface->getEmbeddedICCFromOriginalImage().isNull())
+ {
m_useEmbeddedProfile->setEnabled(false);
-// Digikam::BCGModifier cmod;
-// cmod.setOverIndicator(o);
-// cmod.setGamma(g);
-// cmod.setBrightness(b);
-// cmod.setContrast(c);
-// cmod.applyBCG(preview);
+ hasICC = true;
+ m_embeddedICC = iface->getEmbeddedICCFromOriginalImage();
+ }
+
iface->putPreviewImage(preview.bits());
m_previewWidget->updatePreview();
@@ -517,11 +519,6 @@
kdDebug() << "Doing updateData" << endl;
m_histogramWidget->updateData(m_destinationPreviewData, w, h, sb, 0, 0, 0, false);
-// if (original.getICCProfil().isNull())
-// {
-// m_useEmbeddedProfile->setEnabled(false);
-// }
-
kapp->restoreOverrideCursor();
}
@@ -543,17 +540,9 @@
m_histogramWidget->stopHistogramComputation();
- if (m_destinationPreviewData)
- delete [] m_destinationPreviewData;
+ Digikam::IccTransform transform;
-// Digikam::ImageIface* iface = m_previewWidget->imageIface();
-// m_destinationPreviewData = iface->getPreviewData();
- int w = iface->previewWidth();
- int h = iface->previewHeight();
- bool a = iface->previewHasAlpha();
- bool sb = iface->previewSixteenBit();
-
- Digikam::DImg preview(w, h, sb, a, m_destinationPreviewData);
+ kapp->restoreOverrideCursor();
}
void ImageEffect_ICCProof::readSettings()
@@ -670,6 +659,71 @@
}
}
+//-- General Tab ---------------------------
+
+bool ImageEffect_ICCProof::useBPC()
+{
+ return m_BPCBox->isChecked();
+}
+
+bool ImageEffect_ICCProof::doProof()
+{
+ return m_doSoftProofBox->isChecked();
+}
+
+bool ImageEffect_ICCProof::checkGamut()
+{
+ return m_checkGamutBox->isChecked();
+}
+
+bool ImageEffect_ICCProof::embedProfile()
+{
+ return m_embeddProfileBox->isChecked();
+}
+
+//-- Input Tab ---------------------------
+
+bool ImageEffect_ICCProof::useEmbeddedProfile()
+{
+ return m_useEmbeddedProfile->isChecked();
+}
+
+bool ImageEffect_ICCProof::useBuiltinProfile()
+{
+ return m_useSRGBDefaultProfile->isChecked();
+}
+
+bool ImageEffect_ICCProof::useDefaultInProfile()
+{
+ return m_useInDefaultProfile->isChecked();
+}
+
+bool ImageEffect_ICCProof::useSelectedInProfile()
+{
+ return m_useInSelectedProfile->isChecked();
+}
+
+//-- Workspace Tab ---------------------------
+
+bool ImageEffect_ICCProof::useDefaultSpaceProfile()
+{
+ return m_useSpaceDefaultProfile->isChecked();
+}
+
+//-- Proofing Tab ---------------------------
+
+bool ImageEffect_ICCProof::useDefaultProofProfile()
+{
+ return m_useProofDefaultProfile->isChecked();
+}
+
+//-- Display Tab ---------------------------
+
+bool ImageEffect_ICCProof::useDefaultDisplayProfile()
+{
+ return m_useDisplayDefaultProfile->isChecked();
+}
+
}// NameSpace DigikamImagesPluginCore
#include "imageeffect_iccproof.moc"
--- trunk/extragear/graphics/digikam/imageplugins/imageeffect_iccproof.h #500306:500307
@@ -29,6 +29,7 @@
class QHButtonGroup;
class QRadioButton;
class QPushButton;
+class QCString;
class KTabWidget;
class KURLRequester;
@@ -117,7 +118,10 @@
QString proofPath;
bool cmEnabled;
+ bool hasICC;
+ QByteArray m_embeddedICC;
+
Digikam::ImageGuideWidget *m_previewWidget;
Digikam::ColorGradientWidget *m_hGradient;
@@ -137,6 +141,25 @@
void readSettings();
void getICCInfo(const QString&);
+ bool useBPC();
+ bool doProof();
+ bool checkGamut();
+ bool embedProfile();
+
+ bool useEmbeddedProfile();
+ bool useBuiltinProfile();
+ bool useDefaultInProfile();
+ bool useSelectedInProfile();
+
+ bool useDefaultSpaceProfile();
+ bool useSelectedSpaceProfile();
+
+ bool useDefaultDisplayProfile();
+ bool useSelectedDisplayProfile();
+
+ bool useDefaultProofProfile();
+ bool useSelectedProofProfile();
+
private slots:
void slotDefault();
More information about the Digikam-devel
mailing list