rpcsx/rpcs3/Input/basic_mouse_handler.h
2022-07-04 16:02:17 +03:00

28 lines
646 B
C++

#pragma once
#include "util/types.hpp"
#include "Emu/Io/MouseHandler.h"
#include <QWindow>
#include <QMouseEvent>
#include <QWheelEvent>
class basic_mouse_handler final : public MouseHandlerBase, public QObject
{
using MouseHandlerBase::MouseHandlerBase;
public:
void Init(const u32 max_connect) override;
void SetTargetWindow(QWindow* target);
void MouseButtonDown(QMouseEvent* event);
void MouseButtonUp(QMouseEvent* event);
void MouseScroll(QWheelEvent* event);
void MouseMove(QMouseEvent* event);
bool eventFilter(QObject* obj, QEvent* ev) override;
private:
QWindow* m_target = nullptr;
bool get_mouse_lock_state() const;
};