mirror of
https://github.com/WinampDesktop/winamp.git
synced 2024-09-24 15:54:12 +00:00
87 lines
No EOL
1.2 KiB
C++
87 lines
No EOL
1.2 KiB
C++
#include "main.h"
|
|
#include "attributes.h"
|
|
|
|
_bool_base::_bool_base() : value(false) {}
|
|
|
|
bool _bool_base::GetBool()
|
|
{
|
|
return value;
|
|
}
|
|
|
|
void _bool_base::SetBool(bool boolValue)
|
|
{
|
|
value = boolValue;
|
|
}
|
|
|
|
intptr_t _bool_base::GetInt()
|
|
{
|
|
return value ? 1 : 0;
|
|
}
|
|
|
|
void _bool_base::SetInt(intptr_t intValue)
|
|
{
|
|
value = !!intValue;
|
|
}
|
|
|
|
_bool_base::operator intptr_t()
|
|
{
|
|
return GetInt();
|
|
}
|
|
|
|
intptr_t _bool_base::operator =(intptr_t intValue)
|
|
{
|
|
value = !!intValue;
|
|
return GetInt();
|
|
}
|
|
|
|
bool _bool_base::operator =(bool boolValue)
|
|
{
|
|
value = boolValue;
|
|
return GetBool();
|
|
}
|
|
|
|
|
|
_bool_base::operator bool()
|
|
{
|
|
return value;
|
|
}
|
|
|
|
_bool_base::operator UINT()
|
|
{
|
|
return value?1:0;
|
|
}
|
|
|
|
bool _bool_base::operator !()
|
|
{
|
|
return !value;
|
|
}
|
|
|
|
/* --------------------- */
|
|
|
|
_bool::_bool(bool defaultValue)
|
|
{
|
|
value = defaultValue;
|
|
}
|
|
|
|
#define CBCLASS _bool
|
|
START_DISPATCH;
|
|
CB(IFC_CONFIGITEM_GETBOOL, GetBool)
|
|
CB(IFC_CONFIGITEM_GETINT, GetInt)
|
|
END_DISPATCH;
|
|
#undef CBCLASS
|
|
|
|
/* --------------------- */
|
|
|
|
_mutable_bool::_mutable_bool(bool defaultValue)
|
|
{
|
|
value = defaultValue;
|
|
}
|
|
|
|
#define CBCLASS _mutable_bool
|
|
START_DISPATCH;
|
|
CB(IFC_CONFIGITEM_GETBOOL, GetBool)
|
|
CB(IFC_CONFIGITEM_GETINT, GetInt)
|
|
VCB(IFC_CONFIGITEM_SETINT, SetInt)
|
|
VCB(IFC_CONFIGITEM_SETBOOL, SetBool)
|
|
END_DISPATCH;
|
|
#undef CBCLASS |