summaryrefslogtreecommitdiff
path: root/src/qcam/viewfinder.h
diff options
context:
space:
mode:
authorLaurent Pinchart <laurent.pinchart@ideasonboard.com>2019-03-23 03:24:25 +0200
committerLaurent Pinchart <laurent.pinchart@ideasonboard.com>2019-03-29 17:09:46 +0200
commit97e8b3a2eb321884fe1e15fb584f41a38cc33d51 (patch)
tree3ed93b2504e4fcdc3511bcf956f43ad84a558d0f /src/qcam/viewfinder.h
parentffef90a1c1f1990581d8fbc22193bfc766d23d3b (diff)
qcam: Add Qt-based GUI application
qcam is a sample camera GUI application based on Qt. It demonstrates integration of the Qt event loop with libcamera. The application lets the user select a camera through the GUI, and then captures a single stream from the camera and displays it in a window. Only streams in YUYV formats are supported for now. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Acked-by: Kieran Bingham <kieran.bingham@ideasonboard.com> Tested-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
Diffstat (limited to 'src/qcam/viewfinder.h')
-rw-r--r--src/qcam/viewfinder.h34
1 files changed, 34 insertions, 0 deletions
diff --git a/src/qcam/viewfinder.h b/src/qcam/viewfinder.h
new file mode 100644
index 00000000..df490169
--- /dev/null
+++ b/src/qcam/viewfinder.h
@@ -0,0 +1,34 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+/*
+ * Copyright (C) 2019, Google Inc.
+ *
+ * viewfinder.h - qcam - Viewfinder
+ */
+#ifndef __QCAM_VIEWFINDER_H__
+#define __QCAM_VIEWFINDER_H__
+
+#include <QLabel>
+
+#include "format_converter.h"
+
+class QImage;
+
+class ViewFinder : public QLabel
+{
+public:
+ ViewFinder(QWidget *parent);
+
+ int setFormat(unsigned int format, unsigned int width,
+ unsigned int height);
+ void display(const unsigned char *rgb);
+
+private:
+ unsigned int format_;
+ unsigned int width_;
+ unsigned int height_;
+
+ FormatConverter converter_;
+ QImage *image_;
+};
+
+#endif /* __QCAM_VIEWFINDER__ */