winamp/Src/Wasabi/api/skin/widgets/wa2/xuiwa2slider.h
2024-09-24 14:54:57 +02:00

64 lines
1.4 KiB
C++

#ifndef _XUIWA2SLIDER_H
#define _XUIWA2SLIDER_H
#include <api/script/objects/guiobj.h>
#include <api/skin/widgets.h>
#include <api/syscb/callbacks/corecbi.h>
#define WA2SLIDER_PARENT GuiObjectWnd
class Wa2Slider : public WA2SLIDER_PARENT, public CoreCallbackI
{
public:
Wa2Slider();
virtual ~Wa2Slider();
virtual int setXuiParam(int xuihandle, int xmlattributeid, const wchar_t *xmlattributename, const wchar_t *value);
virtual int onInit();
virtual int onPaint(Canvas *canvas);
virtual int corecb_onVolumeChange(int newvol);
virtual int corecb_onPanChange(int newpan);
virtual int corecb_onSeeked(int newpos);
virtual int corecb_onStarted();
virtual int corecb_onStopped();
virtual void timerCallback(int id);
protected:
/*static */void CreateXMLParameters(int master_handle);
private:
int realpos;
StringW images;
SkinBitmap *imagesBitmap;
int spacing;
int action;
static XMLParamPair params[];
int xuihandle;
bool started;
enum {
ACT_NONE = 0,
ACT_VOLUME,
ACT_BALANCE,
ACT_SEEK,
};
enum {
Wa2Slider_TIMER_POS = 1,
};
enum {
WA2SLIDER_IMAGES,
WA2SLIDER_IMAGESSPACING,
WA2SLIDER_SOURCE,
WA2SLIDER_NUMPARAMS,
};
};
// -----------------------------------------------------------------------
extern const wchar_t Wa2SliderXuiObjectStr[];
extern char Wa2SliderXuiSvcName[];
class Wa2SliderXuiSvc : public XuiObjectSvc<Wa2Slider, Wa2SliderXuiObjectStr, Wa2SliderXuiSvcName> {};
#endif