openMSX
Scaler.hh
Go to the documentation of this file.
1 #ifndef SCALER_HH
2 #define SCALER_HH
3 
4 namespace openmsx {
5 
6 class FrameSource;
7 class RawFrame;
8 template<typename Pixel> class ScalerOutput;
9 
13 template<typename Pixel> class Scaler
14 {
15 public:
16  virtual ~Scaler() = default;
17 
30  virtual void scaleImage(FrameSource& src, const RawFrame* superImpose,
31  unsigned srcStartY, unsigned srcEndY, unsigned srcWidth,
32  ScalerOutput<Pixel>& dst, unsigned dstStartY, unsigned dstEndY) = 0;
33 };
34 
35 } // namespace openmsx
36 
37 #endif
Abstract base class for scalers.
virtual void scaleImage(FrameSource &src, const RawFrame *superImpose, unsigned srcStartY, unsigned srcEndY, unsigned srcWidth, ScalerOutput< Pixel > &dst, unsigned dstStartY, unsigned dstEndY)=0
Scales the image in the given area, which must consist of lines which are all equally wide...
Interface for getting lines from a video frame.
Definition: FrameSource.hh:14
virtual ~Scaler()=default
A video frame as output by the VDP scanline conversion unit, before any postprocessing filters are ap...
Definition: RawFrame.hh:25
Thanks to enen for testing this on a real cartridge:
Definition: Autofire.cc:5