summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms/qnx
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/platforms/qnx')
-rw-r--r--src/plugins/platforms/qnx/qqnxscreen.cpp25
-rw-r--r--src/plugins/platforms/qnx/qqnxscreen.h4
2 files changed, 14 insertions, 15 deletions
diff --git a/src/plugins/platforms/qnx/qqnxscreen.cpp b/src/plugins/platforms/qnx/qqnxscreen.cpp
index 9ba0f5cd2e..add45ecbe5 100644
--- a/src/plugins/platforms/qnx/qqnxscreen.cpp
+++ b/src/plugins/platforms/qnx/qqnxscreen.cpp
@@ -286,6 +286,18 @@ Qt::ScreenOrientation QQnxScreen::orientation() const
return orient;
}
+QWindow *QQnxScreen::topLevelAt(const QPoint &point) const
+{
+ QListIterator<QQnxWindow*> it(m_childWindows);
+ it.toBack();
+ while (it.hasPrevious()) {
+ QWindow *win = it.previous()->window();
+ if (win->geometry().contains(point))
+ return win;
+ }
+ return 0;
+}
+
/*!
Check if the supplied angles are perpendicular to each other.
*/
@@ -767,17 +779,4 @@ void QQnxScreen::setRootWindow(QQnxWindow *window)
m_rootWindow = window;
}
-QWindow * QQnxScreen::topMostChildWindow() const
-{
- if (!m_childWindows.isEmpty()) {
-
- // We're picking up the last window of the list here
- // because this list is ordered by stacking order.
- // Last window is effectively the one on top.
- return m_childWindows.last()->window();
- }
-
- return 0;
-}
-
QT_END_NAMESPACE
diff --git a/src/plugins/platforms/qnx/qqnxscreen.h b/src/plugins/platforms/qnx/qqnxscreen.h
index a0b760135f..6b2281f7b9 100644
--- a/src/plugins/platforms/qnx/qqnxscreen.h
+++ b/src/plugins/platforms/qnx/qqnxscreen.h
@@ -73,6 +73,8 @@ public:
Qt::ScreenOrientation nativeOrientation() const;
Qt::ScreenOrientation orientation() const;
+ QWindow *topLevelAt(const QPoint &point) const;
+
bool isPrimaryScreen() const { return m_primaryScreen; }
int rotation() const { return m_currentRotation; }
@@ -124,8 +126,6 @@ private:
void addMultimediaWindow(const QByteArray &id, screen_window_t window);
void removeOverlayOrUnderlayWindow(screen_window_t window);
- QWindow *topMostChildWindow() const;
-
screen_context_t m_screenContext;
screen_display_t m_display;
QQnxWindow *m_rootWindow;