mirror of
https://github.com/WinampDesktop/winamp.git
synced 2024-12-24 04:34:56 +01:00
67 lines
1.3 KiB
C
67 lines
1.3 KiB
C
|
#ifndef __SKINITEM_H
|
||
|
#define __SKINITEM_H
|
||
|
|
||
|
#include <bfc/dispatch.h>
|
||
|
#include "../xml/ifc_xmlreaderparams.h"
|
||
|
|
||
|
class skin_xmlreaderparams;
|
||
|
|
||
|
class SkinItem : public Dispatchable
|
||
|
{
|
||
|
public:
|
||
|
const wchar_t *getXmlRootPath();
|
||
|
const wchar_t *getName();
|
||
|
ifc_xmlreaderparams *getParams();
|
||
|
int getSkinPartId();
|
||
|
SkinItem *getAncestor();
|
||
|
|
||
|
enum
|
||
|
{
|
||
|
SKINITEM_GETXMLROOTPATH = 0,
|
||
|
SKINITEM_GETNAME = 10,
|
||
|
SKINITEM_GETPARAMS = 20,
|
||
|
SKINITEM_GETSKINPARTID = 30,
|
||
|
SKINITEM_GETANCESTOR = 40,
|
||
|
};
|
||
|
};
|
||
|
|
||
|
inline const wchar_t *SkinItem::getXmlRootPath()
|
||
|
{
|
||
|
return _call(SKINITEM_GETXMLROOTPATH, (const wchar_t *)0);
|
||
|
}
|
||
|
|
||
|
inline const wchar_t *SkinItem::getName()
|
||
|
{
|
||
|
return _call(SKINITEM_GETNAME, (const wchar_t *)0);
|
||
|
}
|
||
|
|
||
|
inline ifc_xmlreaderparams *SkinItem::getParams()
|
||
|
{
|
||
|
return _call(SKINITEM_GETPARAMS, (ifc_xmlreaderparams *)NULL);
|
||
|
}
|
||
|
|
||
|
inline int SkinItem::getSkinPartId()
|
||
|
{
|
||
|
return _call(SKINITEM_GETSKINPARTID, (int)0);
|
||
|
}
|
||
|
|
||
|
inline SkinItem *SkinItem::getAncestor()
|
||
|
{
|
||
|
return _call(SKINITEM_GETANCESTOR, (SkinItem *)NULL);
|
||
|
}
|
||
|
|
||
|
class SkinItemI : public SkinItem
|
||
|
{
|
||
|
public:
|
||
|
virtual const wchar_t *getXmlRootPath()=0;
|
||
|
virtual const wchar_t *getName()=0;
|
||
|
virtual ifc_xmlreaderparams *getParams()=0;
|
||
|
virtual int getSkinPartId()=0;
|
||
|
virtual SkinItem *getAncestor()=0;
|
||
|
|
||
|
protected:
|
||
|
RECVS_DISPATCH;
|
||
|
};
|
||
|
|
||
|
#endif
|