Files
Work/avifile/MAINHDR.CPP
2024-08-07 09:12:07 -04:00

118 lines
5.5 KiB
C++

#include <avifile/mainhdr.hpp>
AVIMainHeader &AVIMainHeader::operator=(const AVIMainHeader &someAVIMainHeader)
{
microSecondsPerFrame(someAVIMainHeader.microSecondsPerFrame());
maxBytesPerSecond(someAVIMainHeader.maxBytesPerSecond());
granularity(someAVIMainHeader.granularity());
flags(someAVIMainHeader.flags());
totalFrames(someAVIMainHeader.totalFrames());
initialFrames(someAVIMainHeader.initialFrames());
streams(someAVIMainHeader.streams());
suggestedBufferSize(someAVIMainHeader.suggestedBufferSize());
width(someAVIMainHeader.width());
height(someAVIMainHeader.height());
return *this;
}
WORD AVIMainHeader::operator==(const AVIMainHeader &someAVIMainHeader)const
{
return (microSecondsPerFrame()==someAVIMainHeader.microSecondsPerFrame()&&
maxBytesPerSecond()==someAVIMainHeader.maxBytesPerSecond()&&
granularity()==someAVIMainHeader.granularity()&&
flags()==someAVIMainHeader.flags()&&
totalFrames()==someAVIMainHeader.totalFrames()&&
initialFrames()==someAVIMainHeader.initialFrames()&&
streams()==someAVIMainHeader.streams()&&
suggestedBufferSize()==someAVIMainHeader.suggestedBufferSize()&&
width()==someAVIMainHeader.width()&&
height()==someAVIMainHeader.height());
}
bool AVIMainHeader::read(File &inFile)
{
String aviLiteral("avih");
String aviHeader;
DWORD sizeHeader;
aviHeader.reserve(aviLiteral.length()+1);
inFile.read(aviHeader,aviLiteral.length());
if(!(aviLiteral==aviHeader))return FALSE;
inFile.read(sizeHeader);
inFile.read(MainAVIHeader::dwMicroSecPerFrame);
inFile.read(MainAVIHeader::dwMaxBytesPerSec);
inFile.read(MainAVIHeader::dwPaddingGranularity);
inFile.read(MainAVIHeader::dwFlags);
inFile.read(MainAVIHeader::dwTotalFrames);
inFile.read(MainAVIHeader::dwInitialFrames);
inFile.read(MainAVIHeader::dwStreams);
inFile.read(MainAVIHeader::dwSuggestedBufferSize);
inFile.read(MainAVIHeader::dwWidth);
inFile.read(MainAVIHeader::dwHeight);
inFile.read(MainAVIHeader::dwReserved[0]);
inFile.read(MainAVIHeader::dwReserved[1]);
inFile.read(MainAVIHeader::dwReserved[2]);
inFile.read(MainAVIHeader::dwReserved[3]);
::OutputDebugString(toString()+String("\n"));
return true;
}
bool AVIMainHeader::write(File &outFile)
{
outFile.write("avih");
DWORD sizeHeader;
sizeHeader=sizeof(MainAVIHeader::dwMicroSecPerFrame)+
sizeof(MainAVIHeader::dwMaxBytesPerSec)+
sizeof(MainAVIHeader::dwPaddingGranularity)+
sizeof(MainAVIHeader::dwFlags)+
sizeof(MainAVIHeader::dwTotalFrames)+
sizeof(MainAVIHeader::dwInitialFrames)+
sizeof(MainAVIHeader::dwStreams)+
sizeof(MainAVIHeader::dwSuggestedBufferSize)+
sizeof(MainAVIHeader::dwWidth)+
sizeof(MainAVIHeader::dwHeight)+
sizeof(MainAVIHeader::dwReserved[0])+
sizeof(MainAVIHeader::dwReserved[1])+
sizeof(MainAVIHeader::dwReserved[2])+
sizeof(MainAVIHeader::dwReserved[3]);
outFile.write(sizeHeader);
outFile.write(MainAVIHeader::dwMicroSecPerFrame);
outFile.write(MainAVIHeader::dwMaxBytesPerSec);
outFile.write(MainAVIHeader::dwPaddingGranularity);
outFile.write(MainAVIHeader::dwFlags);
outFile.write(MainAVIHeader::dwTotalFrames);
outFile.write(MainAVIHeader::dwInitialFrames);
outFile.write(MainAVIHeader::dwStreams);
outFile.write(MainAVIHeader::dwSuggestedBufferSize);
outFile.write(MainAVIHeader::dwWidth);
outFile.write(MainAVIHeader::dwHeight);
outFile.write(MainAVIHeader::dwReserved[0]);
outFile.write(MainAVIHeader::dwReserved[1]);
outFile.write(MainAVIHeader::dwReserved[2]);
outFile.write(MainAVIHeader::dwReserved[3]);
::OutputDebugString(toString()+String("\n"));
return true;
}
String AVIMainHeader::toString(void)const
{
String str;
str+=String("[AVIMainHeader::toString]MainAVIHeader::dwMicroSecPerFrame=")+String().fromInt(MainAVIHeader::dwMicroSecPerFrame)+String("\n");
str+=String("[AVIMainHeader::toString]MainAVIHeader::dwMaxBytesPerSec=")+String().fromInt(MainAVIHeader::dwMaxBytesPerSec)+String("\n");
str+=String("[AVIMainHeader::toString]MainAVIHeader::dwPaddingGranularity=")+String().fromInt(MainAVIHeader::dwPaddingGranularity)+String("\n");
str+=String("[AVIMainHeader::toString]MainAVIHeader::dwFlags=")+String().fromInt(MainAVIHeader::dwFlags)+String("\n");
str+=String("[AVIMainHeader::toString]MainAVIHeader::dwTotalFrames=")+String().fromInt(MainAVIHeader::dwTotalFrames)+String("\n");
str+=String("[AVIMainHeader::toString]MainAVIHeader::dwInitialFrames=")+String().fromInt(MainAVIHeader::dwInitialFrames)+String("\n");
str+=String("[AVIMainHeader::toString]MainAVIHeader::dwStreams=")+String().fromInt(MainAVIHeader::dwStreams)+String("\n");
str+=String("[AVIMainHeader::toString]MainAVIHeader::dwSuggestedBufferSize=")+String().fromInt(MainAVIHeader::dwSuggestedBufferSize)+String("\n");
str+=String("[AVIMainHeader::toString]MainAVIHeader::dwWidth=")+String().fromInt(MainAVIHeader::dwWidth)+String("\n");
str+=String("[AVIMainHeader::toString]MainAVIHeader::dwHeight=")+String().fromInt(MainAVIHeader::dwHeight)+String("\n");
str+=String("[AVIMainHeader::toString]MainAVIHeader::dwReserved[0]=")+String().fromInt(MainAVIHeader::dwReserved[0])+String("\n");
str+=String("[AVIMainHeader::toString]MainAVIHeader::dwReserved[1]=")+String().fromInt(MainAVIHeader::dwReserved[1])+String("\n");
str+=String("[AVIMainHeader::toString]MainAVIHeader::dwReserved[2]=")+String().fromInt(MainAVIHeader::dwReserved[2])+String("\n");
str+=String("[AVIMainHeader::toString]MainAVIHeader::dwReserved[3]=")+String().fromInt(MainAVIHeader::dwReserved[3])+String("\n");
return str;
}