summaryrefslogtreecommitdiff
path: root/sh_console_osd.c
diff options
context:
space:
mode:
Diffstat (limited to 'sh_console_osd.c')
-rw-r--r--sh_console_osd.c212
1 files changed, 0 insertions, 212 deletions
diff --git a/sh_console_osd.c b/sh_console_osd.c
deleted file mode 100644
index ebb4702..0000000
--- a/sh_console_osd.c
+++ /dev/null
@@ -1,212 +0,0 @@
-/*
- * osd.c: Abstract On Screen Display layer
- *
- * See the main source file 'vdr.c' for copyright information and
- * how to reach the author.
- *
- * $Id: sh_console_osd.c,v 1.1 2004/02/01 18:22:53 LarsAC Exp $
- */
-
-#include "myosd.h"
-#include <string.h>
-//#include "device.h"
-// #include "i18n.h"
-//#include "status.h"
-
-// --- cOsdItem --------------------------------------------------------------
-
-cOsdItem::cOsdItem(eOSState State)
-{
- text = NULL;
-}
-
-cOsdItem::cOsdItem(const char *Text, eOSState State)
-{
- text = NULL;
- SetText(Text,true);
-}
-
-cOsdItem::~cOsdItem()
-{
- free(text);
-}
-
-void cOsdItem::SetText(const char *Text, bool Copy)
-{
- free(text);
- text = Copy ? strdup(Text) : (char *)Text; // text assumes ownership!
-}
-
-const char* cOsdItem::Get()
-{
- return text;
-}
-void cOsdItem::Display()
-{
- printf("%s\n", text);
-}
-
-// --- cOsdMenu --------------------------------------------------------------
-
-cOsdMenu::cOsdMenu(const char *Title, int c0, int c1, int c2, int c3, int c4)
-{
- cols[0] = c0;
- cols[1] = c1;
- cols[2] = c2;
- cols[3] = c3;
- cols[4] = c4;
- m_first = 0;
- m_current = m_marked = -1;
- subMenu = NULL;
- helpRed = helpGreen = helpYellow = helpBlue = NULL;
- status = NULL;
-}
-
-cOsdMenu::~cOsdMenu()
-{
- free(title);
- delete subMenu;
- free(status);
-}
-
-
-void cOsdMenu::SetTitle(const char *Title, bool ShowDate)
-{
- title = strdup(Title);
-}
-
-void cOsdMenu::Add(cOsdItem *Item)
-{
- m_display.push_back(Item);
-}
-
-void cOsdMenu::Display(void)
-{
- //Interface->Clear();
- printf("\n\n\n\n");
- printf("----------(start %d, current %d)--------------------\n",
- m_first, m_current);
- //Interface->SetCols(cols);
- //Interface->Title(title);
- printf(" Title: %s\n", title);
- //Interface->Help(helpRed, helpGreen, helpYellow, helpBlue);
- for(int i= m_first; i < (int) m_display.size() && i < m_first+DISPLAY_SIZE; i++)
- {
- if(i == m_current)
- {
- printf("==>");
-
- }
- else
- {
- printf(" ");
-
- }
- printf("%s\n", m_display[i]->Get());
- }
- printf("----------------------------------------------\n");
- if(hasHotkeys)
- {
- printf("%15s (r) %15s (g) %15s (y) %15s (b)\n",
- helpRed? helpRed :"" ,
- helpGreen? helpGreen :"" ,
- helpYellow? helpYellow :"" ,
- helpBlue? helpBlue :"" );
-
- }
-}
-
-int cOsdMenu::Index(cOsdItem *Item)
-{
- int pos=0;
- for(vector<cOsdItem*>::iterator iter = m_display.begin();
- iter != m_display.end(); iter++)
- {
- if((*iter) == Item)
- {
- break;
- }
- pos++;
- }
- return pos;
-}
-void cOsdMenu::SetCurrent(cOsdItem *Item)
-{
- m_current = Item ? Index(Item) : -1;
-}
-void cOsdMenu::CursorUp(void)
-{
- if(m_current >0) m_current--;
- if(m_current < m_first) m_first = m_first - PAGE_JUMP;
- Display();
-}
-void cOsdMenu::CursorDown(void)
-{
- if(m_current < (int)m_display.size()-1)
- m_current++;
- if(m_current >= m_first+DISPLAY_SIZE) m_first =m_first + PAGE_JUMP;
- Display();
-}
-
-void cOsdMenu::PageUp(void)
-{
- if(m_first >= PAGE_JUMP)
- {
- m_first -= PAGE_JUMP;
- m_current -= PAGE_JUMP;
- }
- Display();
-
-}
-void cOsdMenu::PageDown(void)
-{
- if(m_first+ PAGE_JUMP< (int)m_display.size())
- {
- m_first += PAGE_JUMP;
- m_current += PAGE_JUMP;
- if(m_current < m_first) m_current = m_first;
- if(m_current >= (int) m_display.size())
- m_current = (int) m_display.size();
- }
- Display();
-}
-
-void cOsdMenu::Clear(void)
-{
- m_first = 0;
- m_current = m_marked = -1;
- hasHotkeys = false;
- for(vector<cOsdItem*>::iterator iter = m_display.begin();
- iter != m_display.end(); iter++)
- {
- delete *iter;
- }
- m_display.clear();
-}
-
-eOSState cOsdMenu::ProcessKey(eKeys Key)
-{
-
- switch (Key) {
- case kUp|k_Repeat:
- case kUp: CursorUp(); break;
- case kDown|k_Repeat:
- case kDown: CursorDown(); break;
- case kLeft|k_Repeat:
- case kLeft: PageUp(); break;
- case kRight|k_Repeat:
- case kRight: PageDown(); break;
- case kBack: return osBack;
- default: if (m_marked < 0)
- return osUnknown;
- }
- return osContinue;
-}
-
-void cOsdMenu::SetHelp(const char *Red, const char *Green, const char *Yellow, const char *Blue)
-{
- helpRed = Red;
- helpGreen = Green;
- helpYellow = Yellow;
- helpBlue = Blue;
-}