openMSX
HQ3xLiteScaler.hh
Go to the documentation of this file.
1 #ifndef HQ3XLITESCALER_HH
2 #define HQ3XLITESCALER_HH
3 
4 #include "Scaler3.hh"
5 #include "PixelOperations.hh"
6 
7 namespace openmsx {
8 
9 template<typename Pixel>
10 class HQ3xLiteScaler final : public Scaler3<Pixel>
11 {
12 public:
13  explicit HQ3xLiteScaler(const PixelOperations<Pixel>& pixelOps);
14 
15  void scale2x1to9x3(FrameSource& src,
16  unsigned srcStartY, unsigned srcEndY, unsigned srcWidth,
17  ScalerOutput<Pixel>& dst, unsigned dstStartY, unsigned dstEndY) override;
18  void scale1x1to3x3(FrameSource& src,
19  unsigned srcStartY, unsigned srcEndY, unsigned srcWidth,
20  ScalerOutput<Pixel>& dst, unsigned dstStartY, unsigned dstEndY) override;
21  void scale4x1to9x3(FrameSource& src,
22  unsigned srcStartY, unsigned srcEndY, unsigned srcWidth,
23  ScalerOutput<Pixel>& dst, unsigned dstStartY, unsigned dstEndY) override;
24  void scale2x1to3x3(FrameSource& src,
25  unsigned srcStartY, unsigned srcEndY, unsigned srcWidth,
26  ScalerOutput<Pixel>& dst, unsigned dstStartY, unsigned dstEndY) override;
27  void scale8x1to9x3(FrameSource& src,
28  unsigned srcStartY, unsigned srcEndY, unsigned srcWidth,
29  ScalerOutput<Pixel>& dst, unsigned dstStartY, unsigned dstEndY) override;
30  void scale4x1to3x3(FrameSource& src,
31  unsigned srcStartY, unsigned srcEndY, unsigned srcWidth,
32  ScalerOutput<Pixel>& dst, unsigned dstStartY, unsigned dstEndY) override;
33 
34 private:
35  PixelOperations<Pixel> pixelOps;
36 };
37 
38 } // namespace openmsx
39 
40 #endif
openmsx::HQ3xLiteScaler::HQ3xLiteScaler
HQ3xLiteScaler(const PixelOperations< Pixel > &pixelOps)
Definition: HQ3xLiteScaler.cc:94
openmsx::PixelOperations
Definition: PixelOperations.hh:144
openmsx::HQ3xLiteScaler::scale2x1to9x3
void scale2x1to9x3(FrameSource &src, unsigned srcStartY, unsigned srcEndY, unsigned srcWidth, ScalerOutput< Pixel > &dst, unsigned dstStartY, unsigned dstEndY) override
Definition: HQ3xLiteScaler.cc:101
openmsx::HQ3xLiteScaler::scale2x1to3x3
void scale2x1to3x3(FrameSource &src, unsigned srcStartY, unsigned srcEndY, unsigned srcWidth, ScalerOutput< Pixel > &dst, unsigned dstStartY, unsigned dstEndY) override
Definition: HQ3xLiteScaler.cc:137
openmsx::HQ3xLiteScaler::scale4x1to3x3
void scale4x1to3x3(FrameSource &src, unsigned srcStartY, unsigned srcEndY, unsigned srcWidth, ScalerOutput< Pixel > &dst, unsigned dstStartY, unsigned dstEndY) override
Definition: HQ3xLiteScaler.cc:161
openmsx::ScalerOutput
Definition: ScalerOutput.hh:7
Scaler3.hh
openmsx::HQ3xLiteScaler
Definition: HQ3xLiteScaler.hh:11
PixelOperations.hh
openmsx::Scaler3
Base class for 3x scalers.
Definition: Scaler3.hh:12
openmsx::FrameSource
Interface for getting lines from a video frame.
Definition: FrameSource.hh:14
openmsx::HQ3xLiteScaler::scale8x1to9x3
void scale8x1to9x3(FrameSource &src, unsigned srcStartY, unsigned srcEndY, unsigned srcWidth, ScalerOutput< Pixel > &dst, unsigned dstStartY, unsigned dstEndY) override
Definition: HQ3xLiteScaler.cc:149
openmsx::HQ3xLiteScaler::scale4x1to9x3
void scale4x1to9x3(FrameSource &src, unsigned srcStartY, unsigned srcEndY, unsigned srcWidth, ScalerOutput< Pixel > &dst, unsigned dstStartY, unsigned dstEndY) override
Definition: HQ3xLiteScaler.cc:125
openmsx::HQ3xLiteScaler::scale1x1to3x3
void scale1x1to3x3(FrameSource &src, unsigned srcStartY, unsigned srcEndY, unsigned srcWidth, ScalerOutput< Pixel > &dst, unsigned dstStartY, unsigned dstEndY) override
Definition: HQ3xLiteScaler.cc:113
openmsx
This file implemented 3 utility functions:
Definition: Autofire.cc:5