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);
86 virtual void PushTransformation(
const UIEffects &zoom, QPointF center = QPointF());
97 m_showBorders = showBorders;
98 m_showNames = showNames;
104 void SetMaximumCacheSizes(
int hardware,
int software);
107 static void DrawTextPriv(
MythImage *im,
const QString &msg,
int flags,
109 static void DrawRectPriv(
MythImage *im, QRect area,
int radius,
int ellipse,
110 const QBrush &fillBrush,
const QPen &linePen);
112 MythImage *GetImageFromString(
const QString &msg,
int flags, QRect r,
117 QRect &canvas, QRect &
dest);
118 MythImage *GetImageFromRect(QRect area,
int radius,
int ellipse,
119 const QBrush &fillBrush,
120 const QPen &linePen);
123 virtual MythImage* GetFormatImagePriv(
void) = 0;
124 virtual void DeleteFormatImagePriv(
MythImage *im) = 0;
125 void ExpireImages(int64_t max = 0);
129 virtual void Teardown(
void);
133 float m_frameTime { 0 };
135 int m_hardwareCacheSize { 0 };
136 int m_maxHardwareCacheSize { 0 };
139 int64_t m_softwareCacheSize {0};
140 int64_t m_maxSoftwareCacheSize {48LL * 1024 * 1024};
148 bool m_showBorders {
false};
149 bool m_showNames {
false};