diff options
author | Timothy Pearson <kb9vqf@pearsoncomputing.net> | 2011-08-19 13:19:38 -0500 |
---|---|---|
committer | Timothy Pearson <kb9vqf@pearsoncomputing.net> | 2011-08-19 13:19:38 -0500 |
commit | ab52bb043ee0f47030203501943d3e7a1f985db6 (patch) | |
tree | e9326a1028c4c3c280518b77ff68c4f820ad8168 /main/dependencies/qt3/src | |
parent | 8a8a2ac851e9b2e0637bad054b22ae4e4b268098 (diff) | |
download | tde-ab52bb043ee0f47030203501943d3e7a1f985db6.tar.gz tde-ab52bb043ee0f47030203501943d3e7a1f985db6.zip |
Increase size of internal shared double buffer to accommodate larger screens more typical of modern (year 2011) systems
Diffstat (limited to 'main/dependencies/qt3/src')
-rw-r--r-- | main/dependencies/qt3/src/kernel/qinternal.cpp | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/main/dependencies/qt3/src/kernel/qinternal.cpp b/main/dependencies/qt3/src/kernel/qinternal.cpp index 4289ecd6b..cf1e037ee 100644 --- a/main/dependencies/qt3/src/kernel/qinternal.cpp +++ b/main/dependencies/qt3/src/kernel/qinternal.cpp @@ -44,6 +44,11 @@ #include "qpainter.h" #include "qcleanuphandler.h" +// Modern systems (year 2011) have very large screens in excess of 1000 pixels wide +// Some may even have screens in excess of 4000 pixels wide(!) +// Prevent drawing artifacts on such screens +#define USE_HUGE_QT_SHARED_DOUBLE_BUFFERS 1 + static QPixmap* qdb_shared_pixmap = 0; static QPixmap *qdb_force_pixmap = 0; static QSharedDoubleBuffer* qdb_owner = 0; @@ -74,10 +79,16 @@ static const int hardLimitHeight = -1; static const int sharedLimitWidth = 64; static const int sharedLimitHeight = 20; #else +#ifdef USE_HUGE_QT_SHARED_DOUBLE_BUFFERS +// 24M on 32bpp +static const int sharedLimitWidth = 6400; +static const int sharedLimitHeight = 1000; +#else // 240K on 32bpp static const int sharedLimitWidth = 640; static const int sharedLimitHeight = 100; #endif +#endif // ******************************************************************* // QSharedDoubleBufferCleaner declaration and implementation @@ -527,8 +538,13 @@ QPixmap *QSharedDoubleBuffer::getPixmap() if ( rw >= sharedLimitWidth || rh >= sharedLimitHeight ) { if ( flags & Force ) { +#ifdef USE_HUGE_QT_SHARED_DOUBLE_BUFFERS + rw = QMIN(rw, 16000); + rh = QMIN(rh, 16000); +#else rw = QMIN(rw, 8000); rh = QMIN(rh, 8000); +#endif // need to create a big pixmap and start the cleaner if ( ! qdb_force_pixmap ) { qdb_force_pixmap = new QPixmap( rw, rh ); |