vdr-plugin-softhddevice-drm-gles 1.6.8-daba64b
cOglPixmap Class Reference

OpenGL Implementation of a cPixmap. More...

#include <openglosd.h>

Public Member Functions

 cOglPixmap (std::shared_ptr< cOglThread >, int, const cRect &, const cRect &DrawPort=cRect::Null)
 
virtual ~cOglPixmap (void)
 
cOglFbFramebuffer (void) const
 
int X (void)
 
int Y (void)
 
virtual bool IsDirty (void)
 
virtual void SetDirty (bool dirty=true)
 
virtual void SetLayer (int)
 
virtual void SetAlpha (int)
 
virtual void SetTile (bool)
 
virtual void SetViewPort (const cRect &)
 
virtual void SetDrawPortPoint (const cPoint &, bool Dirty=true)
 
virtual void Clear (void)
 
virtual void Fill (tColor)
 
virtual void DrawImage (const cPoint &, const cImage &)
 
virtual void DrawImage (const cPoint &, int)
 
virtual void DrawScaledImage (const cPoint &, const cImage &, double FactorX=1.0f, double FactorY=1.0f, bool AntiAlias=false)
 
virtual void DrawScaledImage (const cPoint &, int, double FactorX=1.0f, double FactorY=1.0f, bool AntiAlias=false)
 
virtual void DrawPixel (const cPoint &, tColor)
 
virtual void DrawBitmap (const cPoint &, const cBitmap &, tColor ColorFg=0, tColor ColorBg=0, bool Overlay=false)
 
virtual void DrawText (const cPoint &, const char *, tColor, tColor, const cFont *, int Width=0, int Height=0, int Alignment=taDefault)
 
virtual void DrawRectangle (const cRect &, tColor)
 
virtual void DrawEllipse (const cRect &, tColor, int Quadrants=0)
 
virtual void DrawSlope (const cRect &, tColor, int)
 
virtual void Render (const cPixmap *, const cRect &, const cPoint &)
 
virtual void Copy (const cPixmap *, const cRect &, const cPoint &)
 
virtual void Scroll (const cPoint &, const cRect &Source=cRect::Null)
 
virtual void Pan (const cPoint &, const cRect &Source=cRect::Null)
 
virtual void MarkViewPortDirty (const cRect &)
 
virtual void SetClean (void)
 

Private Member Functions

void DrawTextInternal (const cPoint &, const char *, tColor, tColor, const cFont *, int Width=0, int Height=0, int Alignment=taDefault, bool isGridText=false)
 
void RenderPixmapInternal (const cPixmap *, const cRect &, const cPoint &, bool)
 

Private Attributes

cOglFbm_pFramebuffer
 everything is drawn onto this framebuffer (one per pixmap)
 
std::shared_ptr< cOglThreadm_pOglThread
 
bool m_dirty = true
 true, if there was draw activity on the pixmap
 

Detailed Description

OpenGL Implementation of a cPixmap.

Definition at line 781 of file openglosd.h.

Constructor & Destructor Documentation

◆ cOglPixmap()

cOglPixmap::cOglPixmap ( std::shared_ptr< cOglThread oglThread,
int  layer,
const cRect viewPort,
const cRect DrawPort = cRect::Null 
)

Definition at line 2036 of file openglosd.cpp.

References LOGWARNING, m_pFramebuffer, and m_pOglThread.

◆ ~cOglPixmap()

cOglPixmap::~cOglPixmap ( void  )
virtual

Definition at line 2058 of file openglosd.cpp.

References m_pFramebuffer, and m_pOglThread.

Member Function Documentation

◆ Clear()

void cOglPixmap::Clear ( void  )
virtual

Definition at line 2115 of file openglosd.cpp.

References m_pFramebuffer, m_pOglThread, and SetDirty().

◆ Copy()

void cOglPixmap::Copy ( const cPixmap *  pixmap,
const cRect source,
const cPoint dest 
)
virtual

Definition at line 2357 of file openglosd.cpp.

References RenderPixmapInternal().

◆ DrawBitmap()

void cOglPixmap::DrawBitmap ( const cPoint point,
const cBitmap bitmap,
tColor  ColorFg = 0,
tColor  ColorBg = 0,
bool  Overlay = false 
)
virtual

Definition at line 2192 of file openglosd.cpp.

References m_pFramebuffer, m_pOglThread, and SetDirty().

◆ DrawEllipse()

void cOglPixmap::DrawEllipse ( const cRect rect,
tColor  color,
int  Quadrants = 0 
)
virtual

Definition at line 2322 of file openglosd.cpp.

References m_pFramebuffer, m_pOglThread, and SetDirty().

◆ DrawImage() [1/2]

void cOglPixmap::DrawImage ( const cPoint point,
const cImage image 
)
virtual

Definition at line 2137 of file openglosd.cpp.

References DrawScaledImage().

◆ DrawImage() [2/2]

void cOglPixmap::DrawImage ( const cPoint point,
int  imageHandle 
)
virtual

Definition at line 2142 of file openglosd.cpp.

References DrawScaledImage().

◆ DrawPixel()

void cOglPixmap::DrawPixel ( const cPoint point,
tColor  color 
)
virtual

Definition at line 2181 of file openglosd.cpp.

References m_pFramebuffer, m_pOglThread, and SetDirty().

◆ DrawRectangle()

void cOglPixmap::DrawRectangle ( const cRect rect,
tColor  color 
)
virtual

Definition at line 2307 of file openglosd.cpp.

References m_pFramebuffer, m_pOglThread, and SetDirty().

◆ DrawScaledImage() [1/2]

virtual void cOglPixmap::DrawScaledImage ( const cPoint ,
const cImage ,
double  FactorX = 1.0f,
double  FactorY = 1.0f,
bool  AntiAlias = false 
)
virtual

Referenced by DrawImage(), and DrawImage().

◆ DrawScaledImage() [2/2]

virtual void cOglPixmap::DrawScaledImage ( const cPoint ,
int  ,
double  FactorX = 1.0f,
double  FactorY = 1.0f,
bool  AntiAlias = false 
)
virtual

◆ DrawSlope()

void cOglPixmap::DrawSlope ( const cRect rect,
tColor  color,
int  type 
)
virtual

Definition at line 2337 of file openglosd.cpp.

References m_pFramebuffer, m_pOglThread, and SetDirty().

◆ DrawText()

void cOglPixmap::DrawText ( const cPoint point,
const char s,
tColor  colorFg,
tColor  colorBg,
const cFont font,
int  Width = 0,
int  Height = 0,
int  Alignment = taDefault 
)
virtual

Definition at line 2221 of file openglosd.cpp.

References DrawTextInternal().

◆ DrawTextInternal()

void cOglPixmap::DrawTextInternal ( const cPoint point,
const char s,
tColor  colorFg,
tColor  colorBg,
const cFont font,
int  Width = 0,
int  Height = 0,
int  Alignment = taDefault,
bool  isGridText = false 
)
private

Definition at line 2233 of file openglosd.cpp.

References m_pFramebuffer, m_pOglThread, and SetDirty().

Referenced by DrawText().

◆ Fill()

void cOglPixmap::Fill ( tColor  color)
virtual

Definition at line 2126 of file openglosd.cpp.

References m_pFramebuffer, m_pOglThread, and SetDirty().

◆ Framebuffer()

cOglFb * cOglPixmap::Framebuffer ( void  ) const
inline

Definition at line 786 of file openglosd.h.

References m_pFramebuffer.

◆ IsDirty()

virtual bool cOglPixmap::IsDirty ( void  )
inlinevirtual

Definition at line 789 of file openglosd.h.

References m_dirty.

◆ MarkViewPortDirty()

void cOglPixmap::MarkViewPortDirty ( const cRect rect)
virtual

Definition at line 2069 of file openglosd.cpp.

References SetDirty().

◆ Pan()

void cOglPixmap::Pan ( const cPoint dest,
const cRect Source = cRect::Null 
)
virtual

Definition at line 2413 of file openglosd.cpp.

References LOGWARNING.

◆ Render()

void cOglPixmap::Render ( const cPixmap *  pixmap,
const cRect source,
const cPoint dest 
)
virtual

Definition at line 2352 of file openglosd.cpp.

References RenderPixmapInternal().

◆ RenderPixmapInternal()

void cOglPixmap::RenderPixmapInternal ( const cPixmap *  pixmap,
const cRect source,
const cPoint dest,
bool  useAlpha 
)
private

Definition at line 2363 of file openglosd.cpp.

References cOglFb::Height(), L_OPENGL, LOGDEBUG2, LOGWARNING, m_pFramebuffer, m_pOglThread, SetDirty(), and cOglFb::Width().

Referenced by Copy(), and Render().

◆ Scroll()

void cOglPixmap::Scroll ( const cPoint dest,
const cRect Source = cRect::Null 
)
virtual

Definition at line 2408 of file openglosd.cpp.

References LOGWARNING.

◆ SetAlpha()

void cOglPixmap::SetAlpha ( int  alpha)
virtual

Definition at line 2087 of file openglosd.cpp.

References SetDirty().

◆ SetClean()

void cOglPixmap::SetClean ( void  )
virtual

Definition at line 2075 of file openglosd.cpp.

References SetDirty().

◆ SetDirty()

◆ SetDrawPortPoint()

void cOglPixmap::SetDrawPortPoint ( const cPoint point,
bool  Dirty = true 
)
virtual

Definition at line 2108 of file openglosd.cpp.

References SetDirty().

◆ SetLayer()

void cOglPixmap::SetLayer ( int  layer)
virtual

Definition at line 2081 of file openglosd.cpp.

References SetDirty().

◆ SetTile()

void cOglPixmap::SetTile ( bool  tile)
virtual

Definition at line 2096 of file openglosd.cpp.

References SetDirty().

◆ SetViewPort()

void cOglPixmap::SetViewPort ( const cRect rect)
virtual

Definition at line 2102 of file openglosd.cpp.

References SetDirty().

◆ X()

int cOglPixmap::X ( void  )
inline

Definition at line 787 of file openglosd.h.

◆ Y()

int cOglPixmap::Y ( void  )
inline

Definition at line 788 of file openglosd.h.

Member Data Documentation

◆ m_dirty

bool cOglPixmap::m_dirty = true
private

true, if there was draw activity on the pixmap

Definition at line 817 of file openglosd.h.

Referenced by IsDirty(), and SetDirty().

◆ m_pFramebuffer

cOglFb* cOglPixmap::m_pFramebuffer
private

everything is drawn onto this framebuffer (one per pixmap)

Definition at line 815 of file openglosd.h.

Referenced by Clear(), cOglPixmap(), DrawBitmap(), DrawEllipse(), DrawPixel(), DrawRectangle(), DrawSlope(), DrawTextInternal(), Fill(), Framebuffer(), RenderPixmapInternal(), and ~cOglPixmap().

◆ m_pOglThread

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

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