MythTV master
mythegl.h
Go to the documentation of this file.
1#ifndef MYTHEGL_H
2#define MYTHEGL_H
3
4// Qt
5#include <QOpenGLContext>
6
7// MythTV
9
10using MYTH_EGLIMAGETARGET = void (*)(GLenum, void*);
11using MYTH_EGLCREATEIMAGE = void* (*)(void*, void*, unsigned int, void*, const int32_t *);
12using MYTH_EGLDESTROYIMAGE = void (*)(void*, void*);
13#ifdef Q_OS_DARWIN
14using MYTH_EGLGETPLATFORMDISPLAY = void* (*)(GLenum, int, const intptr_t*);
15#else
16using MYTH_EGLGETPLATFORMDISPLAY = void* (*)(GLenum, void*, const intptr_t*);
17#endif
18
20
22{
23 public:
24 explicit MythEGL(MythRenderOpenGL *Context);
25 ~MythEGL() = default;
26
27 bool IsEGL(void);
28 bool HasEGLExtension(QString Extension);
29 void* GetEGLDisplay(void);
30 static qint32 GetEGLError(void);
31 void eglImageTargetTexture2DOES (GLenum Target, void* Image);
32 void* eglCreateImageKHR (void* Disp, void* Context, unsigned int Target,
33 void* Buffer, const int32_t *Attributes);
34 void eglDestroyImageKHR (void* Disp, void* Image);
35 static QString GetEGLVendor(void);
36
37 private:
38 Q_DISABLE_COPY(MythEGL)
39 bool InitEGL(void);
40
41 MythRenderOpenGL *m_context { nullptr };
42 void* m_eglDisplay { nullptr };
43 MYTH_EGLIMAGETARGET m_eglImageTargetTexture2DOES { nullptr };
44 MYTH_EGLCREATEIMAGE m_eglCreateImageKHR { nullptr };
45 MYTH_EGLDESTROYIMAGE m_eglDestroyImageKHR { nullptr };
46};
47
48#endif // MYTHEGL_H
~MythEGL()=default
void(*)(GLenum, void *) MYTH_EGLIMAGETARGET
Definition: mythegl.h:10
void(*)(void *, void *) MYTH_EGLDESTROYIMAGE
Definition: mythegl.h:12
void *(*)(void *, void *, unsigned int, void *, const int32_t *) MYTH_EGLCREATEIMAGE
Definition: mythegl.h:11
void *(*)(GLenum, void *, const intptr_t *) MYTH_EGLGETPLATFORMDISPLAY
Definition: mythegl.h:16
#define MUI_PUBLIC
Definition: mythuiexp.h:9