b0c730e330
Implement the camera configuration thru out the library, tests, cam and qcam tools. Signed-off-by: Niklas Söderlund <niklas.soderlund@ragnatech.se> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
55 lines
1001 B
C++
55 lines
1001 B
C++
/* SPDX-License-Identifier: GPL-2.0-or-later */
|
|
/*
|
|
* Copyright (C) 2019, Google Inc.
|
|
*
|
|
* main_window.h - qcam - Main application window
|
|
*/
|
|
#ifndef __QCAM_MAIN_WINDOW_H__
|
|
#define __QCAM_MAIN_WINDOW_H__
|
|
|
|
#include <map>
|
|
|
|
#include <QMainWindow>
|
|
|
|
#include <libcamera/camera.h>
|
|
#include <libcamera/stream.h>
|
|
|
|
#include "../cam/options.h"
|
|
|
|
using namespace libcamera;
|
|
|
|
class ViewFinder;
|
|
|
|
enum {
|
|
OptCamera = 'c',
|
|
OptHelp = 'h',
|
|
};
|
|
|
|
class MainWindow : public QMainWindow
|
|
{
|
|
public:
|
|
MainWindow(const OptionsParser::Options &options);
|
|
~MainWindow();
|
|
|
|
private:
|
|
int openCamera();
|
|
|
|
int startCapture();
|
|
int configureStreams(Camera *camera, std::set<Stream *> &streams);
|
|
void stopCapture();
|
|
|
|
void requestComplete(Request *request,
|
|
const std::map<Stream *, Buffer *> &buffers);
|
|
int display(Buffer *buffer);
|
|
|
|
const OptionsParser::Options &options_;
|
|
|
|
std::shared_ptr<Camera> camera_;
|
|
bool isCapturing_;
|
|
CameraConfiguration config_;
|
|
|
|
ViewFinder *viewfinder_;
|
|
};
|
|
|
|
#endif /* __QCAM_MAIN_WINDOW__ */
|