openMSX
MLAAScaler.hh
Go to the documentation of this file.
1 #ifndef MLAASCALER_HH
2 #define MLAASCALER_HH
3 
4 #include "Scaler.hh"
5 #include "PixelOperations.hh"
6 
7 namespace openmsx {
8 
18 template <class Pixel>
19 class MLAAScaler final : public Scaler<Pixel>
20 {
21 public:
22  MLAAScaler(unsigned dstWidth, const PixelOperations<Pixel>& pixelOps);
23 
24  void scaleImage(FrameSource& src, const RawFrame* superImpose,
25  unsigned srcStartY, unsigned srcEndY, unsigned srcWidth,
26  ScalerOutput<Pixel>& dst, unsigned dstStartY, unsigned dstEndY) override;
27 
28 private:
29  const PixelOperations<Pixel> pixelOps;
30  const unsigned dstWidth;
31 };
32 
33 } // namespace openmsx
34 
35 #endif
Abstract base class for scalers.
Scaler that uses a variation of the morphological anti-aliasing algorithm.
Definition: MLAAScaler.hh:19
Interface for getting lines from a video frame.
Definition: FrameSource.hh:14
A video frame as output by the VDP scanline conversion unit, before any postprocessing filters are ap...
Definition: RawFrame.hh:25
void scaleImage(FrameSource &src, const RawFrame *superImpose, unsigned srcStartY, unsigned srcEndY, unsigned srcWidth, ScalerOutput< Pixel > &dst, unsigned dstStartY, unsigned dstEndY) override
Scales the image in the given area, which must consist of lines which are all equally wide...
Definition: MLAAScaler.cc:24
Thanks to enen for testing this on a real cartridge:
Definition: Autofire.cc:5
MLAAScaler(unsigned dstWidth, const PixelOperations< Pixel > &pixelOps)
Definition: MLAAScaler.cc:16