49 lines
1.1 KiB
C++
49 lines
1.1 KiB
C++
|
|
#ifndef FM_360_POSITION_VIEW_H
|
|
#define FM_360_POSITION_VIEW_H
|
|
|
|
#if (USE_360_POSITION_VIEW)
|
|
|
|
#include <QWidget>
|
|
|
|
class FM360PositionView : public QWidget
|
|
{
|
|
Q_OBJECT
|
|
private:
|
|
double _ax;
|
|
double _ay;
|
|
void paintEvent(QPaintEvent *pe);
|
|
/**
|
|
* @brief 더블클릭으로 전체화면 전환 방지
|
|
*/
|
|
void mouseDoubleClickEvent(QMouseEvent *) override;
|
|
void mouseReleaseEvent(QMouseEvent *) override;
|
|
QRect _posRect();
|
|
void map_to_custom_angles(double x, double y, double *px, double* py);
|
|
public:
|
|
explicit FM360PositionView(QWidget *parent = nullptr);
|
|
|
|
void setAngle(double ax,double ay);
|
|
signals:
|
|
void angleUpdated(double yow, double pitch);
|
|
};
|
|
|
|
class FM360StaticPositionView : public QWidget
|
|
{
|
|
Q_OBJECT
|
|
private:
|
|
void paintEvent(QPaintEvent *pe);
|
|
int _mode;
|
|
QPixmap ptl;
|
|
QPixmap ptr;
|
|
QPixmap pbl;
|
|
QPixmap pbr;
|
|
QPixmap pc;
|
|
public:
|
|
void setMode(int mode);
|
|
explicit FM360StaticPositionView(QWidget *parent = nullptr);
|
|
};
|
|
|
|
#endif // #if (USE_360_POSITION_VIEW)
|
|
#endif // FM_360_POSITION_VIEW_H
|