vdr-plugin-softhddevice-drm-gles 1.6.2
cOglOsd Class Reference

Hardware Accelerated OpenGL OSD Implementation. More...

#include <openglosd.h>

Public Member Functions

 cOglOsd (int, int, uint, std::shared_ptr< cOglThread >, cSoftHdDevice *)
 
virtual ~cOglOsd ()
 
virtual eOsdError SetAreas (const tArea *, int)
 
virtual cPixmap * CreatePixmap (int, const cRect &, const cRect &DrawPort=cRect::Null)
 
virtual void DestroyPixmap (cPixmap *)
 
virtual void Flush (void)
 
virtual const cSizeMaxPixmapSize (void) const
 
virtual void DrawScaledBitmap (int, int, const cBitmap &, double, double, bool AntiAlias=false)
 

Static Public Attributes

static cOglOutputFbOutputFramebuffer = NULL
 main OSD output framebuffer - this keeps our finished "OSD" (one per OSD)
 

Private Attributes

cOglFbm_pBufferFramebuffer = nullptr
 all pixmaps are composed onto this framebuffer after each other, before this one is blit onto the OSD output framebuffer
 
std::shared_ptr< cOglThreadm_pOglThread
 pointer to thread, which executes the commands
 
cVector< cOglPixmap * > m_pOglPixmaps
 array of pixmaps
 
bool m_isSubtitleOsd
 true, if this is a subtitle osd
 
cSize m_maxPixmapSize
 maximum allowed size of a pixmap (depends on the maximum OpenGL texture size)
 
cRect m_pDirtyViewport
 the dirty viewport
 
cSoftHdDevicem_pDevice
 pointer to cSofthdDevice
 

Detailed Description

Hardware Accelerated OpenGL OSD Implementation.

Definition at line 709 of file openglosd.h.

Member Function Documentation

◆ MaxPixmapSize()

virtual const cSize & cOglOsd::MaxPixmapSize ( void  ) const
inlinevirtual

Definition at line 718 of file openglosd.h.

References m_maxPixmapSize.

Member Data Documentation

◆ m_isSubtitleOsd

bool cOglOsd::m_isSubtitleOsd
private

true, if this is a subtitle osd

Definition at line 727 of file openglosd.h.

Referenced by DestroyPixmap(), DrawScaledBitmap(), Flush(), and SetAreas().

◆ m_maxPixmapSize

cSize cOglOsd::m_maxPixmapSize
private

maximum allowed size of a pixmap (depends on the maximum OpenGL texture size)

Definition at line 728 of file openglosd.h.

Referenced by cOglOsd(), and MaxPixmapSize().

◆ m_pBufferFramebuffer

cOglFb* cOglOsd::m_pBufferFramebuffer = nullptr
private

all pixmaps are composed onto this framebuffer after each other, before this one is blit onto the OSD output framebuffer

Definition at line 723 of file openglosd.h.

Referenced by Flush(), SetAreas(), and ~cOglOsd().

◆ m_pDevice

cSoftHdDevice* cOglOsd::m_pDevice
private

pointer to cSofthdDevice

Definition at line 730 of file openglosd.h.

Referenced by cOglOsd(), Flush(), and ~cOglOsd().

◆ m_pDirtyViewport

cRect cOglOsd::m_pDirtyViewport
private

the dirty viewport

Definition at line 729 of file openglosd.h.

Referenced by Flush().

◆ m_pOglPixmaps

cVector<cOglPixmap *> cOglOsd::m_pOglPixmaps
private

array of pixmaps

Definition at line 726 of file openglosd.h.

Referenced by CreatePixmap(), DestroyPixmap(), DrawScaledBitmap(), Flush(), and SetAreas().

◆ m_pOglThread

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

pointer to thread, which executes the commands

Definition at line 725 of file openglosd.h.

Referenced by cOglOsd(), CreatePixmap(), DestroyPixmap(), Flush(), SetAreas(), and ~cOglOsd().


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