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
openmsx::PixelOperations
Definition: PixelOperations.hh:142
openmsx::MLAAScaler::scaleImage
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
openmsx::MLAAScaler
Scaler that uses a variation of the morphological anti-aliasing algorithm.
Definition: MLAAScaler.hh:19
openmsx::Scaler
Abstract base class for scalers.
Definition: FBPostProcessor.hh:13
openmsx::ScalerOutput
Definition: Scaler.hh:8
Scaler.hh
openmsx::RawFrame
A video frame as output by the VDP scanline conversion unit, before any postprocessing filters are ap...
Definition: RawFrame.hh:25
PixelOperations.hh
openmsx::FrameSource
Interface for getting lines from a video frame.
Definition: FrameSource.hh:13
openmsx::MLAAScaler::MLAAScaler
MLAAScaler(unsigned dstWidth, const PixelOperations< Pixel > &pixelOps)
Definition: MLAAScaler.cc:16
openmsx
Thanks to enen for testing this on a real cartridge:
Definition: Autofire.cc:5