8 #include <QPaintDevice>
49 virtual QString GetName(
void) = 0;
50 virtual bool SupportsAnimation(
void) = 0;
51 virtual bool SupportsAlpha(
void) = 0;
52 virtual bool SupportsClipping(
void) = 0;
54 virtual void Begin(QPaintDevice* ) { }
55 virtual void End() { }
57 virtual void SetClipRect(QRect clipRect);
58 virtual void SetClipRegion(
const QRegion &clipRegion);
59 virtual void Clear(QPaintDevice *device,
const QRegion ®ion);
61 virtual void DrawImage(QRect
dest,
MythImage *im, QRect src,
int alpha) = 0;
63 void DrawImage(
int x,
int y,
MythImage *im,
int alpha);
64 void DrawImage(QPoint topLeft,
MythImage *im,
int alph);
70 virtual void DrawText(QRect r,
const QString &msg,
int flags,
73 virtual void DrawTextLayout(QRect canvasRect,
78 virtual void DrawRect(QRect area,
const QBrush &fillBrush,
79 const QPen &linePen,
int alpha);
80 virtual void DrawRoundRect(QRect area,
int cornerRadius,
81 const QBrush &fillBrush,
const QPen &linePen,
83 virtual void DrawEllipse(QRect area,
const QBrush &fillBrush,
84 const QPen &linePen,
int alpha);
87 [[maybe_unused]] QPointF center = QPointF()) {};
98 m_showBorders = showBorders;
99 m_showNames = showNames;
105 void SetMaximumCacheSizes(
int hardware,
int software);
108 static void DrawTextPriv(
MythImage *im,
const QString &msg,
int flags,
110 static void DrawRectPriv(
MythImage *im, QRect area,
int radius,
int ellipse,
111 const QBrush &fillBrush,
const QPen &linePen);
113 MythImage *GetImageFromString(
const QString &msg,
int flags, QRect r,
118 QRect &canvas, QRect &
dest);
119 MythImage *GetImageFromRect(QRect area,
int radius,
int ellipse,
120 const QBrush &fillBrush,
121 const QPen &linePen);
124 virtual MythImage* GetFormatImagePriv(
void) = 0;
125 virtual void DeleteFormatImagePriv(
MythImage *im) = 0;
126 void ExpireImages(int64_t max = 0);
130 virtual void Teardown(
void);
134 float m_frameTime { 0 };
136 int m_hardwareCacheSize { 0 };
137 int m_maxHardwareCacheSize { 0 };
140 int64_t m_softwareCacheSize {0};
141 int64_t m_maxSoftwareCacheSize {48LL * 1024 * 1024};
149 bool m_showBorders {
false};
150 bool m_showNames {
false};