Files
Work/avifile/IDXCHNK.HPP
2024-08-07 09:12:07 -04:00

117 lines
2.1 KiB
C++

#ifndef _AVIFILE_INDEXCHUNK_HPP_
#define _AVIFILE_INDEXCHUNK_HPP_
#ifndef _COMMON_FILE_HPP_
#include <common/file.hpp>
#endif
#ifndef _COMMON_VFW_HPP_
#include <common/vfw.hpp>
#endif
class IndexChunk : private AVIINDEXENTRY
{
public:
IndexChunk(void);
IndexChunk(const IndexChunk &someIndexChunk);
virtual ~IndexChunk();
bool read(File &inFile);
IndexChunk &operator=(const IndexChunk &someIndexChunk);
bool operator==(const IndexChunk &someIndexChunk);
DWORD indexID(void)const;
DWORD flags(void)const;
DWORD offset(void)const;
DWORD length(void)const;
private:
void indexID(DWORD indexID);
void flags(DWORD flags);
void offset(DWORD offset);
void length(DWORD length);
};
inline
IndexChunk::IndexChunk(void)
{
AVIINDEXENTRY::ckid=0;
AVIINDEXENTRY::dwFlags=0;
AVIINDEXENTRY::dwChunkOffset=0;
AVIINDEXENTRY::dwChunkLength=0;
}
inline
IndexChunk::IndexChunk(const IndexChunk &someIndexChunk)
{
*this=someIndexChunk;
}
inline
IndexChunk::~IndexChunk()
{
}
inline
IndexChunk &IndexChunk::operator=(const IndexChunk &someIndexChunk)
{
indexID(someIndexChunk.indexID());
flags(someIndexChunk.flags());
offset(someIndexChunk.offset());
length(someIndexChunk.length());
return *this;
}
inline
bool IndexChunk::operator==(const IndexChunk &someIndexChunk)
{
return (indexID()==someIndexChunk.indexID()&&
flags()==someIndexChunk.flags()&&
offset()==someIndexChunk.offset()&&
length()==someIndexChunk.length());
}
inline
DWORD IndexChunk::indexID(void)const
{
return AVIINDEXENTRY::ckid;
}
inline
void IndexChunk::indexID(DWORD indexID)
{
AVIINDEXENTRY::ckid=indexID;
}
inline
DWORD IndexChunk::flags(void)const
{
return AVIINDEXENTRY::dwFlags;
}
inline
void IndexChunk::flags(DWORD flags)
{
AVIINDEXENTRY::dwFlags=0;
}
inline
DWORD IndexChunk::offset(void)const
{
return AVIINDEXENTRY::dwChunkOffset;
}
inline
void IndexChunk::offset(DWORD offset)
{
AVIINDEXENTRY::dwChunkOffset=offset;
}
inline
DWORD IndexChunk::length(void)const
{
return AVIINDEXENTRY::dwChunkLength;
}
inline
void IndexChunk::length(DWORD length)
{
AVIINDEXENTRY::dwChunkLength;
}
#endif