2023-08-06 08:48:11 -04:00
|
|
|
// SPDX-FileCopyrightText: 2023 Joshua Goins <josh@redstrate.com>
|
|
|
|
// SPDX-License-Identifier: GPL-3.0-or-later
|
|
|
|
|
2023-07-06 17:37:14 -04:00
|
|
|
#pragma once
|
|
|
|
|
|
|
|
#include <QSpinBox>
|
|
|
|
#include <QWidget>
|
|
|
|
|
|
|
|
#include <glm/glm.hpp>
|
|
|
|
|
2024-04-24 22:31:40 -04:00
|
|
|
#include "novuscommon_export.h"
|
|
|
|
|
|
|
|
class NOVUSCOMMON_EXPORT QuaternionEdit : public QWidget
|
2023-10-12 23:44:48 -04:00
|
|
|
{
|
2023-07-07 16:16:21 -04:00
|
|
|
Q_OBJECT
|
2023-10-12 23:44:48 -04:00
|
|
|
|
2023-07-06 17:37:14 -04:00
|
|
|
public:
|
2023-10-12 23:44:48 -04:00
|
|
|
explicit QuaternionEdit(glm::quat &quat, QWidget *parent = nullptr);
|
2023-07-06 17:37:14 -04:00
|
|
|
|
2023-10-12 23:44:48 -04:00
|
|
|
void setQuat(glm::quat &quat);
|
2023-07-06 17:37:14 -04:00
|
|
|
|
|
|
|
Q_SIGNALS:
|
|
|
|
void onValueChanged();
|
|
|
|
|
|
|
|
private:
|
|
|
|
struct {
|
2023-12-09 15:24:54 -05:00
|
|
|
QDoubleSpinBox *x = nullptr, *y = nullptr, *z = nullptr;
|
2023-07-06 17:37:14 -04:00
|
|
|
} spinBoxes;
|
|
|
|
|
2023-10-12 23:44:48 -04:00
|
|
|
glm::quat &quat;
|
2023-07-06 17:37:14 -04:00
|
|
|
};
|