Deflicker.hh 625 B

123456789101112131415161718192021222324252627282930313233
  1. #ifndef DEFLICKER_HH
  2. #define DEFLICKER_HH
  3. #include "FrameSource.hh"
  4. #include <memory>
  5. namespace openmsx {
  6. class RawFrame;
  7. class Deflicker : public FrameSource
  8. {
  9. public:
  10. // Factory method, actually returns a Deflicker subclass.
  11. static std::unique_ptr<Deflicker> create(
  12. const PixelFormat& format,
  13. std::unique_ptr<RawFrame>* lastFrames);
  14. void init();
  15. virtual ~Deflicker() = default;
  16. protected:
  17. Deflicker(const PixelFormat& format,
  18. std::unique_ptr<RawFrame>* lastFrames);
  19. unsigned getLineWidth(unsigned line) const override;
  20. std::unique_ptr<RawFrame>* lastFrames;
  21. };
  22. } // namespace openmsx
  23. #endif