Qt: TAS input window - Fix mac os
This commit is contained in:
parent
a8d482d8e1
commit
5fe72700fa
|
@ -18,14 +18,14 @@ IRWidget::IRWidget(QWidget* parent) : QWidget(parent)
|
||||||
|
|
||||||
void IRWidget::SetX(u16 x)
|
void IRWidget::SetX(u16 x)
|
||||||
{
|
{
|
||||||
m_x = std::min(max_x, x);
|
m_x = std::min(ir_max_x, x);
|
||||||
|
|
||||||
update();
|
update();
|
||||||
}
|
}
|
||||||
|
|
||||||
void IRWidget::SetY(u16 y)
|
void IRWidget::SetY(u16 y)
|
||||||
{
|
{
|
||||||
m_y = std::min(max_y, y);
|
m_y = std::min(ir_max_y, y);
|
||||||
|
|
||||||
update();
|
update();
|
||||||
}
|
}
|
||||||
|
@ -41,8 +41,8 @@ void IRWidget::paintEvent(QPaintEvent* event)
|
||||||
painter.drawLine(width() / 2, 0, width() / 2, height());
|
painter.drawLine(width() / 2, 0, width() / 2, height());
|
||||||
|
|
||||||
// convert from value space to widget space
|
// convert from value space to widget space
|
||||||
u16 x = width() - (m_x * width()) / max_x;
|
u16 x = width() - (m_x * width()) / ir_max_x;
|
||||||
u16 y = (m_y * height()) / max_y;
|
u16 y = (m_y * height()) / ir_max_y;
|
||||||
|
|
||||||
painter.drawLine(width() / 2, height() / 2, x, y);
|
painter.drawLine(width() / 2, height() / 2, x, y);
|
||||||
|
|
||||||
|
@ -65,11 +65,11 @@ void IRWidget::mouseMoveEvent(QMouseEvent* event)
|
||||||
void IRWidget::handleMouseEvent(QMouseEvent* event)
|
void IRWidget::handleMouseEvent(QMouseEvent* event)
|
||||||
{
|
{
|
||||||
// convert from widget space to value space
|
// convert from widget space to value space
|
||||||
int new_x = max_x - (event->x() * max_x) / width();
|
int new_x = ir_max_x - (event->x() * ir_max_x) / width();
|
||||||
int new_y = (event->y() * max_y) / height();
|
int new_y = (event->y() * ir_max_y) / height();
|
||||||
|
|
||||||
m_x = std::max(0, std::min(static_cast<int>(max_x), new_x));
|
m_x = std::max(0, std::min(static_cast<int>(ir_max_x), new_x));
|
||||||
m_y = std::max(0, std::min(static_cast<int>(max_y), new_y));
|
m_y = std::max(0, std::min(static_cast<int>(ir_max_y), new_y));
|
||||||
|
|
||||||
emit ChangedX(m_x);
|
emit ChangedX(m_x);
|
||||||
emit ChangedY(m_y);
|
emit ChangedY(m_y);
|
||||||
|
|
|
@ -28,11 +28,11 @@ protected:
|
||||||
void mouseMoveEvent(QMouseEvent* event) override;
|
void mouseMoveEvent(QMouseEvent* event) override;
|
||||||
void handleMouseEvent(QMouseEvent* event);
|
void handleMouseEvent(QMouseEvent* event);
|
||||||
|
|
||||||
public:
|
|
||||||
static constexpr u16 max_x = 1023;
|
|
||||||
static constexpr u16 max_y = 767;
|
|
||||||
|
|
||||||
private:
|
private:
|
||||||
u16 m_x = 0;
|
u16 m_x = 0;
|
||||||
u16 m_y = 0;
|
u16 m_y = 0;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
// Should be part of class but fails to compile on mac os
|
||||||
|
static const u16 ir_max_x = 1023;
|
||||||
|
static const u16 ir_max_y = 767;
|
||||||
|
|
|
@ -28,11 +28,11 @@ WiiTASInputWindow::WiiTASInputWindow(QWidget* parent, int num) : QDialog(parent)
|
||||||
m_ir_box = new QGroupBox(tr("IR (ALT+F/G)"));
|
m_ir_box = new QGroupBox(tr("IR (ALT+F/G)"));
|
||||||
|
|
||||||
auto* x_layout = new QHBoxLayout;
|
auto* x_layout = new QHBoxLayout;
|
||||||
m_ir_x_value = CreateSliderValuePair(this, x_layout, IRWidget::max_x, Qt::Key_F, Qt::Horizontal,
|
m_ir_x_value = CreateSliderValuePair(this, x_layout, ir_max_x, Qt::Key_F, Qt::Horizontal,
|
||||||
m_ir_box, true);
|
m_ir_box, true);
|
||||||
|
|
||||||
auto* y_layout = new QVBoxLayout;
|
auto* y_layout = new QVBoxLayout;
|
||||||
m_ir_y_value = CreateSliderValuePair(this, y_layout, IRWidget::max_y, Qt::Key_G, Qt::Vertical,
|
m_ir_y_value = CreateSliderValuePair(this, y_layout, ir_max_y, Qt::Key_G, Qt::Vertical,
|
||||||
m_ir_box, true);
|
m_ir_box, true);
|
||||||
m_ir_y_value->setMaximumWidth(60);
|
m_ir_y_value->setMaximumWidth(60);
|
||||||
|
|
||||||
|
@ -44,10 +44,10 @@ WiiTASInputWindow::WiiTASInputWindow(QWidget* parent, int num) : QDialog(parent)
|
||||||
connect(visual, &IRWidget::ChangedX, m_ir_x_value, &QSpinBox::setValue);
|
connect(visual, &IRWidget::ChangedX, m_ir_x_value, &QSpinBox::setValue);
|
||||||
connect(visual, &IRWidget::ChangedY, m_ir_y_value, &QSpinBox::setValue);
|
connect(visual, &IRWidget::ChangedY, m_ir_y_value, &QSpinBox::setValue);
|
||||||
|
|
||||||
m_ir_x_value->setValue(IRWidget::max_x / 2);
|
m_ir_x_value->setValue(ir_max_x / 2);
|
||||||
m_ir_y_value->setValue(IRWidget::max_y / 2);
|
m_ir_y_value->setValue(ir_max_y / 2);
|
||||||
|
|
||||||
auto* visual_ar = new AspectRatioWidget(visual, IRWidget::max_x, IRWidget::max_y);
|
auto* visual_ar = new AspectRatioWidget(visual, ir_max_x, ir_max_y);
|
||||||
|
|
||||||
auto* visual_layout = new QHBoxLayout;
|
auto* visual_layout = new QHBoxLayout;
|
||||||
visual_layout->addWidget(visual_ar);
|
visual_layout->addWidget(visual_ar);
|
||||||
|
|
Loading…
Reference in New Issue