summaryrefslogtreecommitdiff
path: root/src/qcam/main_window.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/qcam/main_window.h')
-rw-r--r--src/qcam/main_window.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/qcam/main_window.h b/src/qcam/main_window.h
index 720a3393..c623120d 100644
--- a/src/qcam/main_window.h
+++ b/src/qcam/main_window.h
@@ -11,7 +11,9 @@
#include <QElapsedTimer>
#include <QMainWindow>
+#include <QMutex>
#include <QObject>
+#include <QQueue>
#include <QTimer>
#include <libcamera/buffer.h>
@@ -40,6 +42,8 @@ public:
MainWindow(CameraManager *cm, const OptionsParser::Options &options);
~MainWindow();
+ bool event(QEvent *e) override;
+
private Q_SLOTS:
void quit();
void updateTitle();
@@ -57,6 +61,7 @@ private:
int openCamera();
void requestComplete(Request *request);
+ void processCapture();
int display(FrameBuffer *buffer);
void queueRequest(FrameBuffer *buffer);
@@ -78,6 +83,9 @@ private:
uint32_t previousFrames_;
uint32_t framesCaptured_;
+ QMutex mutex_;
+ QQueue<FrameBuffer *> doneQueue_;
+
QToolBar *toolbar_;
ViewFinder *viewfinder_;
std::map<int, std::pair<void *, unsigned int>> mappedBuffers_;