aboutsummaryrefslogtreecommitdiff
path: root/Src/Wasabi/api/skin/widgets/sseeker.h
diff options
context:
space:
mode:
Diffstat (limited to 'Src/Wasabi/api/skin/widgets/sseeker.h')
-rw-r--r--Src/Wasabi/api/skin/widgets/sseeker.h56
1 files changed, 56 insertions, 0 deletions
diff --git a/Src/Wasabi/api/skin/widgets/sseeker.h b/Src/Wasabi/api/skin/widgets/sseeker.h
new file mode 100644
index 00000000..ee948059
--- /dev/null
+++ b/Src/Wasabi/api/skin/widgets/sseeker.h
@@ -0,0 +1,56 @@
+#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