vdr-plugin-softhddevice-drm-gles 1.6.2
softhdosdprovider.h
Go to the documentation of this file.
1// SPDX-License-Identifier: AGPL-3.0-or-later
2
14#ifndef __SOFTOSDPROVIDER_H
15#define __SOFTOSDPROVIDER_H
16
17#ifdef USE_GLES
18#include <memory>
19#endif
20
21#include <vdr/osd.h>
22
23#ifdef USE_GLES
24class cOglThread;
25#endif
26class cSoftHdDevice;
27
36class cSoftOsdProvider:public cOsdProvider {
37public:
39 virtual ~cSoftOsdProvider();
40
41 virtual cOsd * CreateOsd(int, int, uint);
42 virtual bool ProvidesTrueColor(void) { return true; };
43#ifdef USE_GLES
44 void RequestStopOpenGlThread(void);
45 void StopOpenGlThread(void);
46 bool LockOpenGlThread(void);
47 void UnlockOpenGlThread(void);
49 void OsdSizeChanged(void);
50#endif
51
52private:
53 cOsd *m_pOsd;
55#ifdef USE_GLES
56 std::shared_ptr<cOglThread> m_pOglThread;
57 bool StartOpenGlThread(void);
58#endif
59
60protected:
61#ifdef USE_GLES
62 virtual int StoreImageData(const cImage &Image);
63 virtual void DropImageData(int ImageHandle);
64#endif
65};
66
69#endif
OpenGL Commands Processing Thread.
Definition openglosd.h:617
Output Device Implementation.
Plugin OSD provider.
cOsd * m_pOsd
pointer to single OSD (currently not really used in cSoftOsdProvider?)
std::shared_ptr< cOglThread > m_pOglThread
OpenGL OSD thread.
virtual bool ProvidesTrueColor(void)
cSoftHdDevice * m_pDevice
pointer to the cSoftHdDevice object
virtual cOsd * CreateOsd(int, int, uint)
Create a new OSD.
virtual ~cSoftOsdProvider()
Delete the OSD provider and stop the OpenGL thread if running.
void RequestStopOpenGlThread(void)
Initiate a stop of the OpenGL thread without waiting.
void OsdSizeChanged(void)
Stop the OpenGL thread, if the osd size changed and update the size.
void StopOpenGlThread(void)
Stop the OpenGL thread and cancel it if necessary.
void UnlockOpenGlThread(void)
Unlock the OpenGL thread.
virtual int StoreImageData(const cImage &Image)
Store image data.
const cImage * GetImageData(int ImageHandle)
Get stored image data.
bool LockOpenGlThread(void)
Lock the OpenGL thread.
virtual void DropImageData(int ImageHandle)
Drop stored image data.
bool StartOpenGlThread(void)
Start the OpenGL thread.