commit 227334182524607bdf5eb8baa41d6cee1ca707a4b9880675c016707bef4b7245 Author: Adrian Schröter Date: Fri May 3 23:46:16 2024 +0200 Sync from SUSE:SLFO:Main qcustomplot revision 975c9ce774b54be8d70212091578841e diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..9b03811 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,23 @@ +## Default LFS +*.7z filter=lfs diff=lfs merge=lfs -text +*.bsp filter=lfs diff=lfs merge=lfs -text +*.bz2 filter=lfs diff=lfs merge=lfs -text +*.gem filter=lfs diff=lfs merge=lfs -text +*.gz filter=lfs diff=lfs merge=lfs -text +*.jar filter=lfs diff=lfs merge=lfs -text +*.lz filter=lfs diff=lfs merge=lfs -text +*.lzma filter=lfs diff=lfs merge=lfs -text +*.obscpio filter=lfs diff=lfs merge=lfs -text +*.oxt filter=lfs diff=lfs merge=lfs -text +*.pdf filter=lfs diff=lfs merge=lfs -text +*.png filter=lfs diff=lfs merge=lfs -text +*.rpm filter=lfs diff=lfs merge=lfs -text +*.tbz filter=lfs diff=lfs merge=lfs -text +*.tbz2 filter=lfs diff=lfs merge=lfs -text +*.tgz filter=lfs diff=lfs merge=lfs -text +*.ttf filter=lfs diff=lfs merge=lfs -text +*.txz filter=lfs diff=lfs merge=lfs -text +*.whl filter=lfs diff=lfs merge=lfs -text +*.xz filter=lfs diff=lfs merge=lfs -text +*.zip filter=lfs diff=lfs merge=lfs -text +*.zst filter=lfs diff=lfs merge=lfs -text diff --git a/QCustomPlot-sharedlib.tar.gz b/QCustomPlot-sharedlib.tar.gz new file mode 100644 index 0000000..00aefcb --- /dev/null +++ b/QCustomPlot-sharedlib.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:35d6ea9c7e8740edf0b37e2cb6aa6794150d0dde2541563e493f3f817012b4c0 +size 2315 diff --git a/QCustomPlot.tar.gz b/QCustomPlot.tar.gz new file mode 100644 index 0000000..1f904cd --- /dev/null +++ b/QCustomPlot.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9afc16e70e8bd8c8d5b13020387716f5e063e115b6599f0421a3846dc6ec312a +size 3772098 diff --git a/qcustomplot.changes b/qcustomplot.changes new file mode 100644 index 0000000..88e7d52 --- /dev/null +++ b/qcustomplot.changes @@ -0,0 +1,171 @@ +------------------------------------------------------------------- +Thu Jan 4 14:43:01 UTC 2024 - Dominique Leuenberger + +- Re-download QCustomPlot-sharedlib.tar.gz and QCustomPlot.tar.gz + based on the fixed download URL. +- Rebase relwithdebug.patch to apply against the new tarball (CRLF + line endings). + +------------------------------------------------------------------- +Thu Dec 21 14:33:19 UTC 2023 - Frederic Crozat + +- Fix invalid download url. + +------------------------------------------------------------------- +Wed Mar 1 10:58:39 UTC 2023 - Christophe Marin + +- Add missing requirement to qcustomplot-devel + qcustomplot.h includes 'QtPrintSupport/QtPrintSupport' + +------------------------------------------------------------------- +Wed Nov 23 15:33:03 UTC 2022 - Sergey Salnikov + +- Update to version 2.1.1: + * Qt6.4 Compatibility + * In QCPAxisPainterPrivate::getTickLabelData, don't use fixed 'e', + but locale aware character of parent plot locale. + * Axis rescaling now ignores +/- Inf in data values. + * Slight performance improvements of QCPColorMap colorization and fills. + * Several bugfixes. + +------------------------------------------------------------------- +Thu Apr 29 22:40:01 UTC 2021 - Ferdinand Thiessen + +- Update to version 2.1.0: + * Compatibility up to Qt 6.0 + * Fixed bug where QCPLayer::replot wouldn't issue full replot even + though invalidated buffers existed + * Fixed QCPCurve bug causing rendering artifacts when using + keys/values smaller than about 1e-12 in some constellations + * Fixed getValueRange when used with explicit keyRange, now doesn't + use key range expanded by one point to each side anymore + * Fixed bug of QCPAxis tick label font size change only propagating + to the layout after second call to replot + * Fixed bug of QCPTextElement not respecting the configured text + alignment flag + * Various documentation typos and improvements + * QCPLegend::clearItems is now faster in case of many legend items + * Work around Qt bug, drawing lines with pen width 1 as slow as + with pen widths > 1 (polyfill instead of line algorithm, + also on Normal-DPI), by using pen width 0 in such cases. + +------------------------------------------------------------------- +Sat Dec 15 15:12:46 UTC 2018 - Todd R + +- Add patch tags and and an explanation in the patch for the + relwithdebug.diff patch. +- Rename relwithdebug.diff to relwithdebug.patch to conform + with openSUSE patch file guidelines. + +------------------------------------------------------------------- +Tue Dec 11 02:11:29 UTC 2018 - Jan Engelhardt + +- Rename %soname to %sover to better reflect its use. +- Avoid tripleshipping license file. +- Add relwithdebug.diff, to build release-with-debug combined. + +------------------------------------------------------------------- +Wed Dec 5 21:42:51 UTC 2018 - Todd R + +- Update to Version 2.0.1 + + Bugfixes: + - Default filling order of QCPLayoutGrid is now foColumnsFirst instead of foRowsFirst, as intended and consistent with QCP1. + Note that this also changes the indexing order of e.g. QCustomPlot::axisRect(int index), compared with 2.0.0. You can change + the filling and thus indexing order yourself by calling QCPLayoutGrid::setFillOrder. + - fixed bug in QCPColorMap, when using alpha in the gradient color stops. Used to draw falsely black data points when the associated data value is exactly + on the first or last color stop. + - QCPDataSelection::enforceType(stDataRange) would erroneously add an empty data range to the selection, if the selection was already empty. + This in turn would cause isEmpty() to erroneously return false. + - fixed hypothetical crash when selectTest is called on a QCPItemCurve which has all of its points at the same position + + Other: + - Various documentation improvements and clarifications + - Prevent conflict with windows.h min/max macros if user forgets to define NOMINMAX + - compiling QCP shared libraries with static Qt is now easier + - added defines QCUSTOMPLOT_VERSION and QCUSTOMPLOT_VERSION_STR (the same way Qt does) to provide the used QCP version number + - added missing Q_DECL_OVERRIDE declarations, thus preventing warnings some compiler settings + - QCPAxisTicker and subclasses are no longer copyable by value, as intended + - QCPBarsGroup constructor is now explicit, as intended + - Qt 5.11 compatibility +- Update to Version Version 2.0.0 + + Added major features: + - Axis tick and tick label generation was completely refactored and is now handled in the QCPAxisTicker class (also see QCPAxis::setTicker). Available ticker subclasses for special uses cases: + QCPAxisTicker, QCPAxisTickerFixed, QCPAxisTickerLog, QCPAxisTickerPi, QCPAxisTickerTime, QCPAxisTickerDateTime, QCPAxisTickerText + - Data container is now based on QCPDataContainer template for unified data interface and significantly improved memory footprint and better performance for common use-cases, especially data adding/removing. + - New data selection mechanism allows selection of single data points and data ranges for plottables. See special documentation page "data selection mechanism". + - Rubber band/selection rect for data point selection and axis zooming is now available, see documentation of QCustomPlot::setSelectionRectMode and QCPSelectionRect. For this purpose, the new default + layer "overlay" was introduced, which is now the top layer, and holds the QCustomPlot's QCPSelectionRect instance. + - Data sharing between plottables of the same type (see setData methods taking a QSharedPointer) + - OpenGL hardware acceleration is now available across all Qt versions (including Qt4) in a unified, simple interface, with QCustomPlot::setOpenGl (experimental) + - QCPStatisticalBox can now display a series of statistical boxes instead of only a single one + - New QCPErrorBars plottable allows attaching error bars to any one-dimensional plottable (QCPGraph has thus lost its own error-bar capability) + - QCPColorMap now supports transparency via alpha in its color gradient stops, and via a dedicated cell-wise alpha map (see QCPColorMapData::setAlpha) + - Layers may now be individually replotted (QCPLayer::replot), if the mode (QCPLayer::setMode) is set to lmBuffered. Mutually adjacent lmLogical layers share a single paint buffer to save resources. + By default, the new topmost "overlay" layer which contains the selection rect is an lmBuffered layer. Updating the selection rect is thus very fast, independent of the plot contents. + - QCPLayerable (and thus practically all objects in QCP) now have virtual methods to receive mouse press/move/release/doubleclick/wheel events. Before, only QCPLayoutElement provided them. + this makes it much easier to subclass e.g. items and plottables to provide custom mouse interactions that were cumbersome and awkward with the simpler signal-based interface + + Added minor features: + - High-DPI support for Qt versions 5.0 and up, using device pixel ratio detected by Qt (can be changed manually via QCustomPlot::setBufferDevicePixelRatio). + - QCPGraph and QCPCurve can now be configured to only display every n'th scatter symbol, see ::setScatterSkip() method + - QCPFinancial allows to define bar width in absolute pixels and axis rect ratio, instead of only in plot key coordinates (see QCPFinancial::setWidthType) + - Range dragging/zooming can now be configured to affect more than one axis per orientation (see new overloads of QCPAxisRect::setRangeDragAxes/setRangeZoomAxes) + - Added QCPTextElement (replaces QCPPlotTitle) for general texts in layouts. Provides clicked and doubleClicked signals, as replacement for the removed QCustomPlot::titleClicked/titleDoubleClicked + - Export functions (QCustomPlot::savePng etc.) now support specifying the resolution that will be written to the image file header. This improves operability with other tools which respect metadata. + - Replots can now be queued to the next event loop iteration with replot(QCP::rpQueuedReplot). This way you can successively ask for a replot at multiple code locations without causing redundant replots + - QCPAxisRect::zoom(...) allows to zoom to a specific rectangular region given in pixel coordinates, either affecting all axes or a specified subset of axes. + - QCPRange::bounded returns a bounded range, trying to preserve its size. Works with rangeChanged signal to limit the allowed range (see rangeChanged doc) + - Plottable rescaleValueAxis method (and getValueRange) now take parameter inKeyRange, which allows rescaling of the value axis only with respect to data in the currently visible key range + - plottableClick and plottableDoubleClick signals now carry the clicked data point index as second parameter + - Added QCPAxis::scaleRange overload without "center" argument, which scales around the current axis range center + - Added QCPRange::expand/expanded overloads which take only one double parameter + - Plottables addToLegend/removeFromLegend methods now have overloads that take any QCPLegend, to make working with non-default legends easier (legends that are not QCustomPlot::legend) + - Added QCPStatisticalBox::setWhiskerAntialiased to allow controlling antialiasing state of whiskers independently of quartile box/median line + - The virtual method QCPLayoutElement::layoutChanged() now allows subclasses to react on a move of the layout element between logical positions in the parent layout, or between layouts + - QCPMarginGroup::commonMargin is now virtual, to facilitate subclassing of QCPMarginGroup + - QCPGraph::getPreparedData is now virtual, and thus allows subclasses to easily generate own plotted data, e.g. on-the-fly. + - Added QCPRange qDebug stream operator + - QCPLayoutGrid (and thus QCPLegend) can now wrap rows or columns at specified row/column counts, see setFillOrder, setWrap and the new addElement overload which doesn't have row/column index + + Added minor features after beta: + - QCPGraph fill now renders separate fill segments when there are gaps in the graph data (created by inserting NaN values) + - fractional device pixel ratios are now used, if Qt version >= 5.6 + - Axes may now be dragged/zoomed individually by starting the drag/zoom on top of the axis (previously, this required additional code) + - Manual minimum and maximum layout element sizes (setMinimumSize/setMaximumSize) can now affect the inner or the outer rect, see QCPLayoutElement::setSizeConstraintRect + + Bugfixes + - Fixed possible crash when having a QCPGraph with scatters only and a non-transparent main/fill brush of the graph + - Fixed QCPItemPixmap not updating internally cached scaled pixmap if new pixmap set with same scaled dimensions + - When using log axis scale and zooming out as far as possible (~1e-280..1e280), axis doesn't end up in (via mouse) unrecoverable range with strange axis ticks anymore + - Axis tick label algorithm for beautifully typeset powers now checks whether "e" in tick label is actually part of a number before converting the exponent to superscript + - Fixed QCustomPlot::moveLayer performing incorrect move and possible crash in certain situations + - Fixed possible crash on QCustomPlot destruction due to wrong QObject-hierarchy. Only occurs if a QCPAxisRect is removed from the normal QCustomPlot destruction hierarchy by taking it out of its layout + - Fixed possible freeze when data values become infinity after coord-to-pixel transformation (e.g. maximally zoomed out log axis), and line style is not solid (e.g. dashed) or phFastPolylines is disabled + - Fixed a few missing enums in meta type system, by unifying usage of Q_ENUMS, Q_FLAGS and Q_DECLARE_METATYPE + - Fixed QCPItemLine/QCPItemStraightLine not being selectable when defining coords are many orders of magnitude (>1e8) larger than currently viewed range + - Fixed/worked around crash due to bug in QPainter::drawPixmap with very large negative x/y pixel coordinates, when drawing sparse pixmap scatters + - Fixed possible (but unlikely) int overflow in adaptive sampling algorithm, that could cause plot artifacts when using extremely sparse data (with respect to current key axis range). + - Fixed QCPBarsGroup bug which caused stPlotCoords spacing to be wrong with vertical key axes + - A QCPBars axis rescale in the main window constructor (i.e. without well-defined plot size) now falls back to a datapoint-tight rescaling instead of doing nothing (because bar width can't be determined) + - Improved QCPBars stacking when using bars with very large keys and key separation at limit of double precision + + Bugfixes after beta: + - fixed QCPCurve vertex optimization algorithm not handling log axes correctly + - upon removing the inner most axis, the offset of the new inner most axis (previously second axis) is now set to the value of the removed axis, instead of leaving a gap + - QCPColorMap now has a default gradient (gpCold) again, instead of an empty and thus black gradient + - doc: black QCPColorMap/QCPColorGradient documentation images fixed + - scatter styles ssDiamond, ssTriangle and ssTriangleInverted now get proper filling with the specified brush + - fixed click signals of plottable/axes/etc. not being emitted properly + - fixed uninitialized scatterSkip on QCPCurve, leading to irregular default appearance of scatter skips + - fixed device pixel ratio not being implemented correctly in cached tick labels + - QCPLayoutElement::setMaximum/setMinimum now is with respect to the inner rect as intended (and documented), instead of the outer rect (and this can now be changed via setSizeConstraintRect) + - fixed dllimport issue on template classes when compiling as shared library with MSVC +- Actually install shared libraries +- Drop qt4 version + +------------------------------------------------------------------- +Sat Feb 4 14:56:35 UTC 2017 - wbauer@tmo.at + +- fix building the Qt5 version by calling qmake-qt5 instead of + qmake and adding a Qt5PrintSupport build requirement (boo#1007696) + +------------------------------------------------------------------- +Sun Jun 19 10:48:19 UTC 2016 - mailaender@opensuse.org + +- initial packaging of version 1.3.2 + diff --git a/qcustomplot.spec b/qcustomplot.spec new file mode 100644 index 0000000..57d7d21 --- /dev/null +++ b/qcustomplot.spec @@ -0,0 +1,143 @@ +# +# spec file for package qcustomplot +# +# Copyright (c) 2024 SUSE LLC +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via https://bugs.opensuse.org/ +# + + +Name: qcustomplot +Version: 2.1.1 +%define sover 2 +Release: 0 +Summary: Qt widget for plotting and data visualization +License: GPL-3.0-or-later +URL: https://www.qcustomplot.com/ +Group: Development/Libraries/C and C++ +Source0: https://www.qcustomplot.com/release/%{version}/QCustomPlot.tar.gz +Source1: https://www.qcustomplot.com/release/%{version}/QCustomPlot-sharedlib.tar.gz +# PATCH-FIX-OPENSUSE relwithdebug.diff -- build with debug symbols +Patch1: relwithdebug.patch +BuildRequires: fdupes +BuildRequires: gcc-c++ >= 4.6.4 +BuildRequires: gdb +BuildRequires: pkg-config +BuildRequires: pkgconfig(Qt5Core) +BuildRequires: pkgconfig(Qt5Gui) +BuildRequires: pkgconfig(Qt5PrintSupport) +BuildRequires: pkgconfig(Qt5Widgets) + +%description +QCustomPlot is a Qt C++ widget for plotting and data visualization. +This plotting library focuses on making good looking, publication quality 2D +plots, graphs and charts, as well as offering high performance for realtime +visualization applications. + +%package -n lib%{name}%{sover} +Summary: Qt widget for plotting and data visualization +Group: System/Libraries +Provides: %{name} = %{version} +Provides: lib%{name} = %{version} +Obsoletes: %{name} < %{version} +Provides: %{name}-qt5 = %{version} +Obsoletes: %{name}-qt5 < %{version} +# Earlier misnamed packages +Provides: lib%{name}-%{sover} = %{version} +Obsoletes: lib%{name}-%{sover} < %{version} + +%description -n lib%{name}%{sover} +QCustomPlot is a Qt C++ widget for plotting and data visualization. +This plotting library focuses on making good looking, publication quality 2D +plots, graphs and charts, as well as offering high performance for realtime +visualization applications. + +%package devel +Summary: Development files for QCustomPlot +Group: Development/Libraries/C and C++ +Requires: lib%{name}%{sover} = %{version} +Requires: pkgconfig(Qt5PrintSupport) +# Last used 2018 with version 2.0.0 +Provides: %{name}-qt5-devel = %{version} +Obsoletes: %{name}-qt5-devel < %{version} + +%description devel +This package contains libraries and header files for +developing applications that use QCustomPlot. + +%package doc +Summary: Documentation and examples for QCustomPlot +Group: Documentation/Other +BuildArch: noarch + +%description doc +This package contains the documentation and examples for QCustomPlot. + +%prep +%setup -q -n %{name} -a 1 %{name}-sharedlib +%patch -P 1 -p1 + +%build +mkdir %{name}-sharedlib/sharedlib-compilation/build +pushd %{name}-sharedlib/sharedlib-compilation/build +export SOVERSION=%{version} +%qmake5 ../sharedlib-compilation.pro +%make_jobs +popd + +%install +pushd %{name}-sharedlib/sharedlib-compilation/build +install -Dm 755 -t %{buildroot}%{_libdir} libqcustomplot*.so* +popd + +install -Dm 644 qcustomplot.h %{buildroot}%{_includedir}/qcustomplot.h + +# pkg-config files +install -d %{buildroot}%{_libdir}/pkgconfig/ + +cat > %{buildroot}%{_libdir}/pkgconfig/%{name}.pc < +Date: 2018-12-11 03:21:32.396946319 +0100 + +Put the debug symbols in the libraries so we can have proper +debuginfo packages rather than having a separate debug version +of the libraries. + +--- + qcustomplot-sharedlib/sharedlib-compilation/sharedlib-compilation.pro | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +Index: qcustomplot/qcustomplot-sharedlib/sharedlib-compilation/sharedlib-compilation.pro +=================================================================== +--- qcustomplot.orig/qcustomplot-sharedlib/sharedlib-compilation/sharedlib-compilation.pro ++++ qcustomplot/qcustomplot-sharedlib/sharedlib-compilation/sharedlib-compilation.pro +@@ -10,7 +10,7 @@ lessThan(QT_MAJOR_VERSION, 5): QMAKE_CXX + + DEFINES += QCUSTOMPLOT_COMPILE_LIBRARY + TEMPLATE = lib +-CONFIG += debug_and_release build_all ++CONFIG += release force_debug_info build_all + static { + CONFIG += static + } else {