11#include <qpa/qwindowsysteminterface.h>
23 , BView(BRect(0, 0,
window->Bounds().
right,
window->Bounds().
bottom), 0, B_FOLLOW_ALL_SIDES, B_WILL_DRAW | B_FRAME_EVENTS)
30 case B_MOUSE_WHEEL_CHANGED:
33 if (
message->FindFloat(
"be:wheel_delta_x", &deltaX) != B_OK)
37 if (
message->FindFloat(
"be:wheel_delta_y", &deltaY) != B_OK)
40 if (deltaX != 0 || deltaY != 0) {
43 GetMouse(&localPos, &keyState);
44 const Qt::KeyboardModifiers keyboardModifiers = keyStateToModifiers(
modifiers());
46 const BPoint globalPos = ConvertToScreen(localPos);
47 const QPoint globalPosition =
QPoint(globalPos.x, globalPos.y);
48 const QPoint localPosition =
QPoint(localPos.x, localPos.y);
59 BView::MessageReceived(
message);
67 BView::Draw(updateRect);
76 GetMouse(&dummyPos, &keyState);
78 const Qt::MouseButtons mouseButtons = keyStateToMouseButtons(keyState);
79 const Qt::KeyboardModifiers keyboardModifiers = keyStateToModifiers(
modifiers());
82 const BPoint globalPos = ConvertToScreen(localPos);
83 const QPoint globalPosition =
QPoint(globalPos.x, globalPos.y);
84 const QPoint localPosition =
QPoint(localPos.x, localPos.y);
93 GetMouse(&dummyPos, &keyState);
95 const Qt::MouseButtons mouseButtons = keyStateToMouseButtons(keyState);
96 const Qt::KeyboardModifiers keyboardModifiers = keyStateToModifiers(
modifiers());
99 const BPoint globalPos = ConvertToScreen(localPos);
100 const QPoint globalPosition =
QPoint(globalPos.x, globalPos.y);
101 const QPoint localPosition =
QPoint(localPos.x, localPos.y);
113 GetMouse(&dummyPos, &keyState);
115 const Qt::MouseButtons mouseButtons = keyStateToMouseButtons(keyState);
116 const Qt::KeyboardModifiers keyboardModifiers = keyStateToModifiers(
modifiers());
119 const BPoint globalPos = ConvertToScreen(
pos);
120 const QPoint globalPosition =
QPoint(globalPos.x, globalPos.y);
134 BView::MouseMoved(
pos, code, dragMessage);
147Qt::MouseButtons HaikuViewProxy::keyStateToMouseButtons(uint32 keyState)
const
150 if (keyState & B_PRIMARY_MOUSE_BUTTON)
152 if (keyState & B_SECONDARY_MOUSE_BUTTON)
154 if (keyState & B_TERTIARY_MOUSE_BUTTON)
160Qt::KeyboardModifiers HaikuViewProxy::keyStateToModifiers(uint32 keyState)
const
164 if (keyState & B_SHIFT_KEY)
166 if (keyState & B_CONTROL_KEY)
168 if (keyState & B_COMMAND_KEY)
178 const char *bytes =
nullptr;
182 if (
message->FindString(
"bytes", &bytes) == B_OK) {
186 if (
message->FindInt32(
"key", &
key) == B_OK) {
191 const Qt::KeyboardModifiers keyboardModifiers = keyStateToModifiers(
modifiers());
200 qRegisterMetaType<QEvent::Type>();
201 qRegisterMetaType<Qt::MouseButtons>();
202 qRegisterMetaType<Qt::MouseEventSource>();
203 qRegisterMetaType<Qt::KeyboardModifiers>();
204 qRegisterMetaType<Qt::Orientation>();
228 m_view->RemoveSelf();
void MessageReceived(BMessage *message) override
void wheelEvent(const QPoint &localPosition, const QPoint &globalPosition, int delta, Qt::Orientation orientation, Qt::KeyboardModifiers modifiers)
void drawRequest(const QRect &rect)
void MouseUp(BPoint pos) override
void mouseEvent(const QPoint &localPosition, const QPoint &globalPosition, Qt::MouseButtons buttons, Qt::KeyboardModifiers modifiers, Qt::MouseEventSource source)
void Draw(BRect updateRect) override
void MouseMoved(BPoint pos, uint32 code, const BMessage *dragMessage) override
void KeyDown(const char *bytes, int32 numBytes) override
void MouseDown(BPoint pos) override
void keyEvent(QEvent::Type type, int key, Qt::KeyboardModifiers modifiers, const QString &text)
void KeyUp(const char *bytes, int32 numBytes) override
Type
This enum type defines the valid event types in Qt.
static uint32 translateKeyCode(uint32 key, bool numlockActive)
BView * nativeViewHandle() const
QHaikuRasterWindow(QWindow *window)
HaikuWindowProxy * m_window
static QMetaObject::Connection connect(const QObject *sender, const char *signal, const QObject *receiver, const char *member, Qt::ConnectionType=Qt::AutoConnection)
\threadsafe
\inmodule QtCore\reentrant
\inmodule QtCore\reentrant
\macro QT_RESTRICTED_CAST_FROM_ASCII
static QString fromLocal8Bit(QByteArrayView ba)
This is an overloaded member function, provided for convenience. It differs from the above function o...
[Window class with invokable method]
EGLImageKHR int int EGLuint64KHR * modifiers
Combined button and popup list for selecting options.
@ MouseEventNotSynthesized
GLuint GLsizei const GLchar * message
GLsizei GLsizei GLchar * source
IUIAutomationTreeWalker __RPC__deref_out_opt IUIAutomationElement ** parent