summaryrefslogtreecommitdiffstats
path: root/gentoo/dev-qt/qt/files/trinity-3.5.13.1..3.5.13.2/qt3-2013-02-20_21_52_12-Doublebuffer-QIconView-to-reduce-flicker-This-closes-Bug-1408-897cd5c.patch
diff options
context:
space:
mode:
Diffstat (limited to 'gentoo/dev-qt/qt/files/trinity-3.5.13.1..3.5.13.2/qt3-2013-02-20_21_52_12-Doublebuffer-QIconView-to-reduce-flicker-This-closes-Bug-1408-897cd5c.patch')
m---------gentoo0
-rw-r--r--gentoo/dev-qt/qt/files/trinity-3.5.13.1..3.5.13.2/qt3-2013-02-20_21_52_12-Doublebuffer-QIconView-to-reduce-flicker-This-closes-Bug-1408-897cd5c.patch98
2 files changed, 0 insertions, 98 deletions
diff --git a/gentoo b/gentoo
new file mode 160000
+Subproject 644110a847c5911c2eb04eb53c93031740561ef
diff --git a/gentoo/dev-qt/qt/files/trinity-3.5.13.1..3.5.13.2/qt3-2013-02-20_21_52_12-Doublebuffer-QIconView-to-reduce-flicker-This-closes-Bug-1408-897cd5c.patch b/gentoo/dev-qt/qt/files/trinity-3.5.13.1..3.5.13.2/qt3-2013-02-20_21_52_12-Doublebuffer-QIconView-to-reduce-flicker-This-closes-Bug-1408-897cd5c.patch
deleted file mode 100644
index 6da074b58..000000000
--- a/gentoo/dev-qt/qt/files/trinity-3.5.13.1..3.5.13.2/qt3-2013-02-20_21_52_12-Doublebuffer-QIconView-to-reduce-flicker-This-closes-Bug-1408-897cd5c.patch
+++ /dev/null
@@ -1,98 +0,0 @@
-diff --git a/src/iconview/qiconview.cpp b/src/iconview/qiconview.cpp
-index c1ea8cc..36b5da2 100644
---- a/src/iconview/qiconview.cpp
-+++ b/src/iconview/qiconview.cpp
-@@ -214,6 +214,7 @@ public:
- QIconViewItem *currentItem, *tmpCurrentItem, *highlightedItem,
- *startDragItem, *pressedItem, *selectAnchor, *renamingItem;
- QRect *rubber;
-+ QPixmap *backBuffer;
- QTimer *scrollTimer, *adjustTimer, *updateTimer, *inputTimer,
- *fullRedrawTimer;
- int rastX, rastY, spacing;
-@@ -2789,6 +2790,7 @@ QIconView::QIconView( QWidget *parent, const char *name, WFlags f )
- d->currentItem = 0;
- d->highlightedItem = 0;
- d->rubber = 0;
-+ d->backBuffer = 0;
- d->scrollTimer = 0;
- d->startDragItem = 0;
- d->tmpCurrentItem = 0;
-@@ -2942,6 +2944,8 @@ QIconView::~QIconView()
- delete item;
- item = tmp;
- }
-+ delete d->backBuffer;
-+ d->backBuffer = 0;
- delete d->fm;
- d->fm = 0;
- #ifndef QT_NO_TOOLTIP
-@@ -4943,6 +4947,47 @@ void QIconView::contentsDropEvent( QDropEvent *e )
- #endif
-
- /*!
-+ This function grabs all paintevents that otherwise would have been
-+ processed by the QScrollView::viewportPaintEvent(). Here we use a
-+ doublebuffer to reduce 'on-paint' flickering on QIconView
-+ (and of course its children).
-+
-+ \sa QScrollView::viewportPaintEvent(), QIconView::drawContents()
-+*/
-+
-+void QIconView::bufferedPaintEvent( QPaintEvent* pe )
-+{
-+ QWidget* vp = viewport();
-+ QRect r = pe->rect() & vp->rect();
-+ int ex = r.x() + contentsX();
-+ int ey = r.y() + contentsY();
-+ int ew = r.width();
-+ int eh = r.height();
-+
-+ if ( !d->backBuffer )
-+ d->backBuffer = new QPixmap(vp->size());
-+ if ( d->backBuffer->size() != vp->size() ) {
-+ // Resize function (with hysteresis). Uses a good compromise between memory
-+ // consumption and speed (number) of resizes.
-+ float newWidth = (float)vp->width();
-+ float newHeight = (float)vp->height();
-+ if ( newWidth > d->backBuffer->width() || newHeight > d->backBuffer->height() )
-+ {
-+ newWidth *= 1.1892;
-+ newHeight *= 1.1892;
-+ d->backBuffer->resize( (int)newWidth, (int)newHeight );
-+ } else if ( 1.5*newWidth < d->backBuffer->width() || 1.5*newHeight < d->backBuffer->height() )
-+ d->backBuffer->resize( (int)newWidth, (int)newHeight );
-+ }
-+
-+ QPainter p;
-+ p.begin(d->backBuffer, vp);
-+ drawContentsOffset(&p, contentsX(), contentsY(), ex, ey, ew, eh);
-+ p.end();
-+ bitBlt(vp, r.x(), r.y(), d->backBuffer, r.x(), r.y(), ew, eh);
-+}
-+
-+/*!
- \reimp
- */
-
-@@ -5726,7 +5771,7 @@ bool QIconView::eventFilter( QObject * o, QEvent * e )
- if ( !d->rubber )
- drawDragShapes( d->oldDragPos );
- }
-- viewportPaintEvent( (QPaintEvent*)e );
-+ bufferedPaintEvent( (QPaintEvent*)e );
- if ( d->dragging ) {
- if ( !d->rubber )
- drawDragShapes( d->oldDragPos );
-diff --git a/src/iconview/qiconview.h b/src/iconview/qiconview.h
-index 97780d8..109779f 100644
---- a/src/iconview/qiconview.h
-+++ b/src/iconview/qiconview.h
-@@ -452,6 +452,7 @@ protected:
- void contentsDropEvent( QDropEvent *e );
- #endif
-
-+ void bufferedPaintEvent( QPaintEvent* );
- void resizeEvent( QResizeEvent* e );
- void keyPressEvent( QKeyEvent *e );
- void focusInEvent( QFocusEvent *e );