mirror of
https://github.com/WinampDesktop/winamp.git
synced 2024-12-11 15:21:00 -05:00
65 lines
1.3 KiB
C++
65 lines
1.3 KiB
C++
#if !defined(VFWSETTING_HPP)
|
|
#define VFWSETTING_HPP
|
|
//______________________________________________________________________________
|
|
//
|
|
// VFWSetting.hpp
|
|
//
|
|
|
|
#include "FourCC.hpp"
|
|
#include <iosfwd>
|
|
|
|
namespace on2vp
|
|
{
|
|
|
|
//--------------------------------------
|
|
class VFWSetting
|
|
{
|
|
friend std::ostream& operator<<(std::ostream& os, const VFWSetting& vfws);
|
|
|
|
public:
|
|
|
|
enum Mode
|
|
{
|
|
M_Setting,
|
|
M_Config
|
|
};
|
|
|
|
enum
|
|
{
|
|
HeaderSize = 8,
|
|
Size = 16
|
|
};
|
|
|
|
VFWSetting(FourCC fcc);
|
|
~VFWSetting();
|
|
|
|
FourCC fcc() const;
|
|
Mode mode() const;
|
|
|
|
int setting() const;
|
|
int value() const;
|
|
void settingValue(int iSetting, int iValue); // Sets mode to M_Setting
|
|
|
|
long size() const;
|
|
const void* data() const;
|
|
int data(const void* pData, unsigned long ulSize);
|
|
|
|
private:
|
|
|
|
VFWSetting(const VFWSetting& vfws); // Not implemented
|
|
VFWSetting& operator=(const VFWSetting& vfws); // Not implemented
|
|
|
|
int extract_(const void* pData, unsigned long ulSize);
|
|
void update_() const;
|
|
|
|
FourCC m_fcc;
|
|
Mode m_mode;
|
|
int m_iSetting;
|
|
int m_iValue;
|
|
|
|
mutable unsigned char m_pData[Size];
|
|
};
|
|
|
|
} // namespace on2vp
|
|
|
|
#endif // VFWSETTING_HPP
|