openMSX
Scaler.hh
Go to the documentation of this file.
1#ifndef SCALER_HH
2#define SCALER_HH
3
4#include <concepts>
5
6namespace openmsx {
7
8class FrameSource;
9class RawFrame;
10template<std::unsigned_integral Pixel> class ScalerOutput;
11
15template<std::unsigned_integral Pixel> class Scaler
16{
17public:
18 virtual ~Scaler() = default;
19
32 virtual void scaleImage(FrameSource& src, const RawFrame* superImpose,
33 unsigned srcStartY, unsigned srcEndY, unsigned srcWidth,
34 ScalerOutput<Pixel>& dst, unsigned dstStartY, unsigned dstEndY) = 0;
35};
36
37} // namespace openmsx
38
39#endif
Interface for getting lines from a video frame.
Definition: FrameSource.hh:20
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
virtual ~Scaler()=default
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.
This file implemented 3 utility functions:
Definition: Autofire.cc:9