mirror of
https://github.com/WinampDesktop/winamp.git
synced 2024-12-19 22:25:55 +01:00
90 lines
2.3 KiB
C++
90 lines
2.3 KiB
C++
#ifndef _SVCWND_H
|
|
#define _SVCWND_H
|
|
|
|
#include "script.h"
|
|
#include "../../common/script/scriptobj.h"
|
|
#include "guiobj.h"
|
|
#include "../../bfc/svc_enum.h"
|
|
|
|
class SMap;
|
|
class SRegion;
|
|
class Container;
|
|
class Layout;
|
|
|
|
// {8776F715-503A-41f9-BD63-FB148AD05765}
|
|
static const GUID svcWndGuid =
|
|
{ 0x8776f715, 0x503a, 0x41f9, { 0xbd, 0x63, 0xfb, 0x14, 0x8a, 0xd0, 0x57, 0x65 } };
|
|
|
|
#define SVCWND_PARENT GuiObjectWnd
|
|
|
|
class SvcWndScriptController : public GuiObjectScriptController {
|
|
public:
|
|
|
|
virtual const wchar_t *getClassName();
|
|
virtual const wchar_t *getAncestorClassName();
|
|
virtual ScriptObjectController *getAncestorController() { return guiController; }
|
|
virtual int getNumFunctions();
|
|
virtual const function_descriptor_struct *getExportedFunctions();
|
|
virtual GUID getClassGuid();
|
|
virtual ScriptObject *instantiate();
|
|
virtual void destroy(ScriptObject *o);
|
|
virtual void *encapsulate(ScriptObject *o);
|
|
virtual void deencapsulate(void *o);
|
|
|
|
private:
|
|
|
|
static function_descriptor_struct exportedFunction[];
|
|
|
|
};
|
|
|
|
extern SvcWndScriptController *svcWndController;
|
|
|
|
class SvcWnd : public SVCWND_PARENT {
|
|
public:
|
|
SvcWnd();
|
|
virtual ~SvcWnd();
|
|
|
|
virtual int onLeftButtonDblClk(int x, int y);
|
|
virtual int onResize();
|
|
virtual void onSetVisible(int v);
|
|
virtual int onInit();
|
|
|
|
virtual int getPreferences(int what);
|
|
virtual int handleRatio();
|
|
|
|
void setGUID(GUID g);
|
|
GUID getGUID(void);
|
|
|
|
virtual int childNotify(ifc_window *child, int msg, intptr_t param1, intptr_t param2);
|
|
virtual int setXuiParam(int _xuihandle, int xmlattributeid, const wchar_t *xmlattributename, const wchar_t *value);
|
|
virtual int onUnknownXuiParam(const wchar_t *param, const wchar_t *value);
|
|
|
|
// VCPU
|
|
static scriptVar script_vcpu_getGUID(SCRIPT_FUNCTION_PARAMS, ScriptObject *o);
|
|
static scriptVar script_vcpu_getWac(SCRIPT_FUNCTION_PARAMS, ScriptObject *o);
|
|
PtrList<StringW> params;
|
|
// End VCPU
|
|
|
|
protected:
|
|
|
|
enum {
|
|
SVCWND_GUID=0,
|
|
SVCWND_DBLCLKACTION,
|
|
};
|
|
|
|
private:
|
|
GUID myGUID;
|
|
ifc_window *svcwnd;
|
|
svc_windowCreate *svc;
|
|
int forwarded;
|
|
StringW dblClickAction;
|
|
int xuihandle;
|
|
};
|
|
|
|
extern char svcWndXuiObjectStr[];
|
|
extern char svcWndXuiSvcName[];
|
|
class SvcWndXuiSvc : public XuiObjectSvc<SvcWnd, svcWndXuiObjectStr, svcWndXuiSvcName> {};
|
|
|
|
|
|
#endif
|