MythTV  master
mythrender_base.h
Go to the documentation of this file.
1 #ifndef MYTHRENDER_H_
2 #define MYTHRENDER_H_
3 
4 // Qt
5 #include <QString>
6 #include <QMutex>
7 #include <QRect>
8 #include <QSize>
9 #include <QStringList>
10 
11 // MythTV
12 #include "referencecounter.h"
13 #include "mythuiexp.h"
14 
16 {
21 };
22 
24 {
25  public:
26  explicit MythRender(RenderType type);
27 
30  bool IsShared(void) const;
31 
32  RenderType Type(void) const { return m_type; }
33  bool IsErrored(void) const { return m_errored; }
34  QSize GetSize(void) const { return m_size; }
35  virtual QStringList GetDescription();
36  virtual void SetViewPort(const QRect, bool = false) {}
37 
38  protected:
39  ~MythRender() override = default;
40  virtual void ReleaseResources(void) { }
41 
43  QSize m_size;
44  bool m_errored;
45 
46  private:
47  Q_DISABLE_COPY(MythRender)
48 };
49 
50 #endif
MUI_PUBLIC
#define MUI_PUBLIC
Definition: mythuiexp.h:9
MythRender::IsErrored
bool IsErrored(void) const
Definition: mythrender_base.h:33
MythRender::m_errored
bool m_errored
Definition: mythrender_base.h:44
kRenderOpenGL
@ kRenderOpenGL
Definition: mythrender_base.h:19
kRenderVulkan
@ kRenderVulkan
Definition: mythrender_base.h:20
MythRender::SetViewPort
virtual void SetViewPort(const QRect, bool=false)
Definition: mythrender_base.h:36
RenderType
RenderType
Definition: mythrender_base.h:15
kRenderUnknown
@ kRenderUnknown
Definition: mythrender_base.h:17
MythRender::ReleaseResources
virtual void ReleaseResources(void)
Definition: mythrender_base.h:40
referencecounter.h
MythRender::m_type
RenderType m_type
Definition: mythrender_base.h:42
MythRender
Definition: mythrender_base.h:23
MythRender::m_size
QSize m_size
Definition: mythrender_base.h:43
MythRender::Type
RenderType Type(void) const
Definition: mythrender_base.h:32
kRenderDirect3D9
@ kRenderDirect3D9
Definition: mythrender_base.h:18
mythuiexp.h
ReferenceCounter
General purpose reference counter.
Definition: referencecounter.h:26
MythRender::GetSize
QSize GetSize(void) const
Definition: mythrender_base.h:34