subsurface/stats
Berthold Stoeger 2b961414d7 statistics: draw legend as a QSGNode
In order not to waste CPU by constantly rerendering the chart,
we must use these weird OpenGL QSGNode things. The interface
is appallingly low-level and unfriendly.

As a first test, try to convert the legend. Create a wrapper
class that represents a rectangular item with a texture
and that will certainly need some (lots of) optimization.

Make sure that all low-level QSG-objects are only accessed
in the rendering thread. This means that the wrapper has
to maintain a notion of "dirtiness" of the state. I.e.
which part of the QSG-objects have to be modified.

From the low-level wrapper derive a class that draws a rounded
rectangle for every resize. The child class of that must then
paint on the rectangle after every resize.

That looks all not very fortunate, but it displays a
legend and will make it possible to move the legend
without and drawing operations, only shifting around
an OpenGL surface.

The render thread goes through all chart-items and
rerenders them if dirty. Currently, on deletion
of these items, this list is not reset. I.e. currently
it is not supported to remove individual items.
Only the full scene can be cleared!

Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2021-01-20 08:47:18 +01:00
..
barseries.cpp build-system: compile stats code on mobile OSs 2021-01-10 15:16:52 -08:00
barseries.h Silence some compiler warnings 2021-01-14 20:51:23 +01:00
boxseries.cpp build-system: compile stats code on mobile OSs 2021-01-10 15:16:52 -08:00
boxseries.h Silence some compiler warnings 2021-01-14 20:51:23 +01:00
chartitem.cpp statistics: draw legend as a QSGNode 2021-01-20 08:47:18 +01:00
chartitem.h statistics: draw legend as a QSGNode 2021-01-20 08:47:18 +01:00
chartlistmodel.cpp statistics: add count property to chart list 2021-01-13 11:39:36 -08:00
chartlistmodel.h statistics: add count property to chart list 2021-01-13 11:39:36 -08:00
CMakeLists.txt statistics: draw legend as a QSGNode 2021-01-20 08:47:18 +01:00
informationbox.cpp build-system: compile stats code on mobile OSs 2021-01-10 15:16:52 -08:00
informationbox.h statistics: convert chart to QQuickItem 2021-01-10 15:16:52 -08:00
legend.cpp statistics: draw legend as a QSGNode 2021-01-20 08:47:18 +01:00
legend.h statistics: draw legend as a QSGNode 2021-01-20 08:47:18 +01:00
pieseries.cpp Silence some compiler warnings 2021-01-14 20:51:23 +01:00
pieseries.h Silence some compiler warnings 2021-01-14 20:51:23 +01:00
scatterseries.cpp build-system: compile stats code on mobile OSs 2021-01-10 15:16:52 -08:00
scatterseries.h Silence some compiler warnings 2021-01-14 20:51:23 +01:00
statsaxis.cpp statistics: print ellipsis in case of too little space 2021-01-11 13:29:15 +01:00
statsaxis.h statistics: consider overhang of horizontal axes 2021-01-11 12:59:17 +01:00
statscolors.cpp statistics: add color-related functions 2021-01-01 21:10:10 +01:00
statscolors.h statistics: convert chart to QQuickItem 2021-01-10 15:16:52 -08:00
statsgrid.cpp build-system: compile stats code on mobile OSs 2021-01-10 15:16:52 -08:00
statsgrid.h statistics: convert chart to QQuickItem 2021-01-10 15:16:52 -08:00
statshelper.h statistics: convert chart to QQuickItem 2021-01-10 15:16:52 -08:00
statsicons.qrc mobile/statistics: make icons available in mobile app 2021-01-19 12:35:29 -08:00
statsseries.cpp statistics: convert chart to QQuickItem 2021-01-10 15:16:52 -08:00
statsseries.h statistics: convert chart to QQuickItem 2021-01-10 15:16:52 -08:00
statsstate.cpp statistics: don't reset binner if binner is set 2021-01-03 15:41:36 -08:00
statsstate.h statistics: reverse chart selection logic 2021-01-03 13:41:15 -08:00
statstranslations.h
statsvariables.cpp statistics: split people binner 2021-01-10 15:56:40 -08:00
statsvariables.h statistics: add count to box and whisker plots 2021-01-10 14:45:12 -08:00
statsview.cpp statistics: draw legend as a QSGNode 2021-01-20 08:47:18 +01:00
statsview.h statistics: draw legend as a QSGNode 2021-01-20 08:47:18 +01:00
zvalues.h statistics: paint custom grid 2021-01-06 12:31:22 -08:00