krootpixmap.h
00001 /* vi: ts=8 sts=4 sw=4 00002 * 00003 * $Id: krootpixmap.h,v 1.14 2002/03/08 18:01:07 rich Exp $ 00004 * This file is part of the KDE project, module kdesktop. 00005 * Copyright (C) 1999,2000 Geert Jansen <jansen@kde.org> 00006 * 00007 * You can Freely distribute this program under the GNU Library General 00008 * Public License. See the file "COPYING.LIB" for the exact licensing terms. 00009 */ 00010 00011 #ifndef __KRootPixmap_h_Included__ 00012 #define __KRootPixmap_h_Included__ 00013 00014 #include <qobject.h> 00015 #include <qcolor.h> 00016 00017 #ifndef Q_WS_QWS //FIXME 00018 00019 class QRect; 00020 class QWidget; 00021 class QTimer; 00022 class KSharedPixmap; 00023 class KRootPixmapData; 00024 00045 class KRootPixmap: public QObject 00046 { 00047 Q_OBJECT 00048 00049 public: 00058 KRootPixmap( QWidget *target, const char *name=0 ); 00059 00064 KRootPixmap( QWidget *target, QObject *parent, const char *name=0 ); 00065 00069 virtual ~KRootPixmap(); 00070 00075 bool isAvailable() const; 00076 00080 bool isActive() const { return m_bActive; } 00081 00085 int currentDesktop() const; 00086 00091 bool customPainting() const { return m_bCustomPaint; } 00092 00093 #ifndef KDE_NO_COMPAT 00094 00098 bool checkAvailable(bool) { return isAvailable(); } 00099 #endif 00100 00101 public slots: 00105 virtual void start(); 00106 00110 virtual void stop(); 00111 00122 void setFadeEffect(double strength, const QColor &color); 00123 00130 void repaint( bool force ); 00131 00137 void repaint(); 00138 00145 void setCustomPainting( bool enable ) { m_bCustomPaint = enable; } 00146 00151 void enableExports(); 00152 00153 signals: 00160 void backgroundUpdated( const QPixmap &pm ); 00161 00162 protected: 00167 virtual bool eventFilter(QObject *, QEvent *); 00168 00174 virtual void updateBackground( KSharedPixmap * ); 00175 00176 private slots: 00177 void slotBackgroundChanged(int); 00178 void slotDone(bool); 00179 00180 private: 00181 bool m_bActive, m_bInit, m_bCustomPaint; 00182 int m_Desk; 00183 00184 double m_Fade; 00185 QColor m_FadeColor; 00186 00187 QRect m_Rect; 00188 QWidget *m_pWidget; 00189 QTimer *m_pTimer; 00190 KSharedPixmap *m_pPixmap; 00191 KRootPixmapData *d; 00192 00193 void init(); 00194 }; 00195 00196 #endif // ! Q_WS_QWS 00197 #endif // __KRootPixmap_h_Included__ 00198