nextpnr/gui/fpgaviewwidget.h

49 lines
1.2 KiB
C
Raw Normal View History

2018-06-06 03:03:06 +08:00
#ifndef MAPGLWIDGET_H
#define MAPGLWIDGET_H
2018-06-11 02:48:52 +08:00
#include <QMainWindow>
2018-06-06 03:03:06 +08:00
#include <QOpenGLFunctions>
2018-06-07 04:53:52 +08:00
#include <QOpenGLWidget>
2018-06-06 03:03:06 +08:00
#include <QPainter>
#include "nextpnr.h"
2018-06-06 03:03:06 +08:00
class FPGAViewWidget : public QOpenGLWidget, protected QOpenGLFunctions
{
Q_OBJECT
2018-06-07 04:53:52 +08:00
public:
2018-06-06 03:03:06 +08:00
FPGAViewWidget(QWidget *parent = 0);
~FPGAViewWidget();
QSize minimumSizeHint() const override;
QSize sizeHint() const override;
void setXTranslation(float t_x);
void setYTranslation(float t_y);
void setZoom(float t_z);
void xRotationChanged(int angle);
void yRotationChanged(int angle);
void zRotationChanged(int angle);
2018-06-07 04:53:52 +08:00
protected:
2018-06-06 03:03:06 +08:00
void initializeGL() Q_DECL_OVERRIDE;
void paintGL() Q_DECL_OVERRIDE;
void resizeGL(int width, int height) Q_DECL_OVERRIDE;
void mousePressEvent(QMouseEvent *event) Q_DECL_OVERRIDE;
void mouseMoveEvent(QMouseEvent *event) Q_DECL_OVERRIDE;
void wheelEvent(QWheelEvent *event) Q_DECL_OVERRIDE;
2018-06-11 01:56:17 +08:00
void drawElement(const GraphicElement &el);
2018-06-11 02:48:52 +08:00
QMainWindow *getMainWindow();
2018-06-06 03:03:06 +08:00
2018-06-07 04:53:52 +08:00
private:
2018-06-06 03:03:06 +08:00
int m_windowWidth;
int m_windowHeight;
float m_xMove;
float m_yMove;
float m_zDistance;
QPoint m_lastPos;
2018-06-11 00:33:39 +08:00
Design *design;
2018-06-06 03:03:06 +08:00
};
#endif