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
7namespace openmsx {
8
18template<std::unsigned_integral Pixel>
19class MLAAScaler final : public Scaler<Pixel>
20{
21public:
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
28private:
29 const PixelOperations<Pixel> pixelOps;
30 const unsigned dstWidth;
31};
32
33} // namespace openmsx
34
35#endif
Interface for getting lines from a video frame.
Definition: FrameSource.hh:20
Scaler that uses a variation of the morphological anti-aliasing algorithm.
Definition: MLAAScaler.hh:20
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:25
MLAAScaler(unsigned dstWidth, const PixelOperations< Pixel > &pixelOps)
Definition: MLAAScaler.cc:17
A video frame as output by the VDP scanline conversion unit, before any postprocessing filters are ap...
Definition: RawFrame.hh:15
Abstract base class for scalers.
Definition: Scaler.hh:16
This file implemented 3 utility functions:
Definition: Autofire.cc:9