From: <and...@us...> - 2009-07-07 11:19:11
|
Revision: 10121 http://plplot.svn.sourceforge.net/plplot/?rev=10121&view=rev Author: andrewross Date: 2009-07-07 11:19:10 +0000 (Tue, 07 Jul 2009) Log Message: ----------- ANR on behalf of Dmitri Gribenko. Remove check for NULL pointer before calling delete in C++ code. C++ standard ensures that delete will carry out this check anyway. Modified Paths: -------------- trunk/bindings/qt_gui/plqt.cpp Modified: trunk/bindings/qt_gui/plqt.cpp =================================================================== --- trunk/bindings/qt_gui/plqt.cpp 2009-07-06 02:09:13 UTC (rev 10120) +++ trunk/bindings/qt_gui/plqt.cpp 2009-07-07 11:19:10 UTC (rev 10121) @@ -381,7 +381,7 @@ QtRasterDevice::~QtRasterDevice() { - if(m_painterP!=NULL) delete m_painterP; + delete m_painterP; } void QtRasterDevice::definePlotName(const char* fileName, const char* format) @@ -418,7 +418,7 @@ QtSVGDevice::~QtSVGDevice() { - if(m_painterP!=NULL) delete m_painterP; + delete m_painterP; } void QtSVGDevice::definePlotName(const char* fileName) @@ -471,7 +471,7 @@ QtEPSDevice::~QtEPSDevice() { - if(m_painterP!=NULL) delete m_painterP; + delete m_painterP; } void QtEPSDevice::definePlotName(const char* fileName, int ifeps) @@ -513,7 +513,7 @@ QtPLWidget::~QtPLWidget() { clearBuffer(); - if(m_pixPixmap!=NULL) delete m_pixPixmap; + delete m_pixPixmap; } void QtPLWidget::clearWidget() @@ -751,11 +751,8 @@ void QtPLWidget::resizeEvent( QResizeEvent * ) { m_bAwaitingRedraw=true; - if(m_pixPixmap!=NULL) - { - delete m_pixPixmap; - m_pixPixmap=NULL; - } + delete m_pixPixmap; + m_pixPixmap=NULL; } void QtPLWidget::paintEvent( QPaintEvent * ) @@ -765,7 +762,7 @@ getPlotParameters(x_fact, y_fact, x_offset, y_offset); if(m_bAwaitingRedraw || m_pixPixmap==NULL || m_listBuffer.size()!=m_iOldSize) // If must regenerate image, draw it in the pixmap { - if(m_pixPixmap!=NULL) delete m_pixPixmap; + delete m_pixPixmap; m_pixPixmap=new QPixmap(width(), height()); QPainter* painter=new QPainter; painter->begin(m_pixPixmap); @@ -906,8 +903,8 @@ { killed=true; QCoreApplication::processEvents(QEventLoop::AllEvents, 10); - if(m_pixPixmap!=NULL) delete m_pixPixmap; - if(m_painterP!=NULL) delete m_painterP; + delete m_pixPixmap; + delete m_painterP; // if(pic!=NULL) delete pic; m_pixPixmap=NULL; m_painterP=NULL; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <and...@us...> - 2009-07-24 20:11:09
|
Revision: 10177 http://plplot.svn.sourceforge.net/plplot/?rev=10177&view=rev Author: andrewross Date: 2009-07-24 20:11:00 +0000 (Fri, 24 Jul 2009) Log Message: ----------- ANR for Alban Rochel - one-line fix for the Qt drivers, fixing a bug preventing unicode characters from being displayed properly on big-endian systems (e.g. PowerPC Macs). Modified Paths: -------------- trunk/bindings/qt_gui/plqt.cpp Modified: trunk/bindings/qt_gui/plqt.cpp =================================================================== --- trunk/bindings/qt_gui/plqt.cpp 2009-07-23 18:02:03 UTC (rev 10176) +++ trunk/bindings/qt_gui/plqt.cpp 2009-07-24 20:11:00 UTC (rev 10177) @@ -233,7 +233,7 @@ { if(text[i]!=(PLUNICODE)plplotEsc) { - currentString.append(QString((QChar*)&(text[i]), 1)); + currentString.append(QString(QChar(text[i]))); ++i; continue; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <hba...@us...> - 2009-11-20 00:29:10
|
Revision: 10617 http://plplot.svn.sourceforge.net/plplot/?rev=10617&view=rev Author: hbabcock Date: 2009-11-20 00:29:03 +0000 (Fri, 20 Nov 2009) Log Message: ----------- Get rid of warning messages on mingw32 by casting variables as appropriate (Qt4.5.3). Modified Paths: -------------- trunk/bindings/qt_gui/plqt.cpp Modified: trunk/bindings/qt_gui/plqt.cpp =================================================================== --- trunk/bindings/qt_gui/plqt.cpp 2009-11-19 23:20:23 UTC (rev 10616) +++ trunk/bindings/qt_gui/plqt.cpp 2009-11-20 00:29:03 UTC (rev 10617) @@ -192,7 +192,7 @@ tempPainter.end(); - p->drawPicture((int) ( xOffset + bounding.width() / 2. ), -yOffset, tempPic ); + p->drawPicture((int) ( xOffset + bounding.width() / 2. ), (int) -yOffset, tempPic ); xOffset += bounding.width(); } @@ -746,7 +746,7 @@ el.Data.ColourStruct->R = r; el.Data.ColourStruct->G = g; el.Data.ColourStruct->B = b; - el.Data.ColourStruct->A = alpha * 255.; + el.Data.ColourStruct->A = (PLINT) (alpha * 255.); m_listBuffer.append( el ); @@ -767,7 +767,7 @@ el.Data.ColourStruct->R = r; el.Data.ColourStruct->G = g; el.Data.ColourStruct->B = b; - el.Data.ColourStruct->A = alpha * 255.; + el.Data.ColourStruct->A = (PLINT) (alpha * 255.); bgColour.r = r; bgColour.g = g; @@ -835,7 +835,7 @@ p->translate( -s->just * xOffset * p->device()->logicalDpiY() / picDpi, 0. ); - p->drawPicture( 0., 0., picText ); + p->drawPicture( 0, 0, picText ); p->resetTransform(); @@ -1050,7 +1050,7 @@ case SET_BG_COLOUR: SolidBrush.setColor( QColor( i->Data.ColourStruct->R, i->Data.ColourStruct->G, i->Data.ColourStruct->B, i->Data.ColourStruct->A )); - p->fillRect( 0., 0., m_dWidth, m_dHeight, SolidBrush ); + p->fillRect( 0, 0, (int) m_dWidth, (int) m_dHeight, SolidBrush ); break; default: This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ai...@us...> - 2011-02-25 22:36:45
|
Revision: 11579 http://plplot.svn.sourceforge.net/plplot/?rev=11579&view=rev Author: airwin Date: 2011-02-25 22:36:39 +0000 (Fri, 25 Feb 2011) Log Message: ----------- Replace drawConvexPolygon with drawPolygon. This fixes a -dev qtwidget bug for example 27 which has complex (i.e., not convex) boundaries for the filled polygons that are plotted. Use Qt::WindingFill fill rule rather than the (default) Qt::OddEvenFill fill rule. This makes a major difference for the example 27 fill results. For some reason the former is implemented in the Qt4 library in a much less buggy way than the latter. N.B. the Qt::WindingFill fill rule is ignored by the svgqt device. Instead, the resulting svg file has the incorrect oddeven fill attribute. This must be a bug in the Qt4 library implementation (at least for the 4.6.3 Debian squeeze version of Qt4). Modified Paths: -------------- trunk/bindings/qt_gui/plqt.cpp Modified: trunk/bindings/qt_gui/plqt.cpp =================================================================== --- trunk/bindings/qt_gui/plqt.cpp 2011-02-25 12:00:57 UTC (rev 11578) +++ trunk/bindings/qt_gui/plqt.cpp 2011-02-25 22:36:39 UTC (rev 11579) @@ -127,7 +127,7 @@ polygon[i].setX( (PLFLT) x[i] * downscale ); polygon[i].setY( m_dHeight - (PLFLT) y[i] * downscale ); } - m_painterP->drawPolygon( polygon, npts ); + m_painterP->drawPolygon( polygon, npts, Qt::WindingFill ); delete[] polygon; } @@ -1295,7 +1295,7 @@ p->setPen( NoPen ); hasPen = false; } - p->drawConvexPolygon( *( i->Data.Polyline ) ); + p->drawPolygon( *( i->Data.Polyline ), Qt::WindingFill ); p->setRenderHints( QPainter::Antialiasing, (bool) lines_aa ); break; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ai...@us...> - 2011-03-02 18:58:24
|
Revision: 11587 http://plplot.svn.sourceforge.net/plplot/?rev=11587&view=rev Author: airwin Date: 2011-03-02 18:58:17 +0000 (Wed, 02 Mar 2011) Log Message: ----------- Make all qt devices honor the -eofill option. The exception is the svgqt device, where there is currently a bug in the Qt4 libraries (at least for the Debian Squeeze platform) such that the SVG file output always specifies the oddeven SVG fill rule regardless of which fill rule is specified for the Qt4 libraries. Modified Paths: -------------- trunk/bindings/qt_gui/plqt.cpp Modified: trunk/bindings/qt_gui/plqt.cpp =================================================================== --- trunk/bindings/qt_gui/plqt.cpp 2011-03-02 18:36:05 UTC (rev 11586) +++ trunk/bindings/qt_gui/plqt.cpp 2011-03-02 18:58:17 UTC (rev 11587) @@ -127,7 +127,10 @@ polygon[i].setX( (PLFLT) x[i] * downscale ); polygon[i].setY( m_dHeight - (PLFLT) y[i] * downscale ); } - m_painterP->drawPolygon( polygon, npts, Qt::WindingFill ); + if ( plsc->dev_eofill ) + m_painterP->drawPolygon( polygon, npts, Qt::OddEvenFill ); + else + m_painterP->drawPolygon( polygon, npts, Qt::WindingFill ); delete[] polygon; } @@ -1295,7 +1298,10 @@ p->setPen( NoPen ); hasPen = false; } - p->drawPolygon( *( i->Data.Polyline ), Qt::WindingFill ); + if ( plsc->dev_eofill ) + p->drawPolygon( *( i->Data.Polyline ), Qt::OddEvenFill ); + else + p->drawPolygon( *( i->Data.Polyline ), Qt::WindingFill ); p->setRenderHints( QPainter::Antialiasing, (bool) lines_aa ); break; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ai...@us...> - 2011-07-05 19:06:18
|
Revision: 11791 http://plplot.svn.sourceforge.net/plplot/?rev=11791&view=rev Author: airwin Date: 2011-07-05 19:06:12 +0000 (Tue, 05 Jul 2011) Log Message: ----------- Replace idiosyncratic method of calculating superscript/subscript offsets and font sizes with standard (plP_script_scale) method. The test_superscript_subscript.py results are much improved by this change. Modified Paths: -------------- trunk/bindings/qt_gui/plqt.cpp Modified: trunk/bindings/qt_gui/plqt.cpp =================================================================== --- trunk/bindings/qt_gui/plqt.cpp 2011-07-05 17:36:24 UTC (rev 11790) +++ trunk/bindings/qt_gui/plqt.cpp 2011-07-05 19:06:12 UTC (rev 11791) @@ -1,12 +1,11 @@ -// -// -// This software is provided under the LGPL in March 2009 by the +// This software was donated under the LGPL to the PLplot project in +// March 2009 by the // Cluster Science Centre // QSAS team, // Imperial College, London // // Copyright (C) 2009 Imperial College, London -// Copyright (C) 2009 Alan W. Irwin +// Copyright (C) 2009-2011 Alan W. Irwin // // This is free software; you can redistribute it and/or modify // it under the terms of the GNU General Lesser Public License as published @@ -22,15 +21,7 @@ // write to the Free Software Foundation, Inc., // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA // -// History: -// -// -// March 2009: v1.00 -// Initial release. -// -// - #include "qt.h" // Global variables for Qt driver. @@ -211,29 +202,36 @@ xOffset += bounding.width(); } +// 0.8 mimics the offset of first superscript/subscript level implemented +// in plstr (plsym.c) for Hershey fonts. Indeed when comparing with +// -dev xwin results this factor appears to offset the centers of the +// letters appropriately (but not their edges since different font sizes +// are involved). +# define RISE_FACTOR 0.8 + QPicture QtPLDriver::getTextPicture( PLUNICODE fci, PLUNICODE* text, int len, PLFLT chrht ) { char plplotEsc; plgesc( &plplotEsc ); - double old_fontScale; - QPicture res; QPainter p( &res ); QString currentString; + PLFLT old_sscale, sscale, old_soffset, soffset; + PLINT level = 0; + PLFLT dyOffset = 0.; yOffset = 0.; xOffset = 0.; - // Scaling factor of 1.6 determined empirically to make all qt results + // Scaling factor of 1.45 determined empirically to make all qt results // have the same character size as cairo results (taking into account // the slightly different actual glyph sizes for the different // default fonts found by cairo and qt). - currentFontSize = chrht * POINTS_PER_INCH / 25.4 * 1.45; - currentFontScale = 1.; - underlined = false; - overlined = false; + currentFontSize = chrht * POINTS_PER_INCH / 25.4 * 1.45; + underlined = false; + overlined = false; p.setFont( getFont( fci ) ); @@ -251,38 +249,42 @@ ++i; // Now analyse the escaped character switch ( text[i] ) { - case 'd': + case 'd': //subscript drawTextInPicture( &p, currentString ); currentString.clear(); - old_fontScale = currentFontScale; - if ( yOffset > 0.000000000001 ) // I've already encountered precision issues here, so changed 0 into epsilon - { - currentFontScale *= 1.25; // Subscript scaling parameter - } - else - { - currentFontScale *= 0.8; // Subscript scaling parameter - } + plP_script_scale( FALSE, &level, + &old_sscale, &sscale, &old_soffset, &soffset ); + currentFontScale = sscale; - yOffset -= currentFontSize * old_fontScale / 2.; + // The correction for the difference in magnitude + // between the baseline and middle coordinate systems + // for subscripts should be + // -0.5*(fontSize - superscript/subscript fontSize). + // dyOffset = -0.5 * currentFontSize * ( 1.0 - sscale ); + // But empirically this change in offset should not be applied + // so leave it at its initial value of zero. + yOffset = -( currentFontSize * RISE_FACTOR * soffset + dyOffset ); p.setFont( getFont( fci ) ); break; - case 'u': + case 'u': //superscript drawTextInPicture( &p, currentString ); currentString.clear(); - if ( yOffset < -0.000000000001 ) - { - currentFontScale *= 1.25; // Subscript scaling parameter - } - else - { - currentFontScale *= 0.8; // Subscript scaling parameter - } + plP_script_scale( TRUE, &level, + &old_sscale, &sscale, &old_soffset, &soffset ); + currentFontScale = sscale; - yOffset += currentFontSize * currentFontScale / 2.; + // The correction for the difference in magnitude + // between the baseline and middle coordinate systems + // for superscripts should be + // 0.5*(fontSize - superscript/subscript fontSize). + // dyOffset = 0.5 * currentFontSize * ( 1.0 - sscale ); + // But empirically this change in offset should not be applied + // so leave it at its initial value of zero. + yOffset = currentFontSize * RISE_FACTOR * soffset + dyOffset; + p.setFont( getFont( fci ) ); break; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ai...@us...> - 2011-07-06 04:50:43
|
Revision: 11796 http://plplot.svn.sourceforge.net/plplot/?rev=11796&view=rev Author: airwin Date: 2011-07-06 04:50:37 +0000 (Wed, 06 Jul 2011) Log Message: ----------- Bug fix. Restore currentFontScale default value that was inadvertently removed by the last commit. This bug affected text for a number of qt devices. Modified Paths: -------------- trunk/bindings/qt_gui/plqt.cpp Modified: trunk/bindings/qt_gui/plqt.cpp =================================================================== --- trunk/bindings/qt_gui/plqt.cpp 2011-07-06 02:28:50 UTC (rev 11795) +++ trunk/bindings/qt_gui/plqt.cpp 2011-07-06 04:50:37 UTC (rev 11796) @@ -229,9 +229,10 @@ // have the same character size as cairo results (taking into account // the slightly different actual glyph sizes for the different // default fonts found by cairo and qt). - currentFontSize = chrht * POINTS_PER_INCH / 25.4 * 1.45; - underlined = false; - overlined = false; + currentFontSize = chrht * POINTS_PER_INCH / 25.4 * 1.45; + currentFontScale = 1.; + underlined = false; + overlined = false; p.setFont( getFont( fci ) ); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <and...@us...> - 2011-09-03 22:54:51
|
Revision: 11908 http://plplot.svn.sourceforge.net/plplot/?rev=11908&view=rev Author: andrewross Date: 2011-09-03 22:54:45 +0000 (Sat, 03 Sep 2011) Log Message: ----------- Fix incorrect freeing of memory in QtPLWidget. Memory allocated with new XXXX[] should be released with delete[]. Valgrind picked this up. Modified Paths: -------------- trunk/bindings/qt_gui/plqt.cpp Modified: trunk/bindings/qt_gui/plqt.cpp =================================================================== --- trunk/bindings/qt_gui/plqt.cpp 2011-09-02 20:12:36 UTC (rev 11907) +++ trunk/bindings/qt_gui/plqt.cpp 2011-09-03 22:54:45 UTC (rev 11908) @@ -962,7 +962,7 @@ // picDpi = picText.logicalDpiY(); pls->string_length = ( (PLFLT) xOffset / picDpi ) * 25.4; - free( text ); + delete[] text; return; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <and...@us...> - 2011-12-08 20:56:43
|
Revision: 12105 http://plplot.svn.sourceforge.net/plplot/?rev=12105&view=rev Author: andrewross Date: 2011-12-08 20:56:36 +0000 (Thu, 08 Dec 2011) Log Message: ----------- Remove unused variable. Modified Paths: -------------- trunk/bindings/qt_gui/plqt.cpp Modified: trunk/bindings/qt_gui/plqt.cpp =================================================================== --- trunk/bindings/qt_gui/plqt.cpp 2011-12-08 20:53:37 UTC (rev 12104) +++ trunk/bindings/qt_gui/plqt.cpp 2011-12-08 20:56:36 UTC (rev 12105) @@ -1132,7 +1132,6 @@ { if ( locate_mode ) { - Qt::KeyboardModifiers modifiers = event->modifiers(); QPoint p = QCursor::pos(); gin.pX = p.x(); gin.pY = height() - p.y(); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ai...@us...> - 2011-12-15 00:42:47
|
Revision: 12110 http://plplot.svn.sourceforge.net/plplot/?rev=12110&view=rev Author: airwin Date: 2011-12-15 00:42:41 +0000 (Thu, 15 Dec 2011) Log Message: ----------- Apply patch suggested by Alexandre Becoulet to replace qtwidgets hard-coded background by the PLplot background. This makes the results of resizing the window look much nicer. Modified Paths: -------------- trunk/bindings/qt_gui/plqt.cpp Modified: trunk/bindings/qt_gui/plqt.cpp =================================================================== --- trunk/bindings/qt_gui/plqt.cpp 2011-12-08 23:48:32 UTC (rev 12109) +++ trunk/bindings/qt_gui/plqt.cpp 2011-12-15 00:42:41 UTC (rev 12110) @@ -1267,8 +1267,7 @@ painter->begin( m_pixPixmap ); // Draw the margins and the background - painter->fillRect( 0, 0, width(), height(), QBrush( Qt::white ) ); - painter->fillRect( 0, 0, width(), height(), QBrush( Qt::gray, Qt::Dense4Pattern ) ); + painter->fillRect( 0, 0, width(), height(), QColor( bgColour.r, bgColour.g, bgColour.b ) ); // Re-initialise pens etc. resetPensAndBrushes( painter ); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ai...@us...> - 2013-02-26 19:25:39
|
Revision: 12293 http://plplot.svn.sourceforge.net/plplot/?rev=12293&view=rev Author: airwin Date: 2013-02-26 19:25:33 +0000 (Tue, 26 Feb 2013) Log Message: ----------- Drop processing mouse release and mouse move events, i.e., only process mouse press events. This fixed a qt device driver bug where clicking the right mouse key was processed twice (once with mouse press and once with mouse release) which lead to anomalous behaviour for multi-paged plots where instead of moving to the next page, it would move to the next and then immediately to the next (or exit if run out of pages). Modified Paths: -------------- trunk/bindings/qt_gui/plqt.cpp Modified: trunk/bindings/qt_gui/plqt.cpp =================================================================== --- trunk/bindings/qt_gui/plqt.cpp 2013-02-16 18:48:18 UTC (rev 12292) +++ trunk/bindings/qt_gui/plqt.cpp 2013-02-26 19:25:33 UTC (rev 12293) @@ -1120,12 +1120,12 @@ void QtPLWidget::mouseReleaseEvent( QMouseEvent * event ) { - mouseEvent( event ); + //mouseEvent( event ); } void QtPLWidget::mouseMoveEvent( QMouseEvent * event ) { - mouseEvent( event ); + //mouseEvent( event ); } void QtPLWidget::keyPressEvent( QKeyEvent* event ) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ai...@us...> - 2014-04-01 19:53:17
|
Revision: 13091 http://sourceforge.net/p/plplot/code/13091 Author: airwin Date: 2014-04-01 19:53:12 +0000 (Tue, 01 Apr 2014) Log Message: ----------- Apply empirically derived (using examples/python/test_circle.py) and examples/python/x02) vertical offset for all text for the Qt5 case. This vertical offset is substantial (greater than half the character box height) and roughly constant for most glyphs/fonts. However, the final value was optimized for the light diagonal cross glyph in test_circle.py. That example shows that other glyphs (except for the well-known asterisk case which is vertically misaligned by font design) have a dispersion in vertical alignments that is larger than for cairo which in turn is larger than for qt with Qt4. Both those latter dispersion results were derived with no empirical vertical offset at all. An additional issue which confuses the issue concerning the best vertical alignment for qt with Qt5, cairo, and qt with Qt4 is the font selection for all those cases is different (as evidenced by different sizes/shapes of glyphs in all three cases and missing glyphs (i.e., Korean for example 24) for the Qt5 case which are present in the other cases. I assume all these issues are due to Qt5 version 5.2.1 font selection and font alignment issues which will be addressed for future Qt5 versions. And when those Qt5 fixes occur, this empirical vertical offset will have to be changed or else withdrawn (set to zero). Modified Paths: -------------- trunk/bindings/qt_gui/plqt.cpp Modified: trunk/bindings/qt_gui/plqt.cpp =================================================================== --- trunk/bindings/qt_gui/plqt.cpp 2014-04-01 19:28:28 UTC (rev 13090) +++ trunk/bindings/qt_gui/plqt.cpp 2014-04-01 19:53:12 UTC (rev 13091) @@ -249,8 +249,27 @@ PLFLT old_sscale, sscale, old_soffset, soffset; PLINT level = 0; PLFLT dyOffset = 0.; - - yOffset = 0.; +#ifdef PLPLOT_USE_QT5 + // Empirical Y offset of text (needed for Qt5 for some reason). + // Note this was derived using the test_circle.py python script + // with the vertical alignment of the light diagonal cross + // optimized. That example shows that other glyphs (except for + // the well-known asterisk case which is vertically misaligned by + // font design) do not have the best vertical alignment. This is + // contrary to the results for cairo and qt with Qt4 which need no + // special empirical Y offset to get good vertical alignment for + // most glyphs of that example (other than the asterisk). An + // additional issue which confuses the decision concerning the + // best vertical alignment for qt with Qt5 is the font selection + // for qt with Qt5 is quite different than that for qt with Qt4 or + // cairo. I assume all these issues are due to Qt5 version 5.2.1 + // font selection and font alignment bugs which will be addressed + // for future Qt5 versions. + PLFLT empirical_yOffset = -0.63 * chrht * POINTS_PER_INCH / 25.4; +#else + PLFLT empirical_yOffset = 0.; +#endif + yOffset = empirical_yOffset; xOffset = 0.; // Scaling factor of 1.45 determined empirically to make all qt results @@ -292,7 +311,7 @@ // dyOffset = -0.5 * currentFontSize * ( 1.0 - sscale ); // But empirically this change in offset should not be applied // so leave it at its initial value of zero. - yOffset = -( currentFontSize * RISE_FACTOR * soffset + dyOffset ); + yOffset = empirical_yOffset - ( currentFontSize * RISE_FACTOR * soffset + dyOffset ); p.setFont( getFont( fci ) ); break; @@ -312,7 +331,7 @@ // dyOffset = 0.5 * currentFontSize * ( 1.0 - sscale ); // But empirically this change in offset should not be applied // so leave it at its initial value of zero. - yOffset = currentFontSize * RISE_FACTOR * soffset + dyOffset; + yOffset = empirical_yOffset + currentFontSize * RISE_FACTOR * soffset + dyOffset; p.setFont( getFont( fci ) ); break; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ai...@us...> - 2014-07-11 18:32:25
|
Revision: 13137 http://sourceforge.net/p/plplot/code/13137 Author: airwin Date: 2014-07-11 18:32:21 +0000 (Fri, 11 Jul 2014) Log Message: ----------- Implement a small change suggested by Jonathan Woithe <jw...@ju...> on the PLplot development mailing list. He reports this change removes intermittent "QColor::setRgb: RGB parameters out of range) warnings. My own tests using the test_interactive target on Linux show no issues with this change as well. Modified Paths: -------------- trunk/bindings/qt_gui/plqt.cpp Modified: trunk/bindings/qt_gui/plqt.cpp =================================================================== --- trunk/bindings/qt_gui/plqt.cpp 2014-07-07 01:42:58 UTC (rev 13136) +++ trunk/bindings/qt_gui/plqt.cpp 2014-07-11 18:32:21 UTC (rev 13137) @@ -674,7 +674,12 @@ resize( i_iWidth, i_iHeight ); lastColour.r = -1; setVisible( true ); - QApplication::processEvents(); + // Dropping this appears to give more reliable results + // (QColor::setRgb: RGB parameters out of range warnings go away) + // according to Jonathan Woithe <jw...@ju...> and according + // to my own tests does not affect results from the + // test_interactive target. + // QApplication::processEvents(); redrawFromLastFlush = false; redrawAll = true; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |