diff options
Diffstat (limited to 'src/apps/qcam/viewfinder.h')
-rw-r--r-- | src/apps/qcam/viewfinder.h | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/src/apps/qcam/viewfinder.h b/src/apps/qcam/viewfinder.h new file mode 100644 index 00000000..a57446e8 --- /dev/null +++ b/src/apps/qcam/viewfinder.h @@ -0,0 +1,34 @@ +/* SPDX-License-Identifier: GPL-2.0-or-later */ +/* + * Copyright (C) 2019, Google Inc. + * + * viewfinder.h - qcam - Viewfinder base class + */ + +#pragma once + +#include <QImage> +#include <QList> +#include <QSize> + +#include <libcamera/color_space.h> +#include <libcamera/formats.h> +#include <libcamera/framebuffer.h> + +class Image; + +class ViewFinder +{ +public: + virtual ~ViewFinder() = default; + + virtual const QList<libcamera::PixelFormat> &nativeFormats() const = 0; + + virtual int setFormat(const libcamera::PixelFormat &format, const QSize &size, + const libcamera::ColorSpace &colorSpace, + unsigned int stride) = 0; + virtual void render(libcamera::FrameBuffer *buffer, Image *image) = 0; + virtual void stop() = 0; + + virtual QImage getCurrentImage() = 0; +}; |