vdr-plugin-softhddevice-drm-gles 1.5.9-20e15de
cOglOsd Class Reference

#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 cSize & MaxPixmapSize (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

Definition at line 736 of file openglosd.h.

Constructor & Destructor Documentation

◆ cOglOsd()

cOglOsd::cOglOsd ( int  left,
int  top,
uint  level,
std::shared_ptr< cOglThread oglThread,
cSoftHdDevice device 
)

◆ ~cOglOsd()

cOglOsd::~cOglOsd ( )
virtual

Member Function Documentation

◆ CreatePixmap()

cPixmap * cOglOsd::CreatePixmap ( int  layer,
const cRect &  viewPort,
const cRect &  DrawPort = cRect::Null 
)
virtual

Definition at line 2385 of file openglosd.cpp.

References m_pOglPixmaps, and m_pOglThread.

◆ DestroyPixmap()

void cOglOsd::DestroyPixmap ( cPixmap *  Pixmap)
virtual

Definition at line 2406 of file openglosd.cpp.

References m_isSubtitleOsd, m_pOglPixmaps, m_pOglThread, and cOglPixmap::MarkViewPortDirty().

Referenced by SetAreas().

◆ DrawScaledBitmap()

void cOglOsd::DrawScaledBitmap ( int  x,
int  y,
const cBitmap &  Bitmap,
double  FactorX,
double  FactorY,
bool  AntiAlias = false 
)
virtual

Definition at line 2501 of file openglosd.cpp.

References m_isSubtitleOsd, and m_pOglPixmaps.

◆ Flush()

void cOglOsd::Flush ( void  )
virtual

◆ MaxPixmapSize()

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

Definition at line 746 of file openglosd.h.

References m_maxPixmapSize.

◆ SetAreas()

eOsdError cOglOsd::SetAreas ( const tArea *  areas,
int  numAreas 
)
virtual

Member Data Documentation

◆ m_isSubtitleOsd

bool cOglOsd::m_isSubtitleOsd
private

true, if this is a subtitle osd

Definition at line 755 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 756 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 751 of file openglosd.h.

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

◆ m_pDevice

cSoftHdDevice* cOglOsd::m_pDevice
private

pointer to cSofthdDevice

Definition at line 758 of file openglosd.h.

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

◆ m_pDirtyViewport

cRect cOglOsd::m_pDirtyViewport
private

the dirty viewport

Definition at line 757 of file openglosd.h.

Referenced by Flush().

◆ m_pOglPixmaps

cVector<cOglPixmap *> cOglOsd::m_pOglPixmaps
private

array of pixmaps

Definition at line 754 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 753 of file openglosd.h.

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

◆ OutputFramebuffer

cOglOutputFb * cOglOsd::OutputFramebuffer = NULL
static

main OSD output framebuffer - this keeps our finished "OSD" (one per OSD)

Definition at line 749 of file openglosd.h.

Referenced by cOglThread::Cleanup(), cOglOsd(), Flush(), and ~cOglOsd().


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