diff options
Diffstat (limited to 'opensuse/tdebase/mach_blass.diff')
-rw-r--r-- | opensuse/tdebase/mach_blass.diff | 160 |
1 files changed, 0 insertions, 160 deletions
diff --git a/opensuse/tdebase/mach_blass.diff b/opensuse/tdebase/mach_blass.diff deleted file mode 100644 index 8ea798d13..000000000 --- a/opensuse/tdebase/mach_blass.diff +++ /dev/null @@ -1,160 +0,0 @@ -Index: ksmserver/shutdowndlg.cpp -=================================================================== ---- ksmserver/shutdowndlg.cpp.orig -+++ ksmserver/shutdowndlg.cpp -@@ -35,6 +35,7 @@ Copyright (C) 2000 Matthias Ettrich <ett - #include <kuser.h> - #include <kpixmap.h> - #include <kimageeffect.h> -+#include <kpixmapeffect.h> - #include <kdialog.h> - #include <kseparator.h> - -@@ -48,6 +49,9 @@ Copyright (C) 2000 Matthias Ettrich <ett - - #include "shutdowndlg.moc" - -+static const int max_faded = 2300; -+static const int slice = 20; -+ - KSMShutdownFeedback * KSMShutdownFeedback::s_pSelf = 0L; - - KSMShutdownFeedback::KSMShutdownFeedback() -@@ -56,12 +60,22 @@ KSMShutdownFeedback::KSMShutdownFeedback - { - setBackgroundMode( QWidget::NoBackground ); - setGeometry( QApplication::desktop()->geometry() ); -- QTimer::singleShot( 10, this, SLOT( slotPaintEffect() ) ); -- m_root.resize( width(), height() ); --} -+ if( QPixmap::defaultDepth() > 8 ) -+ { -+ grabbed.create( size(), 32 ); -+ QTimer::singleShot( 0, this, SLOT( slotGrab() ) ); -+ } -+ else -+ { -+ QTimer::singleShot( 10, this, SLOT( slotPaintEffectOld() ) ); -+ m_root.resize( width(), height() ); -+ } - - --void KSMShutdownFeedback::slotPaintEffect() -+} -+ -+// the upstream KDE effect -+void KSMShutdownFeedback::slotPaintEffectOld() - { - if ( m_currentY >= height() ) { - if ( backgroundMode() == QWidget::NoBackground ) { -@@ -80,7 +94,76 @@ void KSMShutdownFeedback::slotPaintEffec - bitBlt( this, 0, m_currentY, &pixmap ); - bitBlt( &m_root, 0, m_currentY, &pixmap ); - m_currentY += 10; -- QTimer::singleShot( 1, this, SLOT( slotPaintEffect() ) ); -+ QTimer::singleShot( 1, this, SLOT( slotPaintEffectOld() ) ); -+} -+ -+// the SUSE effect -+void KSMShutdownFeedback::slotGrab() -+{ -+ // we start the passed early -+ if ( m_currentY * 4 >= height() * 3 && passed.isNull()) -+ passed.start(); -+ -+ if ( m_currentY >= height() ) { -+ slotPaintEffectNew(); -+ return; -+ } -+ -+ QImage img; -+ img = QPixmap::grabWindow( qt_xrootwin(), 0, -+ m_currentY, width(), -+ slice ); -+ bitBlt(&grabbed, 0, m_currentY, &img); -+ m_currentY += slice; -+ QTimer::singleShot(0, this, SLOT(slotGrab())); -+} -+ -+void KSMShutdownFeedback::slotPaintEffectNew() -+{ -+ const unsigned int shift_scale = 10; -+ const unsigned int scale = 1 << shift_scale; -+ -+ //kdDebug() << "passed before paint " << passed.elapsed() << endl; -+ unsigned int current_fade = QMIN(scale, passed.elapsed() * scale / max_faded); -+ QImage copy; -+ copy.create( grabbed.size(), grabbed.depth() ); -+ unsigned int pixels = grabbed.width()*grabbed.height(); -+ QRgb *orig = ( QRgb* )grabbed.bits(); -+ QRgb *dest = ( QRgb* )copy.bits(); -+ QColor clr; -+ -+ int r, g, b, tg; -+ -+ for ( unsigned int i = 0; i < pixels; ++i ) -+ { -+ r = qRed( orig[i] ); -+ g = qGreen( orig[i] ); -+ b = qBlue( orig[i] ); -+ -+ // qGray formla -+ tg = (r*11 + g*16 + b*5)/32; -+ // make it a bit darker than gray -+ tg = tg - tg / 5; -+ -+ r = ( ( r << shift_scale ) + current_fade * ( tg - r ) ) >> shift_scale; -+ g = ( ( g << shift_scale ) + current_fade * ( tg - g ) ) >> shift_scale; -+ b = ( ( b << shift_scale ) + current_fade * ( tg - b ) ) >> shift_scale; -+ -+ dest[i] = qRgb(r, g, b); -+ } -+ //kdDebug() << "passed before bitBlt " << passed.elapsed() << endl; -+ bitBlt( this, 0, 0, ©); -+ //kdDebug() << "passed after bitBlt " << passed.elapsed() << endl; -+ -+ if ( current_fade >= scale ) { -+ if ( backgroundMode() == QWidget::NoBackground ) { -+ setBackgroundMode( QWidget::NoBackground ); -+ setBackgroundPixmap( copy ); -+ } -+ return; -+ } -+ -+ QTimer::singleShot( 0, this, SLOT( slotPaintEffectNew() ) ); - } - - ////// -Index: ksmserver/shutdowndlg.h -=================================================================== ---- ksmserver/shutdowndlg.h.orig -+++ ksmserver/shutdowndlg.h -@@ -9,7 +9,9 @@ Copyright (C) 2000 Matthias Ettrich <ett - - #include <qpixmap.h> - #include <qdialog.h> -+#include <qdatetime.h> - #include <kpushbutton.h> -+#include <qimage.h> - class QPushButton; - class QVButtonGroup; - class QPopupMenu; -@@ -31,13 +33,17 @@ protected: - ~KSMShutdownFeedback() {} - - private slots: -- void slotPaintEffect(); -+ void slotPaintEffectOld(); -+ void slotPaintEffectNew(); -+ void slotGrab(); - - private: - static KSMShutdownFeedback * s_pSelf; - KSMShutdownFeedback(); - int m_currentY; - QPixmap m_root; -+ QTime passed; -+ QImage grabbed; - }; - - |