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 
7 namespace openmsx {
8 
9 class RawFrame;
10 
11 class Deflicker : public FrameSource
12 {
13 public:
14  // Factory method, actually returns a Deflicker subclass.
15  [[nodiscard]] static std::unique_ptr<Deflicker> create(
16  const PixelFormat& format,
17  std::unique_ptr<RawFrame>* lastFrames);
18  void init();
19  virtual ~Deflicker() = default;
20 
21 protected:
22  Deflicker(const PixelFormat& format,
23  std::unique_ptr<RawFrame>* lastFrames);
24 
25  [[nodiscard]] unsigned getLineWidth(unsigned line) const override;
26 
27 protected:
28  std::unique_ptr<RawFrame>* lastFrames;
29 };
30 
31 } // namespace openmsx
32 
33 #endif
virtual ~Deflicker()=default
static std::unique_ptr< Deflicker > create(const PixelFormat &format, std::unique_ptr< RawFrame > *lastFrames)
Definition: Deflicker.cc:32
std::unique_ptr< RawFrame > * lastFrames
Definition: Deflicker.hh:28
Deflicker(const PixelFormat &format, std::unique_ptr< RawFrame > *lastFrames)
Definition: Deflicker.cc:50
unsigned getLineWidth(unsigned line) const override
Gets the number of display pixels on the given line.
Definition: Deflicker.cc:63
Interface for getting lines from a video frame.
Definition: FrameSource.hh:16
void format(SectorAccessibleDisk &disk, bool dos1)
Format the given disk (= a single partition).
This file implemented 3 utility functions:
Definition: Autofire.cc:9