4#ifndef FRAMEGENERATOR_H
5#define FRAMEGENERATOR_H
18#include <QtCore/qobject.h>
19#include <QtMultimedia/qvideoframe.h>
26enum class ImagePattern
45 void setColors(std::array<QColor, 5> colors);
57 std::array<QColor, 5> m_colors{
61 ImagePattern m_pattern = ImagePattern::SingleColor;
62 QSize m_size{ 640, 480 };
64 std::optional<
int> m_maxFrameCount;
66 std::optional<
double> m_frameRate;
67 std::optional<std::chrono::microseconds> m_period;
68 std::optional<QtVideo::Rotation> m_presentationRotation;
69 std::optional<
bool> m_presentationMirrored;
70 bool m_emitEmptyFrameOnStop =
false;
71 bool m_endTimeIsReported =
true;
void setEndTimeReporting(bool endTimeIsReported)
QVideoFrame createFrame()
void emitEmptyFrameOnStop()
void setPresentationMirrored(bool mirror)
void frameCreated(const QVideoFrame &frame)
void setColors(std::array< QColor, 5 > colors)
void setFrameCount(int count)
void setPeriod(std::chrono::microseconds period)
void setFrameRate(double rate)
void setPresentationRotation(QtVideo::Rotation rotation)
void setPixelFormat(QVideoFrameFormat::PixelFormat pixelFormat)
static void fillColoredSquares(QImage &image)
static QVideoFrame createJpegFrame(const QImage &image, QSize size)
Combined button and popup list for selecting options.