summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms/haiku/qhaikurasterwindow.h
blob: 750775a8d02f89e2cf401268adc52e8a5b247e41 (plain)
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
// Copyright (C) 2015 Klarälvdalens Datakonsult AB, a KDAB Group company, info@kdab.com, author Tobias Koenig <tobias.koenig@kdab.com>// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only#ifndef QHAIKURASTERWINDOW_H#define QHAIKURASTERWINDOW_H#include"qhaikuwindow.h"#include <View.h> QT_BEGIN_NAMESPACE class HaikuViewProxy :public QObject,public BView { Q_OBJECT public:explicitHaikuViewProxy(BWindow *window, QObject *parent =nullptr);voidMessageReceived(BMessage *message) override;voidDraw(BRect updateRect) override;voidMouseDown(BPoint pos) override;voidMouseUp(BPoint pos) override;voidMouseMoved(BPoint pos, uint32 code,const BMessage *dragMessage) override;voidKeyDown(const char*bytes, int32 numBytes) override;voidKeyUp(const char*bytes, int32 numBytes) override; Q_SIGNALS:voidmouseEvent(const QPoint &localPosition,const QPoint &globalPosition,Qt::MouseButtons buttons,Qt::KeyboardModifiers modifiers,Qt::MouseEventSource source);voidwheelEvent(const QPoint &localPosition,const QPoint &globalPosition,int delta,Qt::Orientation orientation,Qt::KeyboardModifiers modifiers);voidkeyEvent(QEvent::Type type,int key,Qt::KeyboardModifiers modifiers,const QString &text);voidenteredView();voidexitedView();voiddrawRequest(const QRect &rect);private:Qt::MouseButtons keyStateToMouseButtons(uint32 keyState)const;Qt::KeyboardModifiers keyStateToModifiers(uint32 keyState)const;voidhandleKeyEvent(QEvent::Type type, BMessage *message);};class QHaikuRasterWindow :public QHaikuWindow { Q_OBJECT public:explicitQHaikuRasterWindow(QWindow *window);~QHaikuRasterWindow(); BView*nativeViewHandle()const;private: HaikuViewProxy *m_view;}; QT_END_NAMESPACE #endif
close