cDvbOsd Class Reference

Inheritance diagram for cDvbOsd:

Inheritance graph
[legend]
Collaboration diagram for cDvbOsd:

Collaboration graph
[legend]

List of all members.

Public Member Functions

 cDvbOsd (int Left, int Top, int OsdDev, uint Level)
virtual ~cDvbOsd ()
virtual eOsdError CanHandleAreas (const tArea *Areas, int NumAreas)
virtual eOsdError SetAreas (const tArea *Areas, int NumAreas)
virtual void Flush (void)
 Actually commits all data to the OSD hardware.

Protected Member Functions

virtual void SetActive (bool On)

Private Member Functions

void Cmd (OSD_Command cmd, int color=0, int x0=0, int y0=0, int x1=0, int y1=0, const void *data=NULL)

Private Attributes

int osdDev
int osdMem
bool shown


Detailed Description

Definition at line 23 of file dvbosd.c.


Constructor & Destructor Documentation

cDvbOsd::cDvbOsd ( int  Left,
int  Top,
int  OsdDev,
uint  Level 
)

Definition at line 39 of file dvbosd.c.

References esyslog, MAXOSDMEMORY, osdDev, osdMem, and shown.

cDvbOsd::~cDvbOsd (  )  [virtual]

Definition at line 58 of file dvbosd.c.

References SetActive().

Here is the call graph for this function:


Member Function Documentation

void cDvbOsd::Cmd ( OSD_Command  cmd,
int  color = 0,
int  x0 = 0,
int  y0 = 0,
int  x1 = 0,
int  y1 = 0,
const void *  data = NULL 
) [private]

Definition at line 123 of file dvbosd.c.

References osdDev.

Referenced by Flush(), SetActive(), and SetAreas().

void cDvbOsd::SetActive ( bool  On  )  [protected, virtual]

Sets this OSD to be the active one. A derived class must call cOsd::SetActive(On).

Reimplemented from cOsd.

Definition at line 63 of file dvbosd.c.

References cOsd::Active(), Cmd(), Flush(), cOsd::GetBitmap(), MAXNUMWINDOWS, cOsd::SetActive(), and shown.

Referenced by ~cDvbOsd().

Here is the call graph for this function:

eOsdError cDvbOsd::CanHandleAreas ( const tArea Areas,
int  NumAreas 
) [virtual]

Checks whether the OSD can display the given set of sub-areas. The return value indicates whether a call to SetAreas() with this set of areas will succeed. CanHandleAreas() may be called with an OSD that is already in use with other areas and will not interfere with the current operation of the OSD. A derived class must first call the base class CanHandleAreas() to check the basic conditions, like not overlapping etc.

Reimplemented from cOsd.

Definition at line 88 of file dvbosd.c.

References tArea::bpp, cOsd::CanHandleAreas(), tArea::Height(), cOsd::Height(), MAXNUMWINDOWS, oeBppNotSupported, oeOk, oeOutOfMemory, oeTooManyAreas, oeWrongAlignment, oeWrongAreaSize, osdMem, tArea::Width(), and cOsd::Width().

Here is the call graph for this function:

eOsdError cDvbOsd::SetAreas ( const tArea Areas,
int  NumAreas 
) [virtual]

Sets the sub-areas to the given areas. The return value indicates whether the operation was successful. If an error is reported, nothing will have changed and the previous OSD (if any) will still be displayed as before. If the OSD has been divided into several sub-areas, all areas that are part of the rectangle that surrounds a given drawing operation will be drawn into, with the proper offsets. A new call overwrites any previous settings

Reimplemented from cOsd.

Definition at line 110 of file dvbosd.c.

References Cmd(), cOsd::GetBitmap(), cOsd::SetAreas(), and shown.

Here is the call graph for this function:

void cDvbOsd::Flush ( void   )  [virtual]

Actually commits all data to the OSD hardware.

Reimplemented from cOsd.

Definition at line 138 of file dvbosd.c.

References cOsd::Active(), cPalette::Bpp(), cBitmap::Clean(), Cmd(), cPalette::Colors(), cBitmap::Data(), cBitmap::Dirty(), cOsd::GetBitmap(), cOsd::Height(), cBitmap::Height(), cOsd::Left(), shown, cOsd::Top(), cOsd::Width(), cBitmap::Width(), cBitmap::X0(), and cBitmap::Y0().

Referenced by SetActive().

Here is the call graph for this function:


Member Data Documentation

int cDvbOsd::osdDev [private]

Definition at line 25 of file dvbosd.c.

Referenced by cDvbOsd(), and Cmd().

int cDvbOsd::osdMem [private]

Definition at line 26 of file dvbosd.c.

Referenced by CanHandleAreas(), and cDvbOsd().

bool cDvbOsd::shown [private]

Definition at line 27 of file dvbosd.c.

Referenced by cDvbOsd(), Flush(), SetActive(), and SetAreas().


The documentation for this class was generated from the following file:

Generated on Tue Jan 13 14:28:30 2009 for VDR by  doxygen 1.5.6