[Digikam-devel] extragear/graphics/digikam/imageplugins

Francisco J. Cruz fj.cruz at supercable.es
Fri Jan 20 23:16:51 GMT 2006


SVN commit 500698 by fjcruz:

ImageEffect_ICCProof::slotTestIt() method has been implemented (90%), so the plugin begins to be operative. Test and report, please.
TODO:

- "Check gamut" option isn't implemented.
- "Embed profile" options isn't implemented.
- "Display" tab is not take into account, so any setting you make here wil work.
- ImageEffect_ICCProof::finalRendering() method isn't implemented, so no change will be saved.

For Gilles: maybe it's time to talk about how to save profiles into images :-).

CCMAIL:digikam-devel at kde.org

 M  +43 -1     imageeffect_iccproof.cpp  


--- trunk/extragear/graphics/digikam/imageplugins/imageeffect_iccproof.cpp #500697:500698
@@ -537,7 +537,7 @@
 void ImageEffect_ICCProof::slotTestIt()
 {
     /// @todo implement me
-    /// FIXME embed profile is not implemented -- Paco Cruz
+    /// FIXME "embed profile" option is not implemented -- Paco Cruz
     /// FIXME use of Display profile is not implemented -- Paco Cruz
     
     kapp->setOverrideCursor(KCursor::waitCursor());
@@ -604,8 +604,50 @@
 
     transform.getTransformType(m_doSoftProofBox->isChecked());
 
+    if (m_doSoftProofBox->isChecked())
+    {
+        if (m_useEmbeddedProfile->isChecked())
+        {
+            transform.setProfiles( spacePath, proofPath, true );
+        }
+        else
+        {
+            transform.setProfiles( inPath, spacePath, proofPath);
+        }
+    }
+    else
+    {
+        if (m_useEmbeddedProfile->isChecked())
+        {
+            transform.setProfiles( spacePath );
+        }
+        else
+        {
+            transform.setProfiles( inPath, spacePath );
+        }
+    }
+
     
+    if (m_useEmbeddedProfile->isChecked())
+    {
+        transform.apply(preview, m_embeddedICC, useBPC(), m_checkGamutBox->isChecked(), useBuiltinProfile());
+    }
+    else
+    {
+        QByteArray fakeProfile = QByteArray();
+        transform.apply(preview, fakeProfile, useBPC(), m_checkGamutBox->isChecked(), useBuiltinProfile());
+    }
     
+    iface->putPreviewImage(preview.bits());
+
+    m_previewWidget->updatePreview();
+
+    // Update histogram.
+   
+    memcpy(m_destinationPreviewData, preview.bits(), preview.numBytes());
+    kdDebug() << "Doing updateData" << endl;
+    m_histogramWidget->updateData(m_destinationPreviewData, w, h, sb, 0, 0, 0, false);
+    
     kapp->restoreOverrideCursor();
 }
 



More information about the Digikam-devel mailing list