MythTV master
mythpainterwindowopengl.cpp
Go to the documentation of this file.
1// MythTV
3#include "mythmainwindow.h"
5
6#define LOC QString("GLPaintWin: ")
7
9 : MythPainterWindow(MainWin),
10 m_parent(MainWin)
11{
12 setAttribute(Qt::WA_NoSystemBackground);
13 setAttribute(Qt::WA_NativeWindow);
14 setAttribute(Qt::WA_DontCreateNativeAncestors);
15 winId();
16#ifdef Q_OS_MACOS
17 // must be visible before OpenGL initialisation on OSX
18 setVisible(true);
19#endif
21 if (render)
22 {
23 m_render = render;
24 if (render->Init() && render->IsRecommendedRenderer())
25 m_valid = true;
26 }
27 else
28 {
29 LOG(VB_GENERAL, LOG_ERR, LOC + "Failed to create MythRenderOpenGL");
30 }
31}
32
33QPaintEngine *MythPainterWindowOpenGL::paintEngine(void) const
34{
35 return testAttribute(Qt::WA_PaintOnScreen) ? nullptr : m_parent->paintEngine();
36}
37
39{
40 if (m_render)
42}
43
45{
46 return m_valid;
47}
48
49void MythPainterWindowOpenGL::paintEvent(QPaintEvent* /*PaintEvent*/)
50{
52}
void drawScreen(QPaintEvent *Event=nullptr)
QPaintEngine * paintEngine() const override
MythPainterWindowOpenGL(MythMainWindow *MainWin)
QPaintEngine * paintEngine(void) const override
void paintEvent(QPaintEvent *PaintEvent) override
MythRender * m_render
static MythRenderOpenGL * Create(QWidget *Widget)
bool IsRecommendedRenderer(void)
virtual int DecrRef(void)
Decrements reference count and deletes on 0.
#define LOG(_MASK_, _LEVEL_, _QSTRING_)
Definition: mythlogging.h:39
#define LOC