qscreen.cpp

Absolute File Name:/home/qt/qt5_coco/qt5/qtbase/src/gui/kernel/qscreen.cpp
Switch to Source codePreprocessed file
LineSourceCount
1-
2-
3-
4-
5QScreen::QScreen(QPlatformScreen *screen)-
6 : QObject(*new QScreenPrivate(), 0)-
7{-
8 QScreenPrivate * const d = d_func();-
9 d->setPlatformScreen(screen);-
10}
never executed: end of block
0
11-
12void QScreenPrivate::setPlatformScreen(QPlatformScreen *screen)-
13{-
14 QScreen * const q = q_func();-
15 platformScreen = screen;-
16 platformScreen->d_func()->screen = q;-
17 orientation = platformScreen->orientation();-
18 geometry = platformScreen->deviceIndependentGeometry();-
19 availableGeometry = QHighDpi::fromNative(platformScreen->availableGeometry(), QHighDpiScaling::factor(platformScreen), geometry.topLeft());-
20 logicalDpi = platformScreen->logicalDpi();-
21 refreshRate = platformScreen->refreshRate();-
22-
23 if (refreshRate < 1.0
refreshRate < 1.0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
24 refreshRate = 60.0;
never executed: refreshRate = 60.0;
0
25-
26 updatePrimaryOrientation();-
27-
28 filteredOrientation = orientation;-
29 if (filteredOrientation == Qt::PrimaryOrientation
filteredOrient...aryOrientationDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
30 filteredOrientation = primaryOrientation;
never executed: filteredOrientation = primaryOrientation;
0
31-
32 updateHighDpi();-
33}
never executed: end of block
0
34-
35-
36-
37-
38-
39QScreen::~QScreen()-
40{-
41 if (!(static_cast<QGuiApplication *>(QCoreApplication::instance()))
!(static_cast<...::instance()))Description
TRUEnever evaluated
FALSEnever evaluated
)
0
42 return;
never executed: return;
0
43-
44-
45-
46 (static_cast<QGuiApplication *>(QCoreApplication::instance()))->screenRemoved(this);-
47-
48 if (QGuiApplication::closingDown()
QGuiApplication::closingDown()Description
TRUEnever evaluated
FALSEnever evaluated
)
0
49 return;
never executed: return;
0
50-
51 QScreen *primaryScreen = QGuiApplication::primaryScreen();-
52 if (this == primaryScreen
this == primaryScreenDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
53 return;
never executed: return;
0
54-
55 bool movingFromVirtualSibling = primaryScreen
primaryScreenDescription
TRUEnever evaluated
FALSEnever evaluated
&& primaryScreen->handle()->virtualSiblings().contains(handle())
primaryScreen-...ains(handle())Description
TRUEnever evaluated
FALSEnever evaluated
;
0
56-
57-
58 for (QForeachContainer<typename QtPrivate::remove_reference<decltype(QGuiApplication::allWindows())>::type> _container_((QGuiApplication::allWindows())); _container_.control && _container_.i != _container_.e; ++_container_.i, _container_.control ^= 1) for (QWindow *window = *_container_.i; _container_.control; _container_.control = 0) {-
59 if (!window->isTopLevel()
!window->isTopLevel()Description
TRUEnever evaluated
FALSEnever evaluated
|| window->screen() != this
window->screen() != thisDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
60 continue;
never executed: continue;
0
61-
62 const bool wasVisible = window->isVisible();-
63 window->setScreen(primaryScreen);-
64-
65-
66-
67 if (movingFromVirtualSibling
movingFromVirtualSiblingDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
68 window->setVisible(wasVisible);
never executed: window->setVisible(wasVisible);
0
69 }
never executed: end of block
0
70}
never executed: end of block
0
71-
72-
73-
74-
75QPlatformScreen *QScreen::handle() const-
76{-
77 const QScreenPrivate * const d = d_func();-
78 return
never executed: return d->platformScreen;
d->platformScreen;
never executed: return d->platformScreen;
0
79}-
80QString QScreen::name() const-
81{-
82 const QScreenPrivate * const d = d_func();-
83 return
never executed: return d->platformScreen->name();
d->platformScreen->name();
never executed: return d->platformScreen->name();
0
84}-
85-
86-
87-
88-
89-
90int QScreen::depth() const-
91{-
92 const QScreenPrivate * const d = d_func();-
93 return
never executed: return d->platformScreen->depth();
d->platformScreen->depth();
never executed: return d->platformScreen->depth();
0
94}-
95-
96-
97-
98-
99-
100QSize QScreen::size() const-
101{-
102 const QScreenPrivate * const d = d_func();-
103 return
never executed: return d->geometry.size();
d->geometry.size();
never executed: return d->geometry.size();
0
104}-
105qreal QScreen::physicalDotsPerInchX() const-
106{-
107 return
never executed: return size().width() / physicalSize().width() * qreal(25.4);
size().width() / physicalSize().width() * qreal(25.4);
never executed: return size().width() / physicalSize().width() * qreal(25.4);
0
108}-
109qreal QScreen::physicalDotsPerInchY() const-
110{-
111 return
never executed: return size().height() / physicalSize().height() * qreal(25.4);
size().height() / physicalSize().height() * qreal(25.4);
never executed: return size().height() / physicalSize().height() * qreal(25.4);
0
112}-
113qreal QScreen::physicalDotsPerInch() const-
114{-
115 QSize sz = size();-
116 QSizeF psz = physicalSize();-
117 return
never executed: return ((sz.height() / psz.height()) + (sz.width() / psz.width())) * qreal(25.4 * 0.5);
((sz.height() / psz.height()) + (sz.width() / psz.width())) * qreal(25.4 * 0.5);
never executed: return ((sz.height() / psz.height()) + (sz.width() / psz.width())) * qreal(25.4 * 0.5);
0
118}-
119qreal QScreen::logicalDotsPerInchX() const-
120{-
121 const QScreenPrivate * const d = d_func();-
122 if (QHighDpiScaling::isActive()
QHighDpiScaling::isActive()Description
TRUEnever evaluated
FALSEnever evaluated
)
0
123 return
never executed: return QHighDpiScaling::logicalDpi().first;
QHighDpiScaling::logicalDpi().first;
never executed: return QHighDpiScaling::logicalDpi().first;
0
124 return
never executed: return d->logicalDpi.first;
d->logicalDpi.first;
never executed: return d->logicalDpi.first;
0
125}-
126qreal QScreen::logicalDotsPerInchY() const-
127{-
128 const QScreenPrivate * const d = d_func();-
129 if (QHighDpiScaling::isActive()
QHighDpiScaling::isActive()Description
TRUEnever evaluated
FALSEnever evaluated
)
0
130 return
never executed: return QHighDpiScaling::logicalDpi().second;
QHighDpiScaling::logicalDpi().second;
never executed: return QHighDpiScaling::logicalDpi().second;
0
131 return
never executed: return d->logicalDpi.second;
d->logicalDpi.second;
never executed: return d->logicalDpi.second;
0
132}-
133qreal QScreen::logicalDotsPerInch() const-
134{-
135 const QScreenPrivate * const d = d_func();-
136 QDpi dpi = QHighDpiScaling::isActive()
QHighDpiScaling::isActive()Description
TRUEnever evaluated
FALSEnever evaluated
? QHighDpiScaling::logicalDpi() : d->logicalDpi;
0
137 return
never executed: return (dpi.first + dpi.second) * qreal(0.5);
(dpi.first + dpi.second) * qreal(0.5);
never executed: return (dpi.first + dpi.second) * qreal(0.5);
0
138}-
139qreal QScreen::devicePixelRatio() const-
140{-
141 const QScreenPrivate * const d = d_func();-
142 return
never executed: return d->platformScreen->devicePixelRatio() * QHighDpiScaling::factor(this);
d->platformScreen->devicePixelRatio() * QHighDpiScaling::factor(this);
never executed: return d->platformScreen->devicePixelRatio() * QHighDpiScaling::factor(this);
0
143}-
144QSizeF QScreen::physicalSize() const-
145{-
146 const QScreenPrivate * const d = d_func();-
147 return
never executed: return d->platformScreen->physicalSize();
d->platformScreen->physicalSize();
never executed: return d->platformScreen->physicalSize();
0
148}-
149QSize QScreen::availableSize() const-
150{-
151 const QScreenPrivate * const d = d_func();-
152 return
never executed: return d->availableGeometry.size();
d->availableGeometry.size();
never executed: return d->availableGeometry.size();
0
153}-
154QRect QScreen::geometry() const-
155{-
156 const QScreenPrivate * const d = d_func();-
157 return
never executed: return d->geometry;
d->geometry;
never executed: return d->geometry;
0
158}-
159QRect QScreen::availableGeometry() const-
160{-
161 const QScreenPrivate * const d = d_func();-
162 return
never executed: return d->availableGeometry;
d->availableGeometry;
never executed: return d->availableGeometry;
0
163}-
164QList<QScreen *> QScreen::virtualSiblings() const-
165{-
166 const QScreenPrivate * const d = d_func();-
167 QList<QPlatformScreen *> platformScreens = d->platformScreen->virtualSiblings();-
168 QList<QScreen *> screens;-
169 screens.reserve(platformScreens.count());-
170 for (QForeachContainer<typename QtPrivate::remove_reference<decltype(platformScreens)>::type> _container_((platformScreens)); _container_.control && _container_.i != _container_.e; ++_container_.i, _container_.control ^= 1) for (QPlatformScreen *platformScreen = *_container_.i; _container_.control; _container_.control = 0)-
171 screens << platformScreen->screen();
never executed: screens << platformScreen->screen();
0
172 return
never executed: return screens;
screens;
never executed: return screens;
0
173}-
174QSize QScreen::virtualSize() const-
175{-
176 return
never executed: return virtualGeometry().size();
virtualGeometry().size();
never executed: return virtualGeometry().size();
0
177}-
178QRect QScreen::virtualGeometry() const-
179{-
180 QRect result;-
181 for (QForeachContainer<typename QtPrivate::remove_reference<decltype(virtualSiblings())>::type> _container_((virtualSiblings())); _container_.control && _container_.i != _container_.e; ++_container_.i, _container_.control ^= 1) for (QScreen *screen = *_container_.i; _container_.control; _container_.control = 0)-
182 result |= screen->geometry();
never executed: result |= screen->geometry();
0
183 return
never executed: return result;
result;
never executed: return result;
0
184}-
185QSize QScreen::availableVirtualSize() const-
186{-
187 return
never executed: return availableVirtualGeometry().size();
availableVirtualGeometry().size();
never executed: return availableVirtualGeometry().size();
0
188}-
189QRect QScreen::availableVirtualGeometry() const-
190{-
191 QRect result;-
192 for (QForeachContainer<typename QtPrivate::remove_reference<decltype(virtualSiblings())>::type> _container_((virtualSiblings())); _container_.control && _container_.i != _container_.e; ++_container_.i, _container_.control ^= 1) for (QScreen *screen = *_container_.i; _container_.control; _container_.control = 0)-
193 result |= screen->availableGeometry();
never executed: result |= screen->availableGeometry();
0
194 return
never executed: return result;
result;
never executed: return result;
0
195}-
196void QScreen::setOrientationUpdateMask(Qt::ScreenOrientations mask)-
197{-
198 QScreenPrivate * const d = d_func();-
199 d->orientationUpdateMask = mask;-
200 d->platformScreen->setOrientationUpdateMask(mask);-
201 QGuiApplicationPrivate::updateFilteredScreenOrientation(this);-
202}
never executed: end of block
0
203-
204-
205-
206-
207-
208-
209Qt::ScreenOrientations QScreen::orientationUpdateMask() const-
210{-
211 const QScreenPrivate * const d = d_func();-
212 return
never executed: return d->orientationUpdateMask;
d->orientationUpdateMask;
never executed: return d->orientationUpdateMask;
0
213}-
214Qt::ScreenOrientation QScreen::orientation() const-
215{-
216 const QScreenPrivate * const d = d_func();-
217 return
never executed: return d->filteredOrientation;
d->filteredOrientation;
never executed: return d->filteredOrientation;
0
218}-
219-
220-
221-
222-
223-
224qreal QScreen::refreshRate() const-
225{-
226 const QScreenPrivate * const d = d_func();-
227 return
never executed: return d->refreshRate;
d->refreshRate;
never executed: return d->refreshRate;
0
228}-
229Qt::ScreenOrientation QScreen::primaryOrientation() const-
230{-
231 const QScreenPrivate * const d = d_func();-
232 return
never executed: return d->primaryOrientation;
d->primaryOrientation;
never executed: return d->primaryOrientation;
0
233}-
234Qt::ScreenOrientation QScreen::nativeOrientation() const-
235{-
236 const QScreenPrivate * const d = d_func();-
237 return
never executed: return d->platformScreen->nativeOrientation();
d->platformScreen->nativeOrientation();
never executed: return d->platformScreen->nativeOrientation();
0
238}-
239int QScreen::angleBetween(Qt::ScreenOrientation a, Qt::ScreenOrientation b) const-
240{-
241 if (a == Qt::PrimaryOrientation
a == Qt::PrimaryOrientationDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
242 a = primaryOrientation();
never executed: a = primaryOrientation();
0
243-
244 if (b == Qt::PrimaryOrientation
b == Qt::PrimaryOrientationDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
245 b = primaryOrientation();
never executed: b = primaryOrientation();
0
246-
247 return
never executed: return QPlatformScreen::angleBetween(a, b);
QPlatformScreen::angleBetween(a, b);
never executed: return QPlatformScreen::angleBetween(a, b);
0
248}-
249QTransform QScreen::transformBetween(Qt::ScreenOrientation a, Qt::ScreenOrientation b, const QRect &target) const-
250{-
251 if (a == Qt::PrimaryOrientation
a == Qt::PrimaryOrientationDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
252 a = primaryOrientation();
never executed: a = primaryOrientation();
0
253-
254 if (b == Qt::PrimaryOrientation
b == Qt::PrimaryOrientationDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
255 b = primaryOrientation();
never executed: b = primaryOrientation();
0
256-
257 return
never executed: return QPlatformScreen::transformBetween(a, b, target);
QPlatformScreen::transformBetween(a, b, target);
never executed: return QPlatformScreen::transformBetween(a, b, target);
0
258}-
259QRect QScreen::mapBetween(Qt::ScreenOrientation a, Qt::ScreenOrientation b, const QRect &rect) const-
260{-
261 if (a == Qt::PrimaryOrientation
a == Qt::PrimaryOrientationDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
262 a = primaryOrientation();
never executed: a = primaryOrientation();
0
263-
264 if (b == Qt::PrimaryOrientation
b == Qt::PrimaryOrientationDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
265 b = primaryOrientation();
never executed: b = primaryOrientation();
0
266-
267 return
never executed: return QPlatformScreen::mapBetween(a, b, rect);
QPlatformScreen::mapBetween(a, b, rect);
never executed: return QPlatformScreen::mapBetween(a, b, rect);
0
268}-
269-
270-
271-
272-
273-
274-
275-
276bool QScreen::isPortrait(Qt::ScreenOrientation o) const-
277{-
278 return
never executed: return o == Qt::PortraitOrientation || o == Qt::InvertedPortraitOrientation || (o == Qt::PrimaryOrientation && primaryOrientation() == Qt::PortraitOrientation);
o == Qt::PortraitOrientation
o == Qt::PortraitOrientationDescription
TRUEnever evaluated
FALSEnever evaluated
|| o == Qt::InvertedPortraitOrientation
o == Qt::Inver...aitOrientationDescription
TRUEnever evaluated
FALSEnever evaluated
never executed: return o == Qt::PortraitOrientation || o == Qt::InvertedPortraitOrientation || (o == Qt::PrimaryOrientation && primaryOrientation() == Qt::PortraitOrientation);
0
279 || (o == Qt::PrimaryOrientation
o == Qt::PrimaryOrientationDescription
TRUEnever evaluated
FALSEnever evaluated
&& primaryOrientation() == Qt::PortraitOrientation
primaryOrienta...aitOrientationDescription
TRUEnever evaluated
FALSEnever evaluated
);
never executed: return o == Qt::PortraitOrientation || o == Qt::InvertedPortraitOrientation || (o == Qt::PrimaryOrientation && primaryOrientation() == Qt::PortraitOrientation);
0
280}-
281-
282-
283-
284-
285-
286-
287-
288bool QScreen::isLandscape(Qt::ScreenOrientation o) const-
289{-
290 return
never executed: return o == Qt::LandscapeOrientation || o == Qt::InvertedLandscapeOrientation || (o == Qt::PrimaryOrientation && primaryOrientation() == Qt::LandscapeOrientation);
o == Qt::LandscapeOrientation
o == Qt::LandscapeOrientationDescription
TRUEnever evaluated
FALSEnever evaluated
|| o == Qt::InvertedLandscapeOrientation
o == Qt::Inver...apeOrientationDescription
TRUEnever evaluated
FALSEnever evaluated
never executed: return o == Qt::LandscapeOrientation || o == Qt::InvertedLandscapeOrientation || (o == Qt::PrimaryOrientation && primaryOrientation() == Qt::LandscapeOrientation);
0
291 || (o == Qt::PrimaryOrientation
o == Qt::PrimaryOrientationDescription
TRUEnever evaluated
FALSEnever evaluated
&& primaryOrientation() == Qt::LandscapeOrientation
primaryOrienta...apeOrientationDescription
TRUEnever evaluated
FALSEnever evaluated
);
never executed: return o == Qt::LandscapeOrientation || o == Qt::InvertedLandscapeOrientation || (o == Qt::PrimaryOrientation && primaryOrientation() == Qt::LandscapeOrientation);
0
292}-
293void QScreenPrivate::updatePrimaryOrientation()-
294{-
295 primaryOrientation = geometry.width() >= geometry.height()
geometry.width...metry.height()Description
TRUEnever evaluated
FALSEnever evaluated
? Qt::LandscapeOrientation : Qt::PortraitOrientation;
0
296}
never executed: end of block
0
297QPixmap QScreen::grabWindow(WId window, int x, int y, int width, int height)-
298{-
299 const QPlatformScreen *platformScreen = handle();-
300 if (!platformScreen
!platformScreenDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
301 QMessageLogger(__FILE__, 684, __PRETTY_FUNCTION__).warning("invoked with handle==0");-
302 return
never executed: return QPixmap();
QPixmap();
never executed: return QPixmap();
0
303 }-
304 const qreal factor = QHighDpiScaling::factor(this);-
305 if (qFuzzyCompare(factor, 1)
qFuzzyCompare(factor, 1)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
306 return
never executed: return platformScreen->grabWindow(window, x, y, width, height);
platformScreen->grabWindow(window, x, y, width, height);
never executed: return platformScreen->grabWindow(window, x, y, width, height);
0
307-
308 const QPoint nativePos = QHighDpi::toNative(QPoint(x, y), factor);-
309 QSize nativeSize(width, height);-
310 if (nativeSize.isValid()
nativeSize.isValid()Description
TRUEnever evaluated
FALSEnever evaluated
)
0
311 nativeSize = QHighDpi::toNative(nativeSize, factor);
never executed: nativeSize = QHighDpi::toNative(nativeSize, factor);
0
312 QPixmap result =-
313 platformScreen->grabWindow(window, nativePos.x(), nativePos.y(),-
314 nativeSize.width(), nativeSize.height());-
315 result.setDevicePixelRatio(factor);-
316 return
never executed: return result;
result;
never executed: return result;
0
317}-
318-
319-
320-
321static inline void formatRect(QDebug &debug, const QRect r)-
322{-
323 debug << r.width() << 'x' << r.height()-
324 << forcesign << r.x() << r.y() << noforcesign;-
325}
never executed: end of block
0
326-
327__attribute__((visibility("default"))) QDebug operator<<(QDebug debug, const QScreen *screen)-
328{-
329 const QDebugStateSaver saver(debug);-
330 debug.nospace();-
331 debug << "QScreen(" << (const void *)screen;-
332 if (screen
screenDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
333 debug << ", name=" << screen->name();-
334 if (debug.verbosity() > 2
debug.verbosity() > 2Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
335 if (screen == QGuiApplication::primaryScreen()
screen == QGui...rimaryScreen()Description
TRUEnever evaluated
FALSEnever evaluated
)
0
336 debug << ", primary";
never executed: debug << ", primary";
0
337 debug << ", geometry=";-
338 formatRect(debug, screen->geometry());-
339 debug << ", available=";-
340 formatRect(debug, screen->availableGeometry());-
341 debug << ", logical DPI=" << screen->logicalDotsPerInchX()-
342 << ',' << screen->logicalDotsPerInchY()-
343 << ", physical DPI=" << screen->physicalDotsPerInchX()-
344 << ',' << screen->physicalDotsPerInchY()-
345 << ", devicePixelRatio=" << screen->devicePixelRatio()-
346 << ", orientation=" << screen->orientation()-
347 << ", physical size=" << screen->physicalSize().width()-
348 << 'x' << screen->physicalSize().height() << "mm";-
349 }
never executed: end of block
0
350 }
never executed: end of block
0
351 debug << ')';-
352 return
never executed: return debug;
debug;
never executed: return debug;
0
353}-
354-
355-
356-
Switch to Source codePreprocessed file

Generated by Squish Coco Non-Commercial 4.3.0-BETA-master-30-08-2018-4cb69e9