Skip to content

Commit 15b2352

Browse files
authoredNov 3, 2018
Merge pull request #8406 from 3nids/fix20321
fix device size in decoration item
2 parents ec98dfc + 1fbcab9 commit 15b2352

23 files changed

+49
-28
lines changed
 

‎src/app/CMakeLists.txt

Lines changed: 25 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -27,17 +27,6 @@ SET(QGIS_APP_SRCS
2727
qgscustomization.cpp
2828
qgscustomprojectiondialog.cpp
2929
qgsdatumtransformtablewidget.cpp
30-
qgsdecorationitem.cpp
31-
qgsdecorationcopyright.cpp
32-
qgsdecorationcopyrightdialog.cpp
33-
qgsdecorationlayoutextent.cpp
34-
qgsdecorationlayoutextentdialog.cpp
35-
qgsdecorationnortharrow.cpp
36-
qgsdecorationnortharrowdialog.cpp
37-
qgsdecorationscalebar.cpp
38-
qgsdecorationscalebardialog.cpp
39-
qgsdecorationgrid.cpp
40-
qgsdecorationgriddialog.cpp
4130
qgsdiscoverrelationsdlg.cpp
4231
qgsdxfexportdialog.cpp
4332
qgsformannotationdialog.cpp
@@ -119,6 +108,18 @@ SET(QGIS_APP_SRCS
119108
qgsmaptoolsvgannotation.cpp
120109
qgsmaptooltextannotation.cpp
121110

111+
decorations/qgsdecorationitem.cpp
112+
decorations/qgsdecorationcopyright.cpp
113+
decorations/qgsdecorationcopyrightdialog.cpp
114+
decorations/qgsdecorationlayoutextent.cpp
115+
decorations/qgsdecorationlayoutextentdialog.cpp
116+
decorations/qgsdecorationnortharrow.cpp
117+
decorations/qgsdecorationnortharrowdialog.cpp
118+
decorations/qgsdecorationscalebar.cpp
119+
decorations/qgsdecorationscalebardialog.cpp
120+
decorations/qgsdecorationgrid.cpp
121+
decorations/qgsdecorationgriddialog.cpp
122+
122123
vertextool/qgsselectedfeature.cpp
123124
vertextool/qgsvertexentry.cpp
124125
vertextool/qgsvertexeditor.cpp
@@ -258,17 +259,6 @@ SET (QGIS_APP_MOC_HDRS
258259
qgscustomization.h
259260
qgscustomprojectiondialog.h
260261
qgsdatumtransformtablewidget.h
261-
qgsdecorationitem.h
262-
qgsdecorationcopyright.h
263-
qgsdecorationcopyrightdialog.h
264-
qgsdecorationlayoutextent.h
265-
qgsdecorationlayoutextentdialog.h
266-
qgsdecorationnortharrow.h
267-
qgsdecorationnortharrowdialog.h
268-
qgsdecorationscalebar.h
269-
qgsdecorationscalebardialog.h
270-
qgsdecorationgrid.h
271-
qgsdecorationgriddialog.h
272262
qgsdelattrdialog.h
273263
qgsdiagramproperties.h
274264
qgsdiscoverrelationsdlg.h
@@ -370,6 +360,18 @@ SET (QGIS_APP_MOC_HDRS
370360
qgsmaptoolregularpolygoncenterpoint.h
371361
qgsmaptoolregularpolygoncentercorner.h
372362

363+
decorations/qgsdecorationitem.h
364+
decorations/qgsdecorationcopyright.h
365+
decorations/qgsdecorationcopyrightdialog.h
366+
decorations/qgsdecorationlayoutextent.h
367+
decorations/qgsdecorationlayoutextentdialog.h
368+
decorations/qgsdecorationnortharrow.h
369+
decorations/qgsdecorationnortharrowdialog.h
370+
decorations/qgsdecorationscalebar.h
371+
decorations/qgsdecorationscalebardialog.h
372+
decorations/qgsdecorationgrid.h
373+
decorations/qgsdecorationgriddialog.h
374+
373375
vertextool/qgsselectedfeature.h
374376
vertextool/qgsvertexeditor.h
375377
vertextool/qgsvertextool.h
@@ -632,6 +634,7 @@ INCLUDE_DIRECTORIES(
632634
${CMAKE_SOURCE_DIR}/external/nmea
633635

634636
${CMAKE_SOURCE_DIR}/src/app
637+
${CMAKE_SOURCE_DIR}/src/app/decorations
635638
${CMAKE_SOURCE_DIR}/src/app/layout
636639
${CMAKE_SOURCE_DIR}/src/app/pluginmanager
637640
${CMAKE_SOURCE_DIR}/src/app/gps

‎src/app/qgsdecorationcopyright.cpp renamed to ‎src/app/decorations/qgsdecorationcopyright.cpp

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -124,8 +124,14 @@ void QgsDecorationCopyright::render( const QgsMapSettings &mapSettings, QgsRende
124124
double textWidth = QgsTextRenderer::textWidth( context, mTextFormat, displayStringList, &fm );
125125
double textHeight = QgsTextRenderer::textHeight( context, mTextFormat, displayStringList, QgsTextRenderer::Point, &fm );
126126

127-
int deviceHeight = context.painter()->device()->height();
128-
int deviceWidth = context.painter()->device()->width();
127+
QPaintDevice *device = context.painter()->device();
128+
#if QT_VERSION < 0x050600
129+
int deviceHeight = device->height() / device->devicePixelRatio();
130+
int deviceWidth = device->width() / device->devicePixelRatio();
131+
#else
132+
int deviceHeight = device->height() / device->devicePixelRatioF();
133+
int deviceWidth = device->width() / device->devicePixelRatioF();
134+
#endif
129135

130136
float xOffset( 0 ), yOffset( 0 );
131137

File renamed without changes.
File renamed without changes.

‎src/app/qgsdecorationnortharrow.cpp renamed to ‎src/app/decorations/qgsdecorationnortharrow.cpp

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -168,8 +168,14 @@ void QgsDecorationNorthArrow::render( const QgsMapSettings &mapSettings, QgsRend
168168
( centerYDouble * std::cos( radiansDouble ) )
169169
) - centerYDouble );
170170
// need width/height of paint device
171-
int deviceHeight = context.painter()->device()->height();
172-
int deviceWidth = context.painter()->device()->width();
171+
QPaintDevice *device = context.painter()->device();
172+
#if QT_VERSION < 0x050600
173+
int deviceHeight = device->height() / device->devicePixelRatio();
174+
int deviceWidth = device->width() / device->devicePixelRatio();
175+
#else
176+
int deviceHeight = device->height() / device->devicePixelRatioF();
177+
int deviceWidth = device->width() / device->devicePixelRatioF();
178+
#endif
173179

174180
// Set margin according to selected units
175181
int xOffset = 0;

‎src/app/qgsdecorationscalebar.cpp renamed to ‎src/app/decorations/qgsdecorationscalebar.cpp

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -177,8 +177,14 @@ void QgsDecorationScaleBar::render( const QgsMapSettings &mapSettings, QgsRender
177177
return;
178178

179179
//Get canvas dimensions
180-
int deviceHeight = context.painter()->device()->height();
181-
int deviceWidth = context.painter()->device()->width();
180+
QPaintDevice *device = context.painter()->device();
181+
#if QT_VERSION < 0x050600
182+
int deviceHeight = device->height() / device->devicePixelRatio();
183+
int deviceWidth = device->width() / device->devicePixelRatio();
184+
#else
185+
int deviceHeight = device->height() / device->devicePixelRatioF();
186+
int deviceWidth = device->width() / device->devicePixelRatioF();
187+
#endif
182188

183189
//Get map units per pixel. This can be negative at times (to do with
184190
//projections) and that just confuses the rest of the code in this

0 commit comments

Comments
 (0)
Please sign in to comment.