Upgraded Qwt to 6.2 (branch: qwt-multiaxes) (#4427)

This commit is based on https://github.com/GoldenCheetah/GoldenCheetah/pull/3956
with the following additions / changes:
* Upgraded to the latest version of the multiaxes-branch, thus eliminating crashes of GoldenCheetah on startup
* Disabled the emitting of Layout Requests on geometry changes of QwtScaleWidget - without this, CPU utilization was up to 100% on one core
* Added the class SplineLookup, reusing small portions of code from Qwt 6.1
* Re-added the splines in WPrime and RideFile (resampling), using the new interface of QwtSpline
* Appveyor: qwt in cache-section now depends on qwt/qwtconfig.prin.in for refresh on version change
This commit is contained in:
Joachim Kohlhammer
2024-01-06 22:59:55 +01:00
committed by GitHub
parent ea044a0c39
commit 49cf6340a4
991 changed files with 63097 additions and 46278 deletions

View File

@@ -1,13 +1,53 @@
#include <qapplication.h>
#include "mainwindow.h"
/*****************************************************************************
* Qwt Examples - Copyright (C) 2002 Uwe Rathmann
* This file may be used under the terms of the 3-clause BSD License
*****************************************************************************/
int main( int argc, char **argv )
#include "Plot.h"
#include <QwtMath>
#include <QApplication>
static inline double randomValue()
{
QApplication a( argc, argv );
MainWindow w;
w.resize( 800, 600 );
w.show();
return a.exec();
// a number between [ 0.0, 1.0 ]
return ( qwtRand() % 100000 ) / 100000.0;
}
class ScatterPlot : public Plot
{
public:
ScatterPlot()
{
setTitle( "Scatter Plot" );
// a million points
const int numPoints = 100000;
QPolygonF samples;
samples.reserve( numPoints );
for ( int i = 0; i < numPoints; i++ )
{
const double x = randomValue() * 24.0 + 1.0;
const double y = std::log( 10.0 * ( x - 1.0 ) + 1.0 )
* ( randomValue() * 0.5 + 0.9 );
samples += QPointF( x, y );
}
setSamples( samples );
}
};
int main( int argc, char* argv[] )
{
QApplication app( argc, argv );
ScatterPlot plot;
plot.resize( 800, 600 );
plot.show();
return app.exec();
}