File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -795,11 +795,16 @@ QPointF QgsComposition::snapPointToGrid( const QPointF& scenePoint ) const
795795 return scenePoint;
796796 }
797797
798- // snap x coordinate //todo: add support for x- and y- offset
798+ // y offset to current page
799+ int pageNr = ( int )( scenePoint.y () / ( mPageHeight + mSpaceBetweenPages ) );
800+ double yOffset = pageNr * ( mPageHeight + mSpaceBetweenPages );
801+ double yPage = scenePoint.y () - yOffset; // y-coordinate relative to current page
802+
803+ // snap x coordinate
799804 int xRatio = ( int )(( scenePoint.x () - mSnapGridOffsetX ) / mSnapGridResolution + 0.5 );
800- int yRatio = ( int )(( scenePoint. y () - mSnapGridOffsetY ) / mSnapGridResolution + 0.5 );
805+ int yRatio = ( int )(( yPage - mSnapGridOffsetY ) / mSnapGridResolution + 0.5 );
801806
802- return QPointF ( xRatio * mSnapGridResolution + mSnapGridOffsetX , yRatio * mSnapGridResolution + mSnapGridOffsetY );
807+ return QPointF ( xRatio * mSnapGridResolution + mSnapGridOffsetX , yRatio * mSnapGridResolution + mSnapGridOffsetY + yOffset );
803808}
804809
805810int QgsComposition::boundingRectOfSelectedItems ( QRectF& bRect )
You can’t perform that action at this time.
0 commit comments