FlightGear next
HoverArea.cxx
Go to the documentation of this file.
1#include "HoverArea.hxx"
2
3#include <QDebug>
4#include <QQuickWindow>
5
7{
8 connect(this, &QQuickItem::windowChanged, [this](QQuickWindow* win) {
9 if (win) {
10 win->installEventFilter(this);
11 }
12 });
13}
14
15
16
17bool HoverArea::eventFilter(QObject *sender, QEvent *event)
18{
19 Q_UNUSED(sender)
20 if (event->type() == QEvent::MouseMove) {
21 QMouseEvent* me = static_cast<QMouseEvent*>(event);
22 const auto local = mapFromScene(me->pos());
23 const bool con = contains(local);
24 if (con != m_containsMouse) {
25 m_containsMouse = con;
26 emit containsMouseChanged(con);
27 }
28 }
29
30 return false;
31}
32
33
bool eventFilter(QObject *sender, QEvent *event) override
Definition HoverArea.cxx:17
void containsMouseChanged(bool containsMouse)