tagparser/avi/bitmapinfoheader.cpp

52 lines
1.2 KiB
C++

#include "./bitmapinfoheader.h"
#include <c++utilities/io/binaryreader.h>
using namespace IoUtilities;
namespace TagParser {
/*!
* \class Media::BitmapInfoHeader
* \brief The BitmapInfoHeader class parses the BITMAPINFOHEADER structure defined by MS.
*/
/*!
* \brief Constructs a new BitmapInfoHeader.
*/
BitmapInfoHeader::BitmapInfoHeader() :
size(0),
width(0),
height(0),
planes(0),
bitCount(0),
compression(0),
imageSize(0),
horizontalResolution(0),
verticalResolution(0),
clrUsed(0),
clrImportant(0)
{}
/*!
* \brief Parses the BITMAPINFOHEADER structure using the specified \a reader.
* \remarks 0x28 byte will be read from the associated stream.
*/
void BitmapInfoHeader::parse(BinaryReader &reader)
{
size = reader.readUInt32LE();
width = reader.readUInt32LE();
height = reader.readUInt32LE();
planes = reader.readUInt16LE();
bitCount = reader.readUInt16LE();
compression = reader.readUInt32BE();
imageSize = reader.readUInt32LE();
horizontalResolution = reader.readUInt32LE();
verticalResolution = reader.readUInt32LE();
clrUsed = reader.readUInt32LE();
clrImportant = reader.readUInt32LE();
}
} // namespace Media