diff options
Diffstat (limited to 'PLUGINS/SRC/osddemo/osddemo.c')
-rw-r--r-- | PLUGINS/SRC/osddemo/osddemo.c | 153 |
1 files changed, 0 insertions, 153 deletions
diff --git a/PLUGINS/SRC/osddemo/osddemo.c b/PLUGINS/SRC/osddemo/osddemo.c deleted file mode 100644 index f806178..0000000 --- a/PLUGINS/SRC/osddemo/osddemo.c +++ /dev/null @@ -1,153 +0,0 @@ -/* - * osddemo.c: A plugin for the Video Disk Recorder - * - * See the README file for copyright information and how to reach the author. - * - * $Id: osddemo.c 1.1 2002/11/24 10:32:59 kls Exp $ - */ - -#include <vdr/plugin.h> - -static const char *VERSION = "0.0.1"; -static const char *DESCRIPTION = "Demo of arbitrary OSD setup"; -static const char *MAINMENUENTRY = "Osd Demo"; - -// --- cLineGame ------------------------------------------------------------- - -class cLineGame : public cOsdObject { -private: - cOsdBase *osd; - int x; - int y; - eDvbColor color; -public: - cLineGame(void); - ~cLineGame(); - virtual void Show(void); - virtual eOSState ProcessKey(eKeys Key); - }; - -cLineGame::cLineGame(void) -{ - osd = NULL; - x = y = 50; - color = clrRed; -} - -cLineGame::~cLineGame() -{ - delete osd; -} - -void cLineGame::Show(void) -{ - osd = cOsd::OpenRaw(100, 50); - if (osd) { - osd->Create(0, 0, 100, 200, 4); - osd->AddColor(clrBackground); - osd->AddColor(clrRed); - osd->AddColor(clrGreen); - osd->AddColor(clrYellow); - osd->AddColor(clrBlue); - osd->Clear(); - osd->Flush(); - } -} - -eOSState cLineGame::ProcessKey(eKeys Key) -{ - eOSState state = cOsdObject::ProcessKey(Key); - if (state == osUnknown) { - switch (Key & ~k_Repeat) { - case kUp: if (y > 0) y--; break; - case kDown: if (y < 196) y++; break; - case kLeft: if (x > 0) x--; break; - case kRight: if (x < 96) x++; break; - case kRed: color = clrRed; break; - case kGreen: color = clrGreen; break; - case kYellow: color = clrYellow; break; - case kBlue: color = clrBlue; break; - case kOk: return osEnd; - default: return state; - } - osd->Fill(x, y, x + 3, y + 3, color); - osd->Flush(); - state = osContinue; - } - return state; -} - -// --- cPluginOsddemo -------------------------------------------------------- - -class cPluginOsddemo : public cPlugin { -private: - // Add any member variables or functions you may need here. -public: - cPluginOsddemo(void); - virtual ~cPluginOsddemo(); - virtual const char *Version(void) { return VERSION; } - virtual const char *Description(void) { return DESCRIPTION; } - virtual const char *CommandLineHelp(void); - virtual bool ProcessArgs(int argc, char *argv[]); - virtual bool Start(void); - virtual void Housekeeping(void); - virtual const char *MainMenuEntry(void) { return MAINMENUENTRY; } - virtual cOsdObject *MainMenuAction(void); - virtual cMenuSetupPage *SetupMenu(void); - virtual bool SetupParse(const char *Name, const char *Value); - }; - -cPluginOsddemo::cPluginOsddemo(void) -{ - // Initialize any member variables here. - // DON'T DO ANYTHING ELSE THAT MAY HAVE SIDE EFFECTS, REQUIRE GLOBAL - // VDR OBJECTS TO EXIST OR PRODUCE ANY OUTPUT! -} - -cPluginOsddemo::~cPluginOsddemo() -{ - // Clean up after yourself! -} - -const char *cPluginOsddemo::CommandLineHelp(void) -{ - // Return a string that describes all known command line options. - return NULL; -} - -bool cPluginOsddemo::ProcessArgs(int argc, char *argv[]) -{ - // Implement command line argument processing here if applicable. - return true; -} - -bool cPluginOsddemo::Start(void) -{ - // Start any background activities the plugin shall perform. - return true; -} - -void cPluginOsddemo::Housekeeping(void) -{ - // Perform any cleanup or other regular tasks. -} - -cOsdObject *cPluginOsddemo::MainMenuAction(void) -{ - // Perform the action when selected from the main VDR menu. - return new cLineGame; -} - -cMenuSetupPage *cPluginOsddemo::SetupMenu(void) -{ - // Return a setup menu in case the plugin supports one. - return NULL; -} - -bool cPluginOsddemo::SetupParse(const char *Name, const char *Value) -{ - // Parse your own setup parameters and store their values. - return false; -} - -VDRPLUGINCREATOR(cPluginOsddemo); // Don't touch this! |