#ifndef TIMAGEINFO_H
#define TIMAGEINFO_H
#undef DVAPI
#undef DVVAR
#ifdef TNZCORE_EXPORTS
#define DVAPI DV_EXPORT_API
#define DVVAR DV_EXPORT_VAR
#else
#define DVAPI DV_IMPORT_API
#define DVVAR DV_IMPORT_VAR
#endif
//================================================
// Forward declarations
class TPropertyGroup;
//================================================
//*************************************************************************
// TImageInfo class
//*************************************************************************
/*!
\brief Stores description data about a generic image.
\todo Stores useless/redundant/improper data which should be moved or
removed.
*/
class DVAPI TImageInfo
{
public:
// NOTE: Fields ordered by type size - minimizes padding
double m_dpix, //!< Horizontal image dpi.
m_dpiy, //!< Vertical image dpi.
m_frameRate; //!< Movie frame rate. \deprecated Should not be here. An image has \a no frame rate!
TPropertyGroup *m_properties; //!< Format-specific image data.
int m_lx, //!< Image width.
m_ly, //!< Image height.
m_x0, //!< Image contents rect's left coordinate.
m_y0, //!< Image contents rect's bottom coordinate.
m_x1, //!< Image contents rect's right coordinate.
m_y1, //!< Image contents rect's top coordinate.
m_samplePerPixel, //!< Number of samples (channels) per pixel.
m_bitsPerSample, //!< Number of bits per sample (channel).
m_fileSize; //!< Total size (in bytes) of the image file. \deprecated Possibly useless.
bool m_valid; //!< \a Deprecated. \deprecated Just... wrong.
public:
TImageInfo()
: m_dpix(0), m_dpiy(0), m_frameRate(12), m_properties(0), m_lx(0), m_ly(0), m_x0(0), m_y0(0), m_x1(-1), m_y1(-1), m_samplePerPixel(0), m_bitsPerSample(8), m_fileSize(0), m_valid(false) {}
TImageInfo(int lx, int ly)
: m_dpix(0), m_dpiy(0), m_frameRate(12), m_properties(0), m_lx(lx), m_ly(ly), m_x0(0), m_y0(0), m_x1(-1), m_y1(-1), m_samplePerPixel(0), m_bitsPerSample(8), m_fileSize(0), m_valid(false) {}
};
#endif // TIMAGEINFO_H