profile: read DPR from QML page
This is needed on mobile, where some screens have a high DPR. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
This commit is contained in:
parent
584d835693
commit
ed1604087f
@ -23,8 +23,7 @@ ProfileView::ProfileView(QQuickItem *parent) : ChartView(parent, ProfileZValue::
|
||||
zoomLevel(0),
|
||||
zoomedPosition(0.0),
|
||||
empty(true),
|
||||
shouldCalculateMax(true),
|
||||
profileScene(std::make_unique<ProfileScene>(1.0, false, false))
|
||||
shouldCalculateMax(true)
|
||||
{
|
||||
setBackgroundColor(Qt::black);
|
||||
setFlag(ItemHasContents, true);
|
||||
@ -56,7 +55,8 @@ void ProfileView::clear()
|
||||
{
|
||||
//clearPictures();
|
||||
//disconnectTemporaryConnections();
|
||||
profileScene->clear();
|
||||
if (profileScene)
|
||||
profileScene->clear();
|
||||
//handles.clear();
|
||||
//gases.clear();
|
||||
empty = true;
|
||||
@ -73,6 +73,11 @@ void ProfileView::plotDive(const struct dive *dIn, int dcIn, int flags)
|
||||
return;
|
||||
}
|
||||
|
||||
// We can't create the scene in the constructor, because we can't get the DPR property there. Oh joy!
|
||||
if (!profileScene) {
|
||||
double dpr = std::clamp(property("dpr").toReal(), 1.0, 100.0);
|
||||
profileScene = std::make_unique<ProfileScene>(dpr, false, false);
|
||||
}
|
||||
// If there was no previously displayed dive, turn off animations
|
||||
if (empty)
|
||||
flags |= RenderFlags::Instant;
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user