vdr-plugin-softhddevice-drm-gles 1.4.0
softhdosd.h
Go to the documentation of this file.
1
22#ifndef __SOFTOSD_H
23#define __SOFTOSD_H
24
25#ifdef USE_GLES
26#include "openglosd.h"
27#endif
28
29#include "softhddevice.h"
30
31class cSoftHdDevice;
32class cOglThread;
33
34/*****************************************************************************
35 * OSD (software)
36 ****************************************************************************/
37
41class cSoftOsd:public cOsd
42{
43public:
44 cSoftOsd(int, int, uint, cSoftHdDevice *);
45 virtual ~ cSoftOsd(void);
46
47 virtual eOsdError SetAreas(const tArea *, int);
48 virtual void Flush(void);
49 virtual void SetActive(bool);
50
51private:
53 bool m_dirty;
55};
56
57/*****************************************************************************
58 * OSD provider
59 ****************************************************************************/
60
64class cSoftOsdProvider:public cOsdProvider
65{
66public:
68 virtual ~cSoftOsdProvider();
69
70 virtual cOsd * CreateOsd(int, int, uint);
71 virtual bool ProvidesTrueColor(void);
72#ifdef USE_GLES
73 void StopOpenGlThread(void);
74 const cImage *GetImageData(int ImageHandle);
75 void OsdSizeChanged(void);
76#endif
77
78private:
79 cOsd *m_pOsd;
81#ifdef USE_GLES
82 std::shared_ptr<cOglThread> m_pOglThread;
83 bool StartOpenGlThread(void);
84#endif
85
86protected:
87#ifdef USE_GLES
88 virtual int StoreImageData(const cImage &Image);
89 virtual void DropImageData(int ImageHandle);
90#endif
91};
92
93#endif
cSoftOsdProvider - SoftHdDevice plugin OSD provider class
Definition: softhdosd.h:65
virtual cOsd * CreateOsd(int, int, uint)
Create a new OSD.
Definition: softhdosd.cpp:348
virtual ~cSoftOsdProvider()
cOsdProvider destructor
Definition: softhdosd.cpp:326
cOsd * m_pOsd
pointer to single OSD (currently not really used in cSoftOsdProvider?)
Definition: softhdosd.h:79
virtual bool ProvidesTrueColor(void)
Check if this OSD provider is able to handle a true color OSD.
Definition: softhdosd.cpp:385
cSoftOsdProvider(cSoftHdDevice *)
cOsdProvider constructor
Definition: softhdosd.cpp:317
cSoftHdDevice * m_pDevice
pointer to the cSoftHdDevice object
Definition: softhdosd.h:80
cSoftOsd - SoftHdDevice plugin software OSD class
Definition: softhdosd.h:42
virtual void Flush(void)
Actually commit all data to the OSD hardware.
Definition: softhdosd.cpp:125
int m_osdLevel
current osd level
Definition: softhdosd.h:54
virtual eOsdError SetAreas(const tArea *, int)
Set the sub-areas to the given areas.
Definition: softhdosd.cpp:101
cSoftHdDevice * m_pDevice
pointer to the cSoftHdDevice object
Definition: softhdosd.h:52
virtual void SetActive(bool)
Sets this OSD to be the active one.
Definition: softhdosd.cpp:78
bool m_dirty
flag to force redrawing everything
Definition: softhdosd.h:53
cSoftOsd(int, int, uint, cSoftHdDevice *)
cSoftOsd constructor
Definition: softhdosd.cpp:48
Osd class - hardware accelerated (OpenGL/ES) - header file.
Device class header file.