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  static std::unique_ptr<Deflicker> create(
16  const SDL_PixelFormat& format,
17  std::unique_ptr<RawFrame>* lastFrames);
18  void init();
19  virtual ~Deflicker() = default;
20 
21 protected:
22  Deflicker(const SDL_PixelFormat& format,
23  std::unique_ptr<RawFrame>* lastFrames);
24 
25  unsigned getLineWidth(unsigned line) const override;
26 
27  std::unique_ptr<RawFrame>* lastFrames;
28 };
29 
30 } // namespace openmsx
31 
32 #endif
Deflicker(const SDL_PixelFormat &format, std::unique_ptr< RawFrame > *lastFrames)
Definition: Deflicker.cc:47
static std::unique_ptr< Deflicker > create(const SDL_PixelFormat &format, std::unique_ptr< RawFrame > *lastFrames)
Definition: Deflicker.cc:29
Interface for getting lines from a video frame.
Definition: FrameSource.hh:14
unsigned getLineWidth(unsigned line) const override
Gets the number of display pixels on the given line.
Definition: Deflicker.cc:60
Thanks to enen for testing this on a real cartridge:
Definition: Autofire.cc:5
virtual ~Deflicker()=default
void format(SectorAccessibleDisk &disk, bool dos1)
Format the given disk (= a single partition).
std::unique_ptr< RawFrame > * lastFrames
Definition: Deflicker.hh:27