vdr-plugin-softhddevice-drm-gles 1.6.4-d0291bb
cSoftOsdProvider Class Reference

Plugin OSD provider. More...

#include <softhdosdprovider.h>

Public Member Functions

 cSoftOsdProvider (cSoftHdDevice *)
 Create a new OSD provider.
 
virtual ~cSoftOsdProvider ()
 Delete the OSD provider and stop the OpenGL thread if running.
 
virtual cOsd * CreateOsd (int, int, uint)
 Create a new OSD.
 
virtual bool ProvidesTrueColor (void)
 
void RequestStopOpenGlThread (void)
 Initiate a stop of the OpenGL thread without waiting.
 
void StopOpenGlThread (void)
 Stop the OpenGL thread and cancel it if necessary.
 
bool LockOpenGlThread (void)
 Lock the OpenGL thread.
 
void UnlockOpenGlThread (void)
 Unlock the OpenGL thread.
 
const cImageGetImageData (int ImageHandle)
 Get stored image data.
 
void OsdSizeChanged (void)
 Stop the OpenGL thread, if the osd size changed and update the size.
 

Protected Member Functions

virtual int StoreImageData (const cImage &Image)
 Store image data.
 
virtual void DropImageData (int ImageHandle)
 Drop stored image data.
 

Private Member Functions

bool StartOpenGlThread (void)
 Start the OpenGL thread.
 

Private Attributes

cOsd * m_pOsd
 pointer to single OSD (currently not really used in cSoftOsdProvider?)
 
cSoftHdDevicem_pDevice
 pointer to the cSoftHdDevice object
 
std::shared_ptr< cOglThreadm_pOglThread
 OpenGL OSD thread.
 

Detailed Description

Plugin OSD provider.

Definition at line 33 of file softhdosdprovider.h.

Constructor & Destructor Documentation

◆ cSoftOsdProvider()

cSoftOsdProvider::cSoftOsdProvider ( cSoftHdDevice device)

Create a new OSD provider.

Definition at line 34 of file softhdosdprovider.cpp.

References L_OSD, and LOGDEBUG2.

◆ ~cSoftOsdProvider()

cSoftOsdProvider::~cSoftOsdProvider ( )
virtual

Delete the OSD provider and stop the OpenGL thread if running.

Definition at line 44 of file softhdosdprovider.cpp.

References cSoftHdDevice::IsOsdProviderSet(), L_OSD, LOGDEBUG2, m_pDevice, cSoftHdDevice::OglOsdIsDisabled(), cSoftHdDevice::ResetOsdProvider(), and StopOpenGlThread().

Member Function Documentation

◆ CreateOsd()

cOsd * cSoftOsdProvider::CreateOsd ( int  left,
int  top,
uint  level 
)
virtual

Create a new OSD.

Create either a hardware accelerated (cOglOsd), software based (cSoftOsd) or dummy OSD (if detached)

Parameters
leftx-coordinate of OSD
topy-coordinate of OSD
levellayer level of OSD

Definition at line 66 of file softhdosdprovider.cpp.

References cSoftHdDevice::IsDetached(), L_OSD, LOGDEBUG, LOGDEBUG2, m_pDevice, m_pOglThread, m_pOsd, cSoftHdDevice::OglOsdIsDisabled(), cSoftHdDevice::SetDisableOglOsd(), and StartOpenGlThread().

◆ DropImageData()

void cSoftOsdProvider::DropImageData ( int  ImageHandle)
protectedvirtual

Drop stored image data.

Definition at line 204 of file softhdosdprovider.cpp.

References m_pOglThread, and StartOpenGlThread().

◆ GetImageData()

const cImage * cSoftOsdProvider::GetImageData ( int  ImageHandle)

Get stored image data.

Definition at line 197 of file softhdosdprovider.cpp.

◆ LockOpenGlThread()

bool cSoftOsdProvider::LockOpenGlThread ( void  )

Lock the OpenGL thread.

Definition at line 162 of file softhdosdprovider.cpp.

References L_OPENGL, LOGDEBUG2, and m_pOglThread.

Referenced by cSoftHdDevice::OnEventReceived().

◆ OsdSizeChanged()

void cSoftOsdProvider::OsdSizeChanged ( void  )

Stop the OpenGL thread, if the osd size changed and update the size.

Definition at line 102 of file softhdosdprovider.cpp.

References m_pDevice, cSoftHdDevice::OglOsdIsDisabled(), and StopOpenGlThread().

◆ ProvidesTrueColor()

virtual bool cSoftOsdProvider::ProvidesTrueColor ( void  )
inlinevirtual

Definition at line 39 of file softhdosdprovider.h.

◆ RequestStopOpenGlThread()

void cSoftOsdProvider::RequestStopOpenGlThread ( void  )

Initiate a stop of the OpenGL thread without waiting.

Definition at line 141 of file softhdosdprovider.cpp.

References L_OPENGL, LOGDEBUG2, and m_pOglThread.

Referenced by cSoftHdDevice::OnEnteringState().

◆ StartOpenGlThread()

bool cSoftOsdProvider::StartOpenGlThread ( void  )
private

◆ StopOpenGlThread()

void cSoftOsdProvider::StopOpenGlThread ( void  )

Stop the OpenGL thread and cancel it if necessary.

Definition at line 151 of file softhdosdprovider.cpp.

References L_OPENGL, LOGDEBUG2, and m_pOglThread.

Referenced by cSoftHdDevice::OnEnteringState(), OsdSizeChanged(), and ~cSoftOsdProvider().

◆ StoreImageData()

int cSoftOsdProvider::StoreImageData ( const cImage Image)
protectedvirtual

Store image data.

Definition at line 185 of file softhdosdprovider.cpp.

References m_pOglThread, and StartOpenGlThread().

◆ UnlockOpenGlThread()

void cSoftOsdProvider::UnlockOpenGlThread ( void  )

Unlock the OpenGL thread.

Definition at line 175 of file softhdosdprovider.cpp.

References L_OPENGL, LOGDEBUG2, and m_pOglThread.

Referenced by cSoftHdDevice::OnEnteringState(), and cSoftHdDevice::OnEventReceived().

Member Data Documentation

◆ m_pDevice

cSoftHdDevice* cSoftOsdProvider::m_pDevice
private

pointer to the cSoftHdDevice object

Definition at line 51 of file softhdosdprovider.h.

Referenced by CreateOsd(), OsdSizeChanged(), StartOpenGlThread(), and ~cSoftOsdProvider().

◆ m_pOglThread

std::shared_ptr<cOglThread> cSoftOsdProvider::m_pOglThread
private

◆ m_pOsd

cOsd* cSoftOsdProvider::m_pOsd
private

pointer to single OSD (currently not really used in cSoftOsdProvider?)

Definition at line 50 of file softhdosdprovider.h.

Referenced by CreateOsd().


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