Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
openSUSE:Leap:42.1:Staging:C:DVD
amarok
0003-Optimization-Don-t-draw-more-than-necessar...
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File 0003-Optimization-Don-t-draw-more-than-necessary.patch of Package amarok
From 7096e0bae44605b50f3c435308aeb380845c54e8 Mon Sep 17 00:00:00 2001 From: Mark Kretschmann <kretschmann@kde.org> Date: Mon, 26 Aug 2013 13:27:01 +0200 Subject: [PATCH 1/1] Optimization: Don't draw more than necessary. (cherry picked from commit 8d6e72597fdfd3023ac5287ea19d8b8b3747e5ed) --- src/context/applets/analyzer/BlockAnalyzer.cpp | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/src/context/applets/analyzer/BlockAnalyzer.cpp b/src/context/applets/analyzer/BlockAnalyzer.cpp index 62131ba..e1a0b9b 100644 --- a/src/context/applets/analyzer/BlockAnalyzer.cpp +++ b/src/context/applets/analyzer/BlockAnalyzer.cpp @@ -35,10 +35,7 @@ BlockAnalyzer::BlockAnalyzer( QWidget *parent ) , m_columns( 0 ) //uint , m_rows( 0 ) //uint , m_y( 0 ) //uint - , m_barPixmap( 1, 1 ) //null qpixmaps cause crashes , m_topBarPixmap( BLOCK_WIDTH, BLOCK_HEIGHT ) - , m_scope( MIN_COLUMNS ) //Scope - , m_store( MAX_COLUMNS, 0 ) //vector<uint> , m_fade_bars( FADE_SIZE ) //vector<QPixmap> , m_fade_pos( MAX_COLUMNS, 50 ) //vector<uint> , m_fade_intensity( MAX_COLUMNS, 32 ) //vector<uint> @@ -68,6 +65,7 @@ BlockAnalyzer::resizeEvent( QResizeEvent *e ) m_y = ( height() - ( m_rows * ( BLOCK_HEIGHT + 1 ) ) + 2 ) / 2; m_scope.resize( m_columns ); + m_store.resize( m_columns ); if( m_rows != oldRows ) { @@ -180,10 +178,10 @@ BlockAnalyzer::paintEvent( QPaintEvent* ) // REMEMBER: y is a number from 0 to m_rows, 0 means all blocks are glowing, m_rows means none are p.drawPixmap( x * ( BLOCK_WIDTH + 1 ), y * ( BLOCK_HEIGHT + 1 ) + m_y, *bar(), 0, y * ( BLOCK_HEIGHT + 1 ), -1, -1 ); - } - for( int x = 0; x < m_store.size(); ++x ) + // Draw top pixmaps p.drawPixmap( x * ( BLOCK_WIDTH + 1 ), int( m_store[x] ) * ( BLOCK_HEIGHT + 1 ) + m_y, m_topBarPixmap ); + } } void -- 1.8.4
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor