summaryrefslogtreecommitdiff
path: root/coreengine/viewlist.h
diff options
context:
space:
mode:
Diffstat (limited to 'coreengine/viewlist.h')
-rw-r--r--coreengine/viewlist.h44
1 files changed, 42 insertions, 2 deletions
diff --git a/coreengine/viewlist.h b/coreengine/viewlist.h
index 6c14d03..b72123e 100644
--- a/coreengine/viewlist.h
+++ b/coreengine/viewlist.h
@@ -6,7 +6,7 @@
#include "listelements.h"
#include "area.h"
-class cViewList {
+class cViewList : public cFadable, public cShiftable {
protected:
int plugId;
int plugMenuId;
@@ -19,7 +19,10 @@ protected:
cViewElement *listElement;
cViewElement *currentElement;
cListElement **listElements;
+ cAnimation *fader;
+ cAnimation *shifter;
virtual void Prepare(int start, int step) {};
+ cPoint ShiftStart(cRect &shiftbox);
public:
cViewList(void);
virtual ~cViewList(void);
@@ -40,7 +43,22 @@ public:
void Draw(eMenuCategory menuCat);
void Clear(void);
virtual void Close(void);
- void SetTransparency(int transparency);
+ //Fadable
+ bool Detached(void) { return false; };
+ int Delay(void) { return 0; };
+ int FadeTime(void) { return attribs->FadeTime(); };
+ void SetTransparency(int transparency, bool force = false);
+ //Shiftable
+ int ShiftTime(void) { return attribs->ShiftTime(); };
+ int ShiftMode(void) { return attribs->ShiftMode(); };
+ void SetPosition(cPoint &position, cPoint &reference, bool force = false);
+ void SetStartShifting(void) { };
+ void SetEndShifting(void) { };
+ void RegisterAnimation(void);
+ void UnregisterAnimation(void);
+ cRect CoveredArea(void);
+ void StartAnimation(void);
+ void Flush(bool animFlush);
void Debug(void);
};
@@ -154,4 +172,26 @@ public:
void SetCurrentTrack(int index);
void Draw(void);
};
+
+class cViewListChannelList : public cViewList {
+private:
+ cLeChannelList **listChannelList;
+protected:
+ void Prepare(int start, int step);
+public:
+ cViewListChannelList(void);
+ virtual ~cViewListChannelList(void);
+ void Set(const cChannel *channel, int index, bool current);
+};
+
+class cViewListGroupList : public cViewList {
+private:
+ cLeGroupList **listGroupList;
+protected:
+ void Prepare(int start, int step);
+public:
+ cViewListGroupList(void);
+ virtual ~cViewListGroupList(void);
+ void Set(const char *group, int numChannels, int index, bool current);
+};
#endif //__VIEWLIST_H \ No newline at end of file