00001 #ifndef MYTHPAINTER_QT_H_ 00002 #define MYTHPAINTER_QT_H_ 00003 00004 #include <list> 00005 00006 #include "mythpainter.h" 00007 #include "mythimage.h" 00008 00009 #include "compat.h" 00010 00011 class QPainter; 00012 00013 class MythQtPainter : public MythPainter 00014 { 00015 public: 00016 MythQtPainter(); 00017 ~MythQtPainter(); 00018 00019 virtual QString GetName(void) { return QString("Qt"); } 00020 virtual bool SupportsAnimation(void) { return false; } 00021 virtual bool SupportsAlpha(void) { return true; } 00022 virtual bool SupportsClipping(void) { return true; } 00023 00024 virtual void Begin(QPaintDevice *parent); 00025 virtual void End(); 00026 00027 virtual void SetClipRect(const QRect &clipRect); 00028 00029 virtual void DrawImage(const QRect &dest, MythImage *im, const QRect &src, 00030 int alpha); 00031 00032 protected: 00033 virtual MythImage* GetFormatImagePriv(void); 00034 virtual void DeleteFormatImagePriv(MythImage *im); 00035 00036 void DeletePixmaps(void); 00037 00038 QPainter *painter; 00039 QRegion clipRegion; 00040 00041 std::list<QPixmap *> m_imageDeleteList; 00042 QMutex m_imageDeleteLock; 00043 }; 00044 00045 #endif
1.6.3