diff options
author | Klaus Schmidinger <vdr@tvdr.de> | 2002-08-25 09:36:09 +0200 |
---|---|---|
committer | Klaus Schmidinger <vdr@tvdr.de> | 2002-08-25 09:36:09 +0200 |
commit | c6ed4da7a0e8d9bf5664ba2c4282e3c6cb6d7932 (patch) | |
tree | aef8dad67f4e01f6655e0e189af7af1576e038af /PLUGINS.html | |
parent | df5be87dc3aa8a94990dcc387729c551fb14a3db (diff) | |
download | vdr-c6ed4da7a0e8d9bf5664ba2c4282e3c6cb6d7932.tar.gz vdr-c6ed4da7a0e8d9bf5664ba2c4282e3c6cb6d7932.tar.bz2 |
Added cDevice::NewOsd() to allow a derived cDevice class to implement its own OSD capabilities
Diffstat (limited to 'PLUGINS.html')
-rw-r--r-- | PLUGINS.html | 43 |
1 files changed, 30 insertions, 13 deletions
diff --git a/PLUGINS.html b/PLUGINS.html index e1f73f55..12a25b24 100644 --- a/PLUGINS.html +++ b/PLUGINS.html @@ -21,18 +21,18 @@ VDR program and present itself to the user. The <i>inside</i> interface provides the plugin code access to VDR's internal data structures and allows it to hook itself into specific areas to perform special actions. <p> -<!--X1.1.4--><table width=100%><tr><td bgcolor=#0000AA> </td><td width=100%> -Important modifications introduced in version 1.1.4 are marked like this. -<!--X1.1.4--></td></tr></table> -<!--X1.1.5--><table width=100%><tr><td bgcolor=#00AA00> </td><td width=100%> +<!--X1.1.5--><table width=100%><tr><td bgcolor=#0000AA> </td><td width=100%> Important modifications introduced in version 1.1.5 are marked like this. <!--X1.1.5--></td></tr></table> -<!--X1.1.6--><table width=100%><tr><td bgcolor=#AA0000> </td><td width=100%> +<!--X1.1.6--><table width=100%><tr><td bgcolor=#00AA00> </td><td width=100%> Important modifications introduced in version 1.1.6 are marked like this. <!--X1.1.6--></td></tr></table> -<!--X1.1.7--><table width=100%><tr><td bgcolor=#FF0000> </td><td width=100%> +<!--X1.1.7--><table width=100%><tr><td bgcolor=#AA0000> </td><td width=100%> Important modifications introduced in version 1.1.7 are marked like this. <!--X1.1.7--></td></tr></table> +<!--X1.1.8--><table width=100%><tr><td bgcolor=#FF0000> </td><td width=100%> +Important modifications introduced in version 1.1.8 are marked like this. +<!--X1.1.8--></td></tr></table> <a name="Part I - The Outside Interface"><hr><center><h1>Part I - The Outside Interface</h1></center> @@ -907,7 +907,6 @@ See the file <tt>status.h</tt> for detailed information on which status monitor member functions are available in <tt>cStatus</tt>. You only need to implement the functions you actually want to use. -<!--X1.1.4--><table width=100%><tr><td bgcolor=#0000AA> </td><td width=100%> <hr><h2>Players</h2> <center><i><b>Play it again, Sam!</b></i></center><p> @@ -958,7 +957,7 @@ stream. There are no prerequisites regarding the length or alignment of an individual block of data. The sum of all blocks must simply result in the desired video data stream, and it must be delivered fast enough so that the DVB device doesn't run out of data. -<!--X1.1.7--><table width=100%><tr><td bgcolor=#FF0000> </td><td width=100%> +<!--X1.1.7--><table width=100%><tr><td bgcolor=#AA0000> </td><td width=100%> To avoid busy loops the player should call its member function <p><table><tr><td bgcolor=#F0F0F0><pre><br> @@ -1065,9 +1064,8 @@ Of course, these are only suggestions which should make it easier for VDR users enjoy additional players, since they will be able to control them with actions that they already know. If you absolutely want to do things differently, just go ahead - it's your show... -<!--X1.1.4--></td></tr></table> -<!--X1.1.6--><table width=100%><tr><td bgcolor=#AA0000> </td><td width=100%> +<!--X1.1.6--><table width=100%><tr><td bgcolor=#00AA00> </td><td width=100%> <hr><h2>Receivers</h2> <center><i><b>Tapping into the stream...</b></i></center><p> @@ -1123,7 +1121,7 @@ If the <tt>cReceiver</tt> isn't needed any more, it may simply be <i>deleted</i> and will automatically detach itself from the <tt>cDevice</tt>. <!--X1.1.6--></td></tr></table> -<!--X1.1.5--><table width=100%><tr><td bgcolor=#00AA00> </td><td width=100%> +<!--X1.1.5--><table width=100%><tr><td bgcolor=#0000AA> </td><td width=100%> <hr><h2>The On Screen Display</h2> <center><i><b>Express yourself</b></i></center><p> @@ -1155,7 +1153,7 @@ of these functions, and VDR/osd.c to see how VDR opens the OSD and sets up its windows and color depths). <!--X1.1.5--></td></tr></table> -<!--X1.1.6--><table width=100%><tr><td bgcolor=#AA0000> </td><td width=100%> +<!--X1.1.6--><table width=100%><tr><td bgcolor=#00AA00> </td><td width=100%> <hr><h2>Devices</h2> <center><i><b>Expanding the possibilities</b></i></center><p> @@ -1228,7 +1226,7 @@ to indicate this to VDR. <p> The functions to implement replaying capabilites are -<!--X1.1.7--><table width=100%><tr><td bgcolor=#FF0000> </td><td width=100%> +<!--X1.1.7--><table width=100%><tr><td bgcolor=#AA0000> </td><td width=100%> <p><table><tr><td bgcolor=#F0F0F0><pre><br> virtual bool HasDecoder(void) const; virtual bool SetPlayMode(ePlayMode PlayMode); @@ -1252,6 +1250,25 @@ virtual void SetVideoFormat(bool VideoFormat16_9); virtual void SetVolumeDevice(int Volume); </pre></td></tr></table><p> +<!--X1.1.8--><table width=100%><tr><td bgcolor=#FF0000> </td><td width=100%> +<p> +<b>On Screen Display</b> +<p> +If your device provides On Screen Display (OSD) capabilities (which every device +that is supposed to be used as a primary device should do), it can implement +the function + +<p><table><tr><td bgcolor=#F0F0F0><pre><br> +virtual cOsdBase *NewOsd(int x, int y); +</pre></td></tr></table><p> + +which must return a newly created object of a derived cOsdBase class that +implements the functions necessary to display OSD information on your device. +The caller of this function will delete the object as soon as it is no longer +needed. +<!--X1.1.8--></td></tr></table> + +<p> <b>Initializing new devices</b> <p> A derived cDevice class shall implement a static function |