[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    KDE/kdegraphics/libs/libkexiv2/libkexiv2
From:       Marcel Wiesweg <marcel.wiesweg () gmx ! de>
Date:       2009-09-04 17:24:32
Message-ID: 1252085072.938809.26998.nullmailer () svn ! kde ! org
[Download RAW message or body]

SVN commit 1019869 by mwiesweg:

Add first revision of code using Exiv2 PreviewManager.
Need to find efficient method to create manager.


 M  +1 -0      kexiv2_p.h  
 M  +60 -0     kexiv2image.cpp  


--- trunk/KDE/kdegraphics/libs/libkexiv2/libkexiv2/kexiv2_p.h #1019868:1019869
@@ -81,6 +81,7 @@
 #include <exiv2/panasonicmn.hpp>
 #include <exiv2/pentaxmn.hpp>
 #include <exiv2/fujimn.hpp>
+//#include <exiv2/preview.hpp>
 #ifdef __GNUC__
 #pragma GCC visibility pop
 #endif
--- trunk/KDE/kdegraphics/libs/libkexiv2/libkexiv2/kexiv2image.cpp #1019868:1019869
@@ -899,4 +899,64 @@
     return false;
 }
 
+/*
+Prototype code
+
+    //------------------------------------------------------------
+    //-- GPS manipulation methods --------------------------------
+    //------------------------------------------------------------
+
+    class EmbeddedPreviewInfo
+    {
+        public:
+            int     width;
+            int     height;
+            QString mimeType;
+    };
+    /**
+     * Returns a list of infos about the embedded previews available.
+     * /
+    QList<EmbeddedPreviewInfo> getEmbeddedPreviewInfos() const;
+    /**
+     * Returns the data for an embedded preview. Index is the index
+     * of the corresponding EmbeddedPreviewInfo in the list retrieved from getEmbeddedPreviewInfos().
+     * /
+    QByteArray getEmbeddedPreviewData(unsigned int index) const;
+
+QList<KExiv2::EmbeddedPreviewInfo> KExiv2::getEmbeddedPreviewInfos() const
+{
+    QList<EmbeddedPreviewInfo> infos;
+#if (EXIV2_TEST_VERSION(0,18,0))
+    Exiv2::PreviewManager manager;
+
+    Exiv2::PreviewPropertiesList properties = manager.getPreviewProperties();
+    for (unsigned int i=0; i<properties.size(); i++)
+    {
+        EmbeddedPreviewInfo info;
+        Exiv2::PreviewProperties &property = properties[i];
+        info.width    = property.width_;
+        info.height   = property.height_;
+        info.mimeType = QString::fromLatin1(property.mimeType_.c_str());
+        infos << info;
+    }
+#endif
+    return infos;
+}
+
+QByteArray KExiv2::getEmbeddedPreviewData(unsigned int index) const
+{
+#if (EXIV2_TEST_VERSION(0,18,0))
+    Exiv2::PreviewManager manager;
+    Exiv2::PreviewPropertiesList properties = manager.getPreviewProperties();
+    if (index < properties.size())
+        return QByteArray();
+    Exiv2::PreviewImage image = manager.getPreviewImage(properties[index]);
+    return QByteArray((const char*)image.pData(), image.size());
+#else
+    Q_UNUSED(index)
+    return QByteArray();
+#endif
+}
+*/
+
 }  // NameSpace KExiv2Iface
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic