51 virtual void Begin(QPaintDevice* ) { }
52 virtual void End() { }
54 virtual void SetClipRect(QRect clipRect);
55 virtual void SetClipRegion(
const QRegion &clipRegion);
56 virtual void Clear(QPaintDevice *device,
const QRegion ®ion);
60 void DrawImage(
int x,
int y,
MythImage *im,
int alpha);
61 void DrawImage(QPoint topLeft,
MythImage *im,
int alph);
67 virtual void DrawText(QRect r,
const QString &msg,
int flags,
70 virtual void DrawTextLayout(QRect canvasRect,
75 virtual void DrawRect(QRect area,
const QBrush &fillBrush,
76 const QPen &linePen,
int alpha);
77 virtual void DrawRoundRect(QRect area,
int cornerRadius,
78 const QBrush &fillBrush,
const QPen &linePen,
80 virtual void DrawEllipse(QRect area,
const QBrush &fillBrush,
81 const QPen &linePen,
int alpha);
84 [[maybe_unused]] QPointF center = QPointF()) {};
95 m_showBorders = showBorders;
96 m_showNames = showNames;
102 void SetMaximumCacheSizes(
int hardware,
int software);
105 static void DrawTextPriv(
MythImage *im,
const QString &msg,
int flags,
107 static void DrawRectPriv(
MythImage *im, QRect area,
int radius,
int ellipse,
108 const QBrush &fillBrush,
const QPen &linePen);
110 MythImage *GetImageFromString(
const QString &msg,
int flags, QRect r,
115 QRect &canvas, QRect &
dest);
116 MythImage *GetImageFromRect(QRect area,
int radius,
int ellipse,
117 const QBrush &fillBrush,
118 const QPen &linePen);
123 void ExpireImages(int64_t max = 0);
127 virtual void Teardown(
void);
131 float m_frameTime { 0 };
133 int m_hardwareCacheSize { 0 };
134 int m_maxHardwareCacheSize { 0 };
137 int64_t m_softwareCacheSize {0};
138 int64_t m_maxSoftwareCacheSize {48LL * 1024 * 1024};
146 bool m_showBorders {
false};
147 bool m_showNames {
false};
static const std::array< const std::string, 8 > formats
~MythPainter() override=default
MythPainter destructor.
virtual void PushTransformation(const UIEffects &zoom, QPointF center=QPointF())
virtual void DrawProcedural(QRect, int, const ProcSource &, const ProcSource &, const QString &)
virtual bool SupportsClipping(void)=0
virtual void DeleteFormatImagePriv(MythImage *im)=0
virtual MythImage * GetFormatImagePriv(void)=0
Creates a reference counted image, call DecrRef() to delete.
QMap< QString, MythImage * > m_stringToImageMap
void SetDebugMode(bool showBorders, bool showNames)
virtual void DrawImage(QRect dest, MythImage *im, QRect src, int alpha)=0
bool ShowBorders(void) const
QSet< MythImage * > m_allocatedImages
virtual QString GetName(void)=0
bool ShowTypeNames(void) const
std::list< QString > m_stringExpireList
virtual void Begin(QPaintDevice *)
virtual bool SupportsAlpha(void)=0
virtual void PopTransformation(void)
virtual void FreeResources(void)
virtual bool SupportsAnimation(void)=0
QVector< QTextLayout::FormatRange > FormatVector
std::shared_ptr< QByteArray > ProcSource
QVector< QTextLayout * > LayoutVector