add seekpointer
[enigma2.git] / lib / gui / epositiongauge.h
index 6f72fe802c1fa582178b23dc21e3098ac9a418d0..4b202098aec4f6b575acc3c480c71800d3c7aee7 100644 (file)
@@ -2,6 +2,7 @@
 #define __lib_gui_epositiongauge_h
 
 #include <lib/gui/ewidget.h>
+#include <set>
 
 typedef long long pts_t;
 
@@ -16,7 +17,14 @@ public:
        void setPosition(const pts_t &pos);
        
        void setInColor(const gRGB &color); /* foreground? */
-       void setPointer(gPixmap *pixmap, const ePoint &center);
+       void setPointer(int which, gPixmap *pixmap, const ePoint &center);
+       
+       void setInOutList(PyObject *list);
+       void setForegroundColor(const gRGB &col);
+       
+       void enableSeekPointer(int enable);
+       void setSeekPosition(const pts_t &pos);
+       
 #ifndef SWIG
 protected:
        int event(int event, void *data=0, void *data2=0);
@@ -26,11 +34,33 @@ private:
        {
                evtChangedPosition = evtUserWidget
        };
-       ePixmap *m_point_widget;
-       ePoint m_point_center;
+       ePixmap *m_point_widget, *m_seek_point_widget;
+       ePoint m_point_center, m_seek_point_center;
+       
+       pts_t m_position, m_length, m_seek_position;
+       int m_pos, m_seek_pos;
+       
+               /* TODO: this is duplicated code from lib/service/servicedvb.h */
+       struct cueEntry
+       {
+               pts_t where;
+               unsigned int what;
+               
+               bool operator < (const struct cueEntry &o) const
+               {
+                       return where < o.where;
+               }
+               cueEntry(const pts_t &where, unsigned int what) :
+                       where(where), what(what)
+               {
+               }
+       };
+       
+       std::multiset<cueEntry> m_cue_entries;
+       int scale(const pts_t &val);
        
-       pts_t m_position, m_length;
-       int m_pos;
+       int m_have_foreground_color;
+       gRGB m_foreground_color;
 #endif
 };