winamp/Src/Wasabi/api/skin/widgets/sseeker.h

57 lines
1.1 KiB
C
Raw Normal View History

2024-09-24 14:54:57 +02:00
#ifndef _SSEEKER_H
#define _SSEEKER_H
#include "pslider.h"
#include <api/syscb/callbacks/corecbi.h>
#define SSEEKER_PARENT PSliderWnd
#define SSEEKER_XMLPARENT PSliderWnd
#define STOP 0
#define PLAY 1
class SSeeker : public SSEEKER_PARENT, public CoreCallbackI {
public:
SSeeker();
virtual ~SSeeker();
virtual int onInit();
virtual int setXuiParam(int _xuihandle, int attrid, const wchar_t *name, const wchar_t *val);
virtual void lock();
virtual void unlock();
virtual int scriptDivisor() { return 256; }
enum {
SSEEKER_SETINTERVAL=0,
};
protected:
/*static */void CreateXMLParameters(int master_handle);
virtual int onSetFinalPosition();
// from BaseWnd
virtual void timerCallback(int id);
// from CoreCallbackI
virtual int corecb_onSeeked(int newpos);
virtual int corecb_onStarted();
virtual int corecb_onStopped();
int status;
private:
static XMLParamPair params[];
int update_interval;
int locked;
int xuihandle;
};
extern const wchar_t seekBarXuiStr[];
extern char seekBarXuiSvcName[];
class SeekBarXuiSvc : public XuiObjectSvc<SSeeker, seekBarXuiStr, seekBarXuiSvcName> {};
#endif