First version OpenGL drawing

This commit is contained in:
2019-10-23 08:53:19 +02:00
parent 7e815634bb
commit 6aa52236a8
15 changed files with 318 additions and 17 deletions
+19 -4
View File
@@ -1,4 +1,5 @@
#include "mainwindow.h"
#include "stretchpanel.h"
#include <QScrollArea>
#include <QDir>
#include <QKeyEvent>
@@ -26,6 +27,7 @@ int MainWindow::socketPair[2] = {0, 0};
MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent)
{
qRegisterMetaType<ImageInfoData>("ImageInfoData");
qRegisterMetaType<RawImageAbs*>("RawImageAbs");
m_info = new ImageInfo(this);
QDockWidget *infoDock = new QDockWidget(tr("Image info"), this);
@@ -33,7 +35,8 @@ MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent)
infoDock->setObjectName("infoDock");
addDockWidget(Qt::LeftDockWidgetArea, infoDock);
m_image = new ImageScrollArea(this);
setCentralWidget(m_image);
m_image->resize(0,0);
//setCentralWidget(m_image);
resize(800, 600);
PhotoCapture *photoCapture = new PhotoCapture(this);
@@ -42,10 +45,13 @@ MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent)
captureDock->setObjectName("captureDock");
addDockWidget(Qt::BottomDockWidgetArea, captureDock);
m_imageGL = new ImageScrollAreaGL(this);
setCentralWidget(m_imageGL);
setWindowTitle(tr("Tenmon"));
m_ringList = new ImageRingList(this);
connect(m_ringList, SIGNAL(pixmapLoaded(QPixmap)), this, SLOT(pixmapLoaded(QPixmap)));
connect(m_ringList, SIGNAL(pixmapLoaded(Image*)), this, SLOT(pixmapLoaded(Image*)));
connect(m_ringList, SIGNAL(currentImageChanged()), this, SLOT(updateWindowTitle()));
connect(m_ringList, SIGNAL(infoLoaded(ImageInfoData)), m_info, SLOT(setInfo(ImageInfoData)));
@@ -106,6 +112,14 @@ MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent)
dockMenu->addAction(captureDock->toggleViewAction());
menuBar()->addMenu(dockMenu);
StretchPanel *stretchPanel = new StretchPanel(this);
connect(stretchPanel, SIGNAL(lowChanged(int)), m_imageGL, SLOT(setLow(int)));
connect(stretchPanel, SIGNAL(highChanged(int)), m_imageGL, SLOT(setHigh(int)));
QDockWidget *stretchDock = new QDockWidget(tr("Stretch"), this);
stretchDock->setWidget(stretchPanel);
addDockWidget(Qt::LeftDockWidgetArea, stretchDock);
setupSigterm();
QSettings settings;
restoreGeometry(settings.value("mainwindow/geometry").toByteArray());
@@ -187,9 +201,10 @@ void MainWindow::socketNotify()
socketNotifier->setEnabled(true);
}
void MainWindow::pixmapLoaded(QPixmap pix)
void MainWindow::pixmapLoaded(Image *image)
{
m_image->setImage(pix);
m_image->setImage(image->pixmap());
m_imageGL->setImage(image->rawImage());
}
void MainWindow::openFile()