openMSX
Deflicker.hh
Go to the documentation of this file.
1#ifndef DEFLICKER_HH
2#define DEFLICKER_HH
3
4#include "FrameSource.hh"
5#include <memory>
6#include <span>
7
8namespace openmsx {
9
10class RawFrame;
11
12class Deflicker : public FrameSource
13{
14public:
15 // Factory method, actually returns a Deflicker subclass.
16 [[nodiscard]] static std::unique_ptr<Deflicker> create(
17 const PixelFormat& format,
18 std::span<std::unique_ptr<RawFrame>, 4> lastFrames);
19 void init();
20 virtual ~Deflicker() = default;
21
22protected:
23 Deflicker(const PixelFormat& format,
24 std::span<std::unique_ptr<RawFrame>, 4> lastFrames);
25
26 [[nodiscard]] unsigned getLineWidth(unsigned line) const override;
27
28protected:
29 std::span<std::unique_ptr<RawFrame>, 4> lastFrames;
30};
31
32} // namespace openmsx
33
34#endif
virtual ~Deflicker()=default
std::span< std::unique_ptr< RawFrame >, 4 > lastFrames
Definition: Deflicker.hh:29
static std::unique_ptr< Deflicker > create(const PixelFormat &format, std::span< std::unique_ptr< RawFrame >, 4 > lastFrames)
Definition: Deflicker.cc:33
Deflicker(const PixelFormat &format, std::span< std::unique_ptr< RawFrame >, 4 > lastFrames)
Definition: Deflicker.cc:51
unsigned getLineWidth(unsigned line) const override
Gets the number of display pixels on the given line.
Definition: Deflicker.cc:64
Interface for getting lines from a video frame.
Definition: FrameSource.hh:20
void format(SectorAccessibleDisk &disk, MSXBootSectorType bootType)
Format the given disk (= a single partition).
This file implemented 3 utility functions:
Definition: Autofire.cc:9