mirror of
https://github.com/dolphin-emu/dolphin
synced 2024-11-24 14:24:11 -05:00
b296248b49
This lets the TAS input code use a higher-level interface for overriding inputs instead of having to fiddle with raw bits. WiiTASInputWindow in particular was messy with how much controller code it had to re-implement.
41 lines
835 B
C++
41 lines
835 B
C++
// Copyright 2018 Dolphin Emulator Project
|
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
|
|
|
#pragma once
|
|
|
|
#include <QDialog>
|
|
|
|
#include "Common/CommonTypes.h"
|
|
|
|
class IRWidget : public QWidget
|
|
{
|
|
Q_OBJECT
|
|
public:
|
|
explicit IRWidget(QWidget* parent);
|
|
|
|
signals:
|
|
void ChangedX(u16 x);
|
|
void ChangedY(u16 y);
|
|
|
|
public slots:
|
|
void SetX(u16 x);
|
|
void SetY(u16 y);
|
|
|
|
protected:
|
|
void paintEvent(QPaintEvent* event) override;
|
|
void mousePressEvent(QMouseEvent* event) override;
|
|
void mouseMoveEvent(QMouseEvent* event) override;
|
|
void handleMouseEvent(QMouseEvent* event);
|
|
|
|
private:
|
|
u16 m_x = 0;
|
|
u16 m_y = 0;
|
|
bool m_ignore_movement = false;
|
|
};
|
|
|
|
// Should be part of class but fails to compile on mac os
|
|
static const u16 ir_min_x = 0;
|
|
static const u16 ir_min_y = 0;
|
|
static const u16 ir_max_x = 1023;
|
|
static const u16 ir_max_y = 767;
|