Convert type of pixelHeight/pixelWidth to platform-independent uint32_t.

This commit is contained in:
Kevin Backhouse 2022-02-18 22:17:32 +00:00
parent 256365830a
commit 90aa007188
No known key found for this signature in database
GPG Key ID: 9DD01852EE40366E
23 changed files with 71 additions and 65 deletions

View File

@ -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};

View File

@ -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

View File

@ -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

View File

@ -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.

View File

@ -218,11 +218,17 @@ namespace Exiv2 {
*/
virtual std::string toString(long n) const =0;
/*!
@brief Return the <EM>n</EM>-th component of the value converted to long.
@brief Return the <EM>n</EM>-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 <EM>n</EM>-th component.
*/
virtual int64_t toInt64(long n =0) const =0;
/*!
@brief Return the <EM>n</EM>-th component of the value converted to uint32_t.
*/
uint32_t toUint32(long n =0) const {
return static_cast<uint32_t>(toInt64(n));
}
/*!
@brief Return the <EM>n</EM>-th component of the value converted to float.
The return value is -1 if the value is not set and the behaviour

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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);

View File

@ -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;
}

View File

@ -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;
}

View File

@ -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_;
}

View File

@ -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;
}

View File

@ -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;
}

View File

@ -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());

View File

@ -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);

View File

@ -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

View File

@ -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;
}

View File

@ -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;
}

View File

@ -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_;
}