[SCM] exiv2 packaging branch, master, updated. debian/0.25-3.1-3734-gdcbc29a
Maximiliano Curia
maxy at moszumanska.debian.org
Thu Jul 13 17:38:40 UTC 2017
Gitweb-URL: http://git.debian.org/?p=pkg-kde/kde-extras/exiv2.git;a=commitdiff;h=088679c
The following commit has been merged in the master branch:
commit 088679c64f3855f122cd96f8bfb36c35812cd844
Author: Andreas Huggel <ahuggel at gmx.net>
Date: Fri Aug 31 08:28:43 2007 +0000
Added XMP "Phase 1" functionality: New Image interface to get/set/clear the raw XMP packet. (Merged revisions 1151-1153 and 1196-1197 from branches/xmp plus bugfix which will be in revision 1199.)
---
src/Makefile | 3 +-
src/cr2image.cpp | 1 +
src/image.cpp | 11 +++++++
src/image.hpp | 17 +++++++++++
src/jpgimage.cpp | 85 ++++++++++++++++++++++++++++++++++++++++-------------
src/jpgimage.hpp | 1 +
src/tiffparser.cpp | 1 +
src/tiffvisitor.cpp | 14 +++++++++
src/tiffvisitor.hpp | 2 ++
src/xmpdump.cpp | 35 ++++++++++++++++++++++
10 files changed, 149 insertions(+), 21 deletions(-)
diff --git a/src/Makefile b/src/Makefile
index ae9217d..a9c4a37 100644
--- a/src/Makefile
+++ b/src/Makefile
@@ -117,7 +117,8 @@ BINSRC = addmoddel.cpp \
taglist.cpp \
write-test.cpp \
write2-test.cpp \
- tiffparse.cpp
+ tiffparse.cpp \
+ xmpdump.cpp
# Main source file of the Exiv2 application
EXIV2MAIN = exiv2.cpp
diff --git a/src/cr2image.cpp b/src/cr2image.cpp
index 8c15560..399d14b 100644
--- a/src/cr2image.cpp
+++ b/src/cr2image.cpp
@@ -69,6 +69,7 @@ namespace Exiv2 {
{ "*", 0x011a, Group::ifd0, 0 },
{ "*", 0x011b, Group::ifd0, 0 },
{ "*", 0x0128, Group::ifd0, 0 },
+ { "*", 0x02bc, Group::ifd0, &TiffMetadataDecoder::decodeXmp },
{ "*", 0x83bb, Group::ifd0, &TiffMetadataDecoder::decodeIptc },
{ "*", 0x8649, Group::ifd0, &TiffMetadataDecoder::decodeIptc }
};
diff --git a/src/image.cpp b/src/image.cpp
index 027d853..777dc79 100644
--- a/src/image.cpp
+++ b/src/image.cpp
@@ -109,6 +109,7 @@ namespace Exiv2 {
{
clearExifData();
clearIptcData();
+ clearXmpPacket();
clearComment();
}
@@ -139,6 +140,16 @@ namespace Exiv2 {
iptcData_ = iptcData;
}
+ void Image::clearXmpPacket()
+ {
+ xmpPacket_.clear();
+ }
+
+ void Image::setXmpPacket(const std::string& xmpPacket)
+ {
+ xmpPacket_ = xmpPacket;
+ }
+
void Image::clearComment()
{
comment_.erase();
diff --git a/src/image.hpp b/src/image.hpp
index efa3132..866f1f2 100644
--- a/src/image.hpp
+++ b/src/image.hpp
@@ -144,6 +144,14 @@ namespace Exiv2 {
*/
virtual void clearIptcData();
/*!
+ @brief Set the raw XMP packet to \em xmpPacket.
+ */
+ virtual void setXmpPacket(const std::string& xmpPacket);
+ /*!
+ @brief Set the raw XMP packet to \em xmpPacket.
+ */
+ virtual void clearXmpPacket();
+ /*!
@brief Set the image comment. The new comment is not written
to the image until the writeMetadata() method is called.
@param comment String containing comment.
@@ -190,6 +198,10 @@ namespace Exiv2 {
@return modifiable IptcData instance containing IPTC values
*/
virtual IptcData& iptcData() { return iptcData_; }
+ /*!
+ @brief Return a modifiable reference to the raw XMP packet.
+ */
+ virtual std::string& xmpPacket() { return xmpPacket_; }
//@}
//! @name Accessors
@@ -240,6 +252,10 @@ namespace Exiv2 {
*/
virtual std::string comment() const { return comment_; }
/*!
+ @brief Return the raw XMP packet as a string.
+ */
+ virtual const std::string& xmpPacket() const { return xmpPacket_; }
+ /*!
@brief Return a reference to the BasicIo instance being used for Io.
This refence is particularly useful to reading the results of
@@ -274,6 +290,7 @@ namespace Exiv2 {
ExifData exifData_; //!< Exif data container
IptcData iptcData_; //!< IPTC data container
std::string comment_; //!< User comment
+ std::string xmpPacket_; //!< XMP packet
private:
//! @name NOT implemented
diff --git a/src/jpgimage.cpp b/src/jpgimage.cpp
index c84a362..93177d6 100644
--- a/src/jpgimage.cpp
+++ b/src/jpgimage.cpp
@@ -59,6 +59,7 @@ namespace Exiv2 {
const byte JpegBase::com_ = 0xfe;
const char JpegBase::exifId_[] = "Exif
--
exiv2 packaging
More information about the pkg-kde-commits
mailing list