Skip to content

Commit

Permalink
Fix right and bottom edge's annotations on high DPI screens
Browse files Browse the repository at this point in the history
  • Loading branch information
nirvn committed Oct 6, 2024
1 parent 6ef5633 commit 6b7afc7
Showing 1 changed file with 5 additions and 4 deletions.
9 changes: 5 additions & 4 deletions src/core/gridmodel.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -219,11 +219,12 @@ void GridModel::update()
}
}

const QSizeF sceneSize = mMapSettings->outputSize() / mMapSettings->devicePixelRatio();
if ( mPrepareLines || mPrepareAnnotations )
{
double xPos = visibleExtent.xMinimum() - std::fmod( visibleExtent.xMinimum(), mXInterval ) + mXOffset;
const QLineF topBorder( QPointF( 0, 0 ), QPointF( mMapSettings->outputSize().width(), 0 ) );
const QLineF bottomBorder( QPointF( 0, mMapSettings->outputSize().height() ), QPointF( mMapSettings->outputSize().width(), mMapSettings->outputSize().height() ) );
const QLineF topBorder( QPointF( 0, 0 ), QPointF( sceneSize.width(), 0 ) );
const QLineF bottomBorder( QPointF( 0, sceneSize.height() ), QPointF( sceneSize.width(), sceneSize.height() ) );
while ( xPos <= visibleExtent.xMaximum() )
{
const QLineF currentLine( mMapSettings->coordinateToScreen( QgsPoint( xPos, visibleExtent.yMinimum() ) ), mMapSettings->coordinateToScreen( QgsPoint( xPos, visibleExtent.yMaximum() ) ) );
Expand Down Expand Up @@ -251,8 +252,8 @@ void GridModel::update()
}

double yPos = visibleExtent.yMinimum() - std::fmod( visibleExtent.yMinimum(), mYInterval ) + mYOffset;
const QLineF leftBorder( QPointF( 0, 0 ), QPointF( 0, mMapSettings->outputSize().height() ) );
const QLineF rightBorder( QPointF( mMapSettings->outputSize().width(), 0 ), QPointF( mMapSettings->outputSize().width(), mMapSettings->outputSize().height() ) );
const QLineF leftBorder( QPointF( 0, 0 ), QPointF( 0, sceneSize.height() ) );
const QLineF rightBorder( QPointF( sceneSize.width(), 0 ), QPointF( sceneSize.width(), sceneSize.height() ) );
while ( yPos <= visibleExtent.yMaximum() )
{
const QLineF currentLine( mMapSettings->coordinateToScreen( QgsPoint( visibleExtent.xMinimum(), yPos ) ), mMapSettings->coordinateToScreen( QgsPoint( visibleExtent.xMaximum(), yPos ) ) );
Expand Down

0 comments on commit 6b7afc7

Please sign in to comment.