diff --git a/include/exiv2/bmffimage.hpp b/include/exiv2/bmffimage.hpp
index e5f8515b..9630c389 100644
--- a/include/exiv2/bmffimage.hpp
+++ b/include/exiv2/bmffimage.hpp
@@ -134,8 +134,8 @@ namespace Exiv2
//! @name Accessors
//@{
std::string mimeType() const override /* override */;
- int pixelWidth() const override;
- int pixelHeight() const override;
+ uint32_t pixelWidth() const override;
+ uint32_t pixelHeight() const override;
//@}
Exiv2::ByteOrder endian_{Exiv2::bigEndian};
diff --git a/include/exiv2/cr2image.hpp b/include/exiv2/cr2image.hpp
index 7fba1244..2abfc39d 100644
--- a/include/exiv2/cr2image.hpp
+++ b/include/exiv2/cr2image.hpp
@@ -87,8 +87,8 @@ namespace Exiv2 {
//! @name Accessors
//@{
std::string mimeType() const override;
- int pixelWidth() const override;
- int pixelHeight() const override;
+ uint32_t pixelWidth() const override;
+ uint32_t pixelHeight() const override;
//@}
//! @name NOT implemented
diff --git a/include/exiv2/crwimage.hpp b/include/exiv2/crwimage.hpp
index 83fdf944..991ce1e4 100644
--- a/include/exiv2/crwimage.hpp
+++ b/include/exiv2/crwimage.hpp
@@ -87,8 +87,8 @@ namespace Exiv2 {
//! @name Accessors
//@{
std::string mimeType() const override;
- int pixelWidth() const override;
- int pixelHeight() const override;
+ uint32_t pixelWidth() const override;
+ uint32_t pixelHeight() const override;
//@}
//! @name NOT Implemented
diff --git a/include/exiv2/image.hpp b/include/exiv2/image.hpp
index 3372fbb5..7229cbc7 100644
--- a/include/exiv2/image.hpp
+++ b/include/exiv2/image.hpp
@@ -381,11 +381,11 @@ namespace Exiv2 {
/*!
@brief Return the pixel width of the image.
*/
- virtual int pixelWidth() const;
+ virtual uint32_t pixelWidth() const;
/*!
@brief Return the pixel height of the image.
*/
- virtual int pixelHeight() const;
+ virtual uint32_t pixelHeight() const;
/*!
@brief Returns an ExifData instance containing currently buffered
Exif data.
@@ -490,8 +490,8 @@ namespace Exiv2 {
DataBuf iccProfile_; //!< ICC buffer (binary data)
std::string comment_; //!< User comment
std::string xmpPacket_; //!< XMP packet
- int pixelWidth_; //!< image pixel width
- int pixelHeight_; //!< image pixel height
+ uint32_t pixelWidth_; //!< image pixel width
+ uint32_t pixelHeight_; //!< image pixel height
NativePreviewList nativePreviews_; //!< list of native previews
//! Return tag name for given tag id.
diff --git a/include/exiv2/metadatum.hpp b/include/exiv2/metadatum.hpp
index 925e39c5..37c3a8e0 100644
--- a/include/exiv2/metadatum.hpp
+++ b/include/exiv2/metadatum.hpp
@@ -218,11 +218,17 @@ namespace Exiv2 {
*/
virtual std::string toString(long n) const =0;
/*!
- @brief Return the n-th component of the value converted to long.
+ @brief Return the n-th component of the value converted to int64_t.
The return value is -1 if the value is not set and the behaviour
of the method is undefined if there is no n-th component.
*/
virtual int64_t toInt64(long n =0) const =0;
+ /*!
+ @brief Return the n-th component of the value converted to uint32_t.
+ */
+ uint32_t toUint32(long n =0) const {
+ return static_cast(toInt64(n));
+ }
/*!
@brief Return the n-th component of the value converted to float.
The return value is -1 if the value is not set and the behaviour
diff --git a/include/exiv2/mrwimage.hpp b/include/exiv2/mrwimage.hpp
index c278b32f..6801ee06 100644
--- a/include/exiv2/mrwimage.hpp
+++ b/include/exiv2/mrwimage.hpp
@@ -95,8 +95,8 @@ namespace Exiv2 {
//! @name Accessors
//@{
std::string mimeType() const override;
- int pixelWidth() const override;
- int pixelHeight() const override;
+ uint32_t pixelWidth() const override;
+ uint32_t pixelHeight() const override;
//@}
}; // class MrwImage
diff --git a/include/exiv2/orfimage.hpp b/include/exiv2/orfimage.hpp
index 319e05f1..bec350da 100644
--- a/include/exiv2/orfimage.hpp
+++ b/include/exiv2/orfimage.hpp
@@ -82,8 +82,8 @@ namespace Exiv2 {
//! @name Accessors
//@{
std::string mimeType() const override;
- int pixelWidth() const override;
- int pixelHeight() const override;
+ uint32_t pixelWidth() const override;
+ uint32_t pixelHeight() const override;
//@}
}; // class OrfImage
diff --git a/include/exiv2/pgfimage.hpp b/include/exiv2/pgfimage.hpp
index 0099dd4f..ed05558a 100644
--- a/include/exiv2/pgfimage.hpp
+++ b/include/exiv2/pgfimage.hpp
@@ -96,7 +96,7 @@ namespace Exiv2
//! Read PGF Header size encoded in 32 bits integer.
uint32_t readPgfHeaderSize(BasicIo& iIo) const;
//! Read header structure.
- DataBuf readPgfHeaderStructure(BasicIo& iIo, int& width, int& height) const;
+ DataBuf readPgfHeaderStructure(BasicIo& iIo, uint32_t& width, uint32_t& height) const;
//@}
}; // class PgfImage
diff --git a/include/exiv2/rafimage.hpp b/include/exiv2/rafimage.hpp
index cab4b898..09386a53 100644
--- a/include/exiv2/rafimage.hpp
+++ b/include/exiv2/rafimage.hpp
@@ -93,8 +93,8 @@ namespace Exiv2 {
//! @name Accessors
//@{
std::string mimeType() const override;
- int pixelWidth() const override;
- int pixelHeight() const override;
+ uint32_t pixelWidth() const override;
+ uint32_t pixelHeight() const override;
//@}
//! @name NOT implemented
diff --git a/include/exiv2/rw2image.hpp b/include/exiv2/rw2image.hpp
index 2e3c3948..73dccea3 100644
--- a/include/exiv2/rw2image.hpp
+++ b/include/exiv2/rw2image.hpp
@@ -86,8 +86,8 @@ namespace Exiv2 {
//! @name Accessors
//@{
std::string mimeType() const override;
- int pixelWidth() const override;
- int pixelHeight() const override;
+ uint32_t pixelWidth() const override;
+ uint32_t pixelHeight() const override;
//@}
//! @name NOT implemented
diff --git a/include/exiv2/tiffimage.hpp b/include/exiv2/tiffimage.hpp
index 75e41a94..9af0dc20 100644
--- a/include/exiv2/tiffimage.hpp
+++ b/include/exiv2/tiffimage.hpp
@@ -83,8 +83,8 @@ namespace Exiv2 {
//! @name Accessors
//@{
std::string mimeType() const override;
- int pixelWidth() const override;
- int pixelHeight() const override;
+ uint32_t pixelWidth() const override;
+ uint32_t pixelHeight() const override;
//@}
//! @name NOT Implemented
@@ -105,8 +105,8 @@ namespace Exiv2 {
// DATA
mutable std::string primaryGroup_; //!< The primary group
mutable std::string mimeType_; //!< The MIME type
- mutable int64_t pixelWidthPrimary_; //!< Width of the primary image in pixels
- mutable int64_t pixelHeightPrimary_; //!< Height of the primary image in pixels
+ mutable uint32_t pixelWidthPrimary_; //!< Width of the primary image in pixels
+ mutable uint32_t pixelHeightPrimary_; //!< Height of the primary image in pixels
}; // class TiffImage
diff --git a/src/bmffimage.cpp b/src/bmffimage.cpp
index 82066ebc..1598ca23 100644
--- a/src/bmffimage.cpp
+++ b/src/bmffimage.cpp
@@ -157,20 +157,20 @@ namespace Exiv2
}
}
- int BmffImage::pixelWidth() const
+ uint32_t BmffImage::pixelWidth() const
{
auto imageWidth = exifData_.findKey(Exiv2::ExifKey("Exif.Photo.PixelXDimension"));
if (imageWidth != exifData_.end() && imageWidth->count() > 0) {
- return imageWidth->toInt64();
+ return imageWidth->toUint32();
}
return pixelWidth_;
}
- int BmffImage::pixelHeight() const
+ uint32_t BmffImage::pixelHeight() const
{
auto imageHeight = exifData_.findKey(Exiv2::ExifKey("Exif.Photo.PixelYDimension"));
if (imageHeight != exifData_.end() && imageHeight->count() > 0) {
- return imageHeight->toInt64();
+ return imageHeight->toUint32();
}
return pixelHeight_;
}
@@ -406,9 +406,9 @@ namespace Exiv2
case TAG_ispe: {
enforce(data.size() - skip >= 12, Exiv2::kerCorruptedMetadata);
skip += 4;
- int width = data.read_uint32(skip, endian_);
+ uint32_t width = data.read_uint32(skip, endian_);
skip += 4;
- int height = data.read_uint32(skip, endian_);
+ uint32_t height = data.read_uint32(skip, endian_);
skip += 4;
if ( bTrace ) {
out << "pixelWidth_, pixelHeight_ = " << Internal::stringFormat("%d, %d", width, height);
diff --git a/src/cr2image.cpp b/src/cr2image.cpp
index cc5a3fac..a79c569a 100644
--- a/src/cr2image.cpp
+++ b/src/cr2image.cpp
@@ -56,20 +56,20 @@ namespace Exiv2 {
return "image/x-canon-cr2";
}
- int Cr2Image::pixelWidth() const
+ uint32_t Cr2Image::pixelWidth() const
{
auto imageWidth = exifData_.findKey(Exiv2::ExifKey("Exif.Photo.PixelXDimension"));
if (imageWidth != exifData_.end() && imageWidth->count() > 0) {
- return imageWidth->toInt64();
+ return imageWidth->toUint32();
}
return 0;
}
- int Cr2Image::pixelHeight() const
+ uint32_t Cr2Image::pixelHeight() const
{
auto imageHeight = exifData_.findKey(Exiv2::ExifKey("Exif.Photo.PixelYDimension"));
if (imageHeight != exifData_.end() && imageHeight->count() > 0) {
- return imageHeight->toInt64();
+ return imageHeight->toUint32();
}
return 0;
}
diff --git a/src/crwimage.cpp b/src/crwimage.cpp
index fde95cad..5309725c 100644
--- a/src/crwimage.cpp
+++ b/src/crwimage.cpp
@@ -62,20 +62,20 @@ namespace Exiv2 {
return "image/x-canon-crw";
}
- int CrwImage::pixelWidth() const
+ uint32_t CrwImage::pixelWidth() const
{
auto widthIter = exifData_.findKey(Exiv2::ExifKey("Exif.Photo.PixelXDimension"));
if (widthIter != exifData_.end() && widthIter->count() > 0) {
- return widthIter->toInt64();
+ return widthIter->toUint32();
}
return 0;
}
- int CrwImage::pixelHeight() const
+ uint32_t CrwImage::pixelHeight() const
{
auto heightIter = exifData_.findKey(Exiv2::ExifKey("Exif.Photo.PixelYDimension"));
if (heightIter != exifData_.end() && heightIter->count() > 0) {
- return heightIter->toInt64();
+ return heightIter->toUint32();
}
return 0;
}
diff --git a/src/image.cpp b/src/image.cpp
index 5dd7e30d..fd6322f9 100644
--- a/src/image.cpp
+++ b/src/image.cpp
@@ -691,12 +691,12 @@ namespace Exiv2 {
return byteOrder_;
}
- int Image::pixelWidth() const
+ uint32_t Image::pixelWidth() const
{
return pixelWidth_;
}
- int Image::pixelHeight() const
+ uint32_t Image::pixelHeight() const
{
return pixelHeight_;
}
diff --git a/src/mrwimage.cpp b/src/mrwimage.cpp
index 63aa414b..81068cb0 100644
--- a/src/mrwimage.cpp
+++ b/src/mrwimage.cpp
@@ -49,20 +49,20 @@ namespace Exiv2 {
return "image/x-minolta-mrw";
}
- int MrwImage::pixelWidth() const
+ uint32_t MrwImage::pixelWidth() const
{
auto imageWidth = exifData_.findKey(Exiv2::ExifKey("Exif.Image.ImageWidth"));
if (imageWidth != exifData_.end() && imageWidth->count() > 0) {
- return imageWidth->toInt64();
+ return imageWidth->toUint32();
}
return 0;
}
- int MrwImage::pixelHeight() const
+ uint32_t MrwImage::pixelHeight() const
{
auto imageHeight = exifData_.findKey(Exiv2::ExifKey("Exif.Image.ImageLength"));
if (imageHeight != exifData_.end() && imageHeight->count() > 0) {
- return imageHeight->toInt64();
+ return imageHeight->toUint32();
}
return 0;
}
diff --git a/src/orfimage.cpp b/src/orfimage.cpp
index d6ae7a30..76f48660 100644
--- a/src/orfimage.cpp
+++ b/src/orfimage.cpp
@@ -54,20 +54,20 @@ namespace Exiv2 {
return "image/x-olympus-orf";
}
- int OrfImage::pixelWidth() const
+ uint32_t OrfImage::pixelWidth() const
{
auto imageWidth = exifData_.findKey(Exiv2::ExifKey("Exif.Image.ImageWidth"));
if (imageWidth != exifData_.end() && imageWidth->count() > 0) {
- return imageWidth->toInt64();
+ return imageWidth->toUint32();
}
return 0;
}
- int OrfImage::pixelHeight() const
+ uint32_t OrfImage::pixelHeight() const
{
auto imageHeight = exifData_.findKey(Exiv2::ExifKey("Exif.Image.ImageLength"));
if (imageHeight != exifData_.end() && imageHeight->count() > 0) {
- return imageHeight->toInt64();
+ return imageHeight->toUint32();
}
return 0;
}
diff --git a/src/pgfimage.cpp b/src/pgfimage.cpp
index 234a896d..e21f0817 100644
--- a/src/pgfimage.cpp
+++ b/src/pgfimage.cpp
@@ -187,7 +187,7 @@ namespace Exiv2 {
readPgfHeaderSize(*io_);
- int w = 0, h = 0;
+ uint32_t w = 0, h = 0;
DataBuf header = readPgfHeaderStructure(*io_, w, h);
auto img = ImageFactory::create(ImageType::png);
@@ -278,7 +278,7 @@ namespace Exiv2 {
return headerSize;
} // PgfImage::readPgfHeaderSize
- DataBuf PgfImage::readPgfHeaderStructure(BasicIo& iIo, int& width, int& height) const
+ DataBuf PgfImage::readPgfHeaderStructure(BasicIo& iIo, uint32_t& width, uint32_t& height) const
{
DataBuf header(16);
long bufRead = iIo.read(header.data(), header.size());
diff --git a/src/pngchunk_int.cpp b/src/pngchunk_int.cpp
index 3f498f64..33a013e6 100644
--- a/src/pngchunk_int.cpp
+++ b/src/pngchunk_int.cpp
@@ -65,7 +65,7 @@ namespace Exiv2
{
namespace Internal
{
- void PngChunk::decodeIHDRChunk(const DataBuf& data, int* outWidth, int* outHeight)
+ void PngChunk::decodeIHDRChunk(const DataBuf& data, uint32_t* outWidth, uint32_t* outHeight)
{
assert(data.size() >= 8);
diff --git a/src/pngchunk_int.hpp b/src/pngchunk_int.hpp
index 018eae67..66824888 100644
--- a/src/pngchunk_int.hpp
+++ b/src/pngchunk_int.hpp
@@ -68,8 +68,8 @@ namespace Exiv2 {
@param outHeight Integer pointer to be set to the height of the image.
*/
static void decodeIHDRChunk(const DataBuf& data,
- int* outWidth,
- int* outHeight);
+ uint32_t* outWidth,
+ uint32_t* outHeight);
/*!
@brief Decode PNG tEXt, zTXt, or iTXt chunk data from \em pImage passed by data buffer
diff --git a/src/rafimage.cpp b/src/rafimage.cpp
index 79678ad9..c4258510 100644
--- a/src/rafimage.cpp
+++ b/src/rafimage.cpp
@@ -51,20 +51,20 @@ namespace Exiv2 {
return "image/x-fuji-raf";
}
- int RafImage::pixelWidth() const
+ uint32_t RafImage::pixelWidth() const
{
auto widthIter = exifData_.findKey(Exiv2::ExifKey("Exif.Photo.PixelXDimension"));
if (widthIter != exifData_.end() && widthIter->count() > 0) {
- return widthIter->toInt64();
+ return widthIter->toUint32();
}
return 0;
}
- int RafImage::pixelHeight() const
+ uint32_t RafImage::pixelHeight() const
{
auto heightIter = exifData_.findKey(Exiv2::ExifKey("Exif.Photo.PixelYDimension"));
if (heightIter != exifData_.end() && heightIter->count() > 0) {
- return heightIter->toInt64();
+ return heightIter->toUint32();
}
return 0;
}
diff --git a/src/rw2image.cpp b/src/rw2image.cpp
index c1ce456f..0d56216d 100644
--- a/src/rw2image.cpp
+++ b/src/rw2image.cpp
@@ -51,22 +51,22 @@ namespace Exiv2 {
return "image/x-panasonic-rw2";
}
- int Rw2Image::pixelWidth() const
+ uint32_t Rw2Image::pixelWidth() const
{
auto imageWidth =
exifData_.findKey(Exiv2::ExifKey("Exif.PanasonicRaw.SensorWidth"));
if (imageWidth != exifData_.end() && imageWidth->count() > 0) {
- return imageWidth->toInt64();
+ return imageWidth->toUint32();
}
return 0;
}
- int Rw2Image::pixelHeight() const
+ uint32_t Rw2Image::pixelHeight() const
{
auto imageHeight =
exifData_.findKey(Exiv2::ExifKey("Exif.PanasonicRaw.SensorHeight"));
if (imageHeight != exifData_.end() && imageHeight->count() > 0) {
- return imageHeight->toInt64();
+ return imageHeight->toUint32();
}
return 0;
}
diff --git a/src/tiffimage.cpp b/src/tiffimage.cpp
index 84a6ef69..1732f665 100644
--- a/src/tiffimage.cpp
+++ b/src/tiffimage.cpp
@@ -134,7 +134,7 @@ namespace Exiv2 {
return primaryGroup_;
}
- int TiffImage::pixelWidth() const
+ uint32_t TiffImage::pixelWidth() const
{
if (pixelWidthPrimary_ != 0) {
return pixelWidthPrimary_;
@@ -143,12 +143,12 @@ namespace Exiv2 {
ExifKey key(std::string("Exif.") + primaryGroup() + std::string(".ImageWidth"));
auto imageWidth = exifData_.findKey(key);
if (imageWidth != exifData_.end() && imageWidth->count() > 0) {
- pixelWidthPrimary_ = imageWidth->toInt64();
+ pixelWidthPrimary_ = imageWidth->toUint32();
}
return pixelWidthPrimary_;
}
- int TiffImage::pixelHeight() const
+ uint32_t TiffImage::pixelHeight() const
{
if (pixelHeightPrimary_ != 0) {
return pixelHeightPrimary_;
@@ -157,7 +157,7 @@ namespace Exiv2 {
ExifKey key(std::string("Exif.") + primaryGroup() + std::string(".ImageLength"));
auto imageHeight = exifData_.findKey(key);
if (imageHeight != exifData_.end() && imageHeight->count() > 0) {
- pixelHeightPrimary_ = imageHeight->toInt64();
+ pixelHeightPrimary_ = imageHeight->toUint32();
}
return pixelHeightPrimary_;
}