qplatformscreen.cpp

Absolute File Name:/home/qt/qt5_coco/qt5/qtbase/src/gui/kernel/qplatformscreen.cpp
Switch to Source codePreprocessed file
LineSourceCount
1-
2-
3-
4QPlatformScreen::QPlatformScreen()-
5 : d_ptr(new QPlatformScreenPrivate)-
6{-
7 QPlatformScreenPrivate * const d = d_func();-
8 d->screen = 0;-
9}
never executed: end of block
0
10-
11QPlatformScreen::~QPlatformScreen()-
12{-
13 QPlatformScreenPrivate * const d = d_func();-
14 if (d->screen
d->screenDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
15 QMessageLogger(__FILE__, 58, __PRETTY_FUNCTION__).warning("Manually deleting a QPlatformScreen. Call QPlatformIntegration::destroyScreen instead.");-
16 QGuiApplicationPrivate::platformIntegration()->removeScreen(d->screen);-
17 delete d->screen;-
18 }
never executed: end of block
0
19}
never executed: end of block
0
20QPixmap QPlatformScreen::grabWindow(WId window, int x, int y, int width, int height) const-
21{-
22 (void)window;;-
23 (void)x;;-
24 (void)y;;-
25 (void)width;;-
26 (void)height;;-
27 return
never executed: return QPixmap();
QPixmap();
never executed: return QPixmap();
0
28}-
29-
30-
31-
32-
33-
34-
35-
36QWindow *QPlatformScreen::topLevelAt(const QPoint & pos) const-
37{-
38 QWindowList list = QGuiApplication::topLevelWindows();-
39 for (int i = list.size()-1; i >= 0
i >= 0Description
TRUEnever evaluated
FALSEnever evaluated
; --i) {
0
40 QWindow *w = list[i];-
41 if (w->isVisible()
w->isVisible()Description
TRUEnever evaluated
FALSEnever evaluated
&& QHighDpi::toNativePixels(w->geometry(), w).contains(pos)
QHighDpi::toNa....contains(pos)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
42 return
never executed: return w;
w;
never executed: return w;
0
43 }
never executed: end of block
0
44-
45 return
never executed: return 0;
0;
never executed: return 0;
0
46}-
47-
48-
49-
50-
51-
52-
53const QPlatformScreen *QPlatformScreen::screenForPosition(const QPoint &point) const-
54{-
55 if (!geometry().contains(point)
!geometry().contains(point)Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
56 for (QForeachContainer<typename QtPrivate::remove_reference<decltype(virtualSiblings())>::type> _container_((virtualSiblings())); _container_.control && _container_.i != _container_.e; ++_container_.i, _container_.control ^= 1) for (const QPlatformScreen* screen = *_container_.i; _container_.control; _container_.control = 0) {-
57 if (screen->geometry().contains(point)
screen->geomet...ontains(point)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
58 return
never executed: return screen;
screen;
never executed: return screen;
0
59 }
never executed: end of block
0
60 }
never executed: end of block
0
61 return
never executed: return this;
this;
never executed: return this;
0
62}-
63QList<QPlatformScreen *> QPlatformScreen::virtualSiblings() const-
64{-
65 QList<QPlatformScreen *> list;-
66 list << const_cast<QPlatformScreen *>(this);-
67 return
never executed: return list;
list;
never executed: return list;
0
68}-
69-
70QScreen *QPlatformScreen::screen() const-
71{-
72 const QPlatformScreenPrivate * const d = d_func();-
73 return
never executed: return d->screen;
d->screen;
never executed: return d->screen;
0
74}-
75QSizeF QPlatformScreen::physicalSize() const-
76{-
77 static const int dpi = 100;-
78 return
never executed: return QSizeF(geometry().size()) / dpi * qreal(25.4);
QSizeF(geometry().size()) / dpi * qreal(25.4);
never executed: return QSizeF(geometry().size()) / dpi * qreal(25.4);
0
79}-
80QDpi QPlatformScreen::logicalDpi() const-
81{-
82 QSizeF ps = physicalSize();-
83 QSize s = geometry().size();-
84-
85 return
never executed: return QDpi(25.4 * s.width() / ps.width(), 25.4 * s.height() / ps.height());
QDpi(25.4 * s.width() / ps.width(),
never executed: return QDpi(25.4 * s.width() / ps.width(), 25.4 * s.height() / ps.height());
0
86 25.4 * s.height() / ps.height());
never executed: return QDpi(25.4 * s.width() / ps.width(), 25.4 * s.height() / ps.height());
0
87}-
88qreal QPlatformScreen::devicePixelRatio() const-
89{-
90 return
never executed: return 1.0;
1.0;
never executed: return 1.0;
0
91}-
92qreal QPlatformScreen::pixelDensity() const-
93{-
94 return
never executed: return 1.0;
1.0;
never executed: return 1.0;
0
95}-
96-
97-
98-
99-
100-
101-
102-
103qreal QPlatformScreen::refreshRate() const-
104{-
105 return
never executed: return 60;
60;
never executed: return 60;
0
106}-
107Qt::ScreenOrientation QPlatformScreen::nativeOrientation() const-
108{-
109 return
never executed: return Qt::PrimaryOrientation;
Qt::PrimaryOrientation;
never executed: return Qt::PrimaryOrientation;
0
110}-
111Qt::ScreenOrientation QPlatformScreen::orientation() const-
112{-
113 return
never executed: return Qt::PrimaryOrientation;
Qt::PrimaryOrientation;
never executed: return Qt::PrimaryOrientation;
0
114}-
115void QPlatformScreen::setOrientationUpdateMask(Qt::ScreenOrientations mask)-
116{-
117 (void)mask;;-
118}
never executed: end of block
0
119-
120QPlatformScreen * QPlatformScreen::platformScreenForWindow(const QWindow *window)-
121{-
122-
123-
124 if (!window->screen()
!window->screen()Description
TRUEnever evaluated
FALSEnever evaluated
)
0
125 return
never executed: return 0;
0;
never executed: return 0;
0
126 return
never executed: return window->screen()->handle();
window->screen()->handle();
never executed: return window->screen()->handle();
0
127}-
128QPlatformCursor *QPlatformScreen::cursor() const-
129{-
130 return
never executed: return 0;
0;
never executed: return 0;
0
131}-
132-
133-
134-
135-
136-
137void QPlatformScreen::resizeMaximizedWindows()-
138{-
139 QList<QWindow*> windows = QGuiApplication::allWindows();-
140-
141-
142 const QRect oldGeometry = screen()->geometry();-
143 const QRect oldAvailableGeometry = screen()->availableGeometry();-
144 const QRect newGeometry = deviceIndependentGeometry();-
145 const QRect newAvailableGeometry = QHighDpi::fromNative(availableGeometry(), QHighDpiScaling::factor(this), newGeometry.topLeft());-
146-
147-
148 for (int i = 0; i < windows.size()
i < windows.size()Description
TRUEnever evaluated
FALSEnever evaluated
; ++i) {
0
149 QWindow *w = windows.at(i);-
150-
151-
152 if (!w->handle()
!w->handle()Description
TRUEnever evaluated
FALSEnever evaluated
)
0
153 continue;
never executed: continue;
0
154-
155 if (platformScreenForWindow(w) != this
platformScreen...dow(w) != thisDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
156 continue;
never executed: continue;
0
157-
158 if (w->windowState() & Qt::WindowMaximized
w->windowState...indowMaximizedDescription
TRUEnever evaluated
FALSEnever evaluated
|| w->geometry() == oldAvailableGeometry
w->geometry() ...ilableGeometryDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
159 w->setGeometry(newAvailableGeometry);
never executed: w->setGeometry(newAvailableGeometry);
0
160 else if (w->windowState() & Qt::WindowFullScreen
w->windowState...ndowFullScreenDescription
TRUEnever evaluated
FALSEnever evaluated
|| w->geometry() == oldGeometry
w->geometry() == oldGeometryDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
161 w->setGeometry(newGeometry);
never executed: w->setGeometry(newGeometry);
0
162 }
never executed: end of block
0
163}
never executed: end of block
0
164-
165-
166static int log2(uint i)-
167{-
168 if (i == 0
i == 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
169 return
never executed: return -1;
-1;
never executed: return -1;
0
170-
171 int result = 0;-
172 while (!(i & 1)
!(i & 1)Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
173 ++result;-
174 i >>= 1;-
175 }
never executed: end of block
0
176 return
never executed: return result;
result;
never executed: return result;
0
177}-
178-
179int QPlatformScreen::angleBetween(Qt::ScreenOrientation a, Qt::ScreenOrientation b)-
180{-
181 if (a == Qt::PrimaryOrientation
a == Qt::PrimaryOrientationDescription
TRUEnever evaluated
FALSEnever evaluated
|| b == Qt::PrimaryOrientation
b == Qt::PrimaryOrientationDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
182 QMessageLogger(__FILE__, 369, __PRETTY_FUNCTION__).warning("Use QScreen version of %sBetween() when passing Qt::PrimaryOrientation", "angle");-
183 return
never executed: return 0;
0;
never executed: return 0;
0
184 }-
185-
186 if (a == b
a == bDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
187 return
never executed: return 0;
0;
never executed: return 0;
0
188-
189 int ia = log2(uint(a));-
190 int ib = log2(uint(b));-
191-
192 int delta = ia - ib;-
193-
194 if (delta < 0
delta < 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
195 delta = delta + 4;
never executed: delta = delta + 4;
0
196-
197 int angles[] = { 0, 90, 180, 270 };-
198 return
never executed: return angles[delta];
angles[delta];
never executed: return angles[delta];
0
199}-
200-
201QTransform QPlatformScreen::transformBetween(Qt::ScreenOrientation a, Qt::ScreenOrientation b, const QRect &target)-
202{-
203 if (a == Qt::PrimaryOrientation
a == Qt::PrimaryOrientationDescription
TRUEnever evaluated
FALSEnever evaluated
|| b == Qt::PrimaryOrientation
b == Qt::PrimaryOrientationDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
204 QMessageLogger(__FILE__, 391, __PRETTY_FUNCTION__).warning("Use QScreen version of %sBetween() when passing Qt::PrimaryOrientation", "transform");-
205 return
never executed: return QTransform();
QTransform();
never executed: return QTransform();
0
206 }-
207-
208 if (a == b
a == bDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
209 return
never executed: return QTransform();
QTransform();
never executed: return QTransform();
0
210-
211 int angle = angleBetween(a, b);-
212-
213 QTransform result;-
214 switch (angle) {-
215 case
never executed: case 90:
90:
never executed: case 90:
0
216 result.translate(target.width(), 0);-
217 break;
never executed: break;
0
218 case
never executed: case 180:
180:
never executed: case 180:
0
219 result.translate(target.width(), target.height());-
220 break;
never executed: break;
0
221 case
never executed: case 270:
270:
never executed: case 270:
0
222 result.translate(0, target.height());-
223 break;
never executed: break;
0
224 default
never executed: default:
:
never executed: default:
0
225 ((!(false)) ? qt_assert("false",__FILE__,412) : qt_noop());-
226 }
never executed: end of block
0
227 result.rotate(angle);-
228-
229 return
never executed: return result;
result;
never executed: return result;
0
230}-
231-
232QRect QPlatformScreen::mapBetween(Qt::ScreenOrientation a, Qt::ScreenOrientation b, const QRect &rect)-
233{-
234 if (a == Qt::PrimaryOrientation
a == Qt::PrimaryOrientationDescription
TRUEnever evaluated
FALSEnever evaluated
|| b == Qt::PrimaryOrientation
b == Qt::PrimaryOrientationDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
235 QMessageLogger(__FILE__, 422, __PRETTY_FUNCTION__).warning("Use QScreen version of %sBetween() when passing Qt::PrimaryOrientation", "map");-
236 return
never executed: return rect;
rect;
never executed: return rect;
0
237 }-
238-
239 if (a == b
a == bDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
240 return
never executed: return rect;
rect;
never executed: return rect;
0
241-
242 if ((
(a == Qt::Port...itOrientation)Description
TRUEnever evaluated
FALSEnever evaluated
a == Qt::PortraitOrientation
a == Qt::PortraitOrientationDescription
TRUEnever evaluated
FALSEnever evaluated
|| a == Qt::InvertedPortraitOrientation
a == Qt::Inver...aitOrientationDescription
TRUEnever evaluated
FALSEnever evaluated
)
(a == Qt::Port...itOrientation)Description
TRUEnever evaluated
FALSEnever evaluated
0
243 != (b == Qt::PortraitOrientation
b == Qt::PortraitOrientationDescription
TRUEnever evaluated
FALSEnever evaluated
|| b == Qt::InvertedPortraitOrientation
b == Qt::Inver...aitOrientationDescription
TRUEnever evaluated
FALSEnever evaluated
)
(a == Qt::Port...itOrientation)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
244 {-
245 return
never executed: return QRect(rect.y(), rect.x(), rect.height(), rect.width());
QRect(rect.y(), rect.x(), rect.height(), rect.width());
never executed: return QRect(rect.y(), rect.x(), rect.height(), rect.width());
0
246 }-
247-
248 return
never executed: return rect;
rect;
never executed: return rect;
0
249}-
250-
251QRect QPlatformScreen::deviceIndependentGeometry() const-
252{-
253 qreal scaleFactor = QHighDpiScaling::factor(this);-
254 QRect nativeGeometry = geometry();-
255 return
never executed: return QRect(nativeGeometry.topLeft(), QHighDpi::fromNative(nativeGeometry.size(), scaleFactor));
QRect(nativeGeometry.topLeft(), QHighDpi::fromNative(nativeGeometry.size(), scaleFactor));
never executed: return QRect(nativeGeometry.topLeft(), QHighDpi::fromNative(nativeGeometry.size(), scaleFactor));
0
256}-
257QPlatformScreen::SubpixelAntialiasingType QPlatformScreen::subpixelAntialiasingTypeHint() const-
258{-
259 static int type = -1;-
260 if (type == -1
type == -1Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
261 QByteArray env = qgetenv("QT_SUBPIXEL_AA_TYPE");-
262 if (env == "RGB"
env == "RGB"Description
TRUEnever evaluated
FALSEnever evaluated
)
0
263 type = QPlatformScreen::Subpixel_RGB;
never executed: type = QPlatformScreen::Subpixel_RGB;
0
264 else if (env == "BGR"
env == "BGR"Description
TRUEnever evaluated
FALSEnever evaluated
)
0
265 type = QPlatformScreen::Subpixel_BGR;
never executed: type = QPlatformScreen::Subpixel_BGR;
0
266 else if (env == "VRGB"
env == "VRGB"Description
TRUEnever evaluated
FALSEnever evaluated
)
0
267 type = QPlatformScreen::Subpixel_VRGB;
never executed: type = QPlatformScreen::Subpixel_VRGB;
0
268 else if (env == "VBGR"
env == "VBGR"Description
TRUEnever evaluated
FALSEnever evaluated
)
0
269 type = QPlatformScreen::Subpixel_VBGR;
never executed: type = QPlatformScreen::Subpixel_VBGR;
0
270 else-
271 type = QPlatformScreen::Subpixel_None;
never executed: type = QPlatformScreen::Subpixel_None;
0
272 }-
273-
274 return
never executed: return static_cast<QPlatformScreen::SubpixelAntialiasingType>(type);
static_cast<QPlatformScreen::SubpixelAntialiasingType>(type);
never executed: return static_cast<QPlatformScreen::SubpixelAntialiasingType>(type);
0
275}-
276-
277-
278-
279-
280-
281-
282QPlatformScreen::PowerState QPlatformScreen::powerState() const-
283{-
284 return
never executed: return PowerStateOn;
PowerStateOn;
never executed: return PowerStateOn;
0
285}-
286-
287-
288-
289-
290void QPlatformScreen::setPowerState(PowerState state)-
291{-
292 (void)state;;-
293}
never executed: end of block
0
294-
295-
Switch to Source codePreprocessed file

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