openMSX
|
Base class for 3x scalers. More...
#include <Scaler3.hh>
Public Member Functions | |
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. More... | |
Public Member Functions inherited from openmsx::Scaler< Pixel > | |
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. More... | |
Protected Member Functions | |
Scaler3 (const PixelOperations< Pixel > &pixelOps) | |
void | dispatchScale (FrameSource &src, unsigned srcStartY, unsigned srcEndY, unsigned srcWidth, ScalerOutput< Pixel > &dst, unsigned dstStartY, unsigned dstEndY) |
virtual void | scaleBlank1to3 (FrameSource &src, unsigned srcStartY, unsigned srcEndY, ScalerOutput< Pixel > &dst, unsigned dstStartY, unsigned dstEndY) |
virtual void | scaleBlank2to3 (FrameSource &src, unsigned srcStartY, unsigned srcEndY, ScalerOutput< Pixel > &dst, unsigned dstStartY, unsigned dstEndY) |
virtual void | scale2x1to9x3 (FrameSource &src, unsigned srcStartY, unsigned srcEndY, unsigned srcWidth, ScalerOutput< Pixel > &dst, unsigned dstStartY, unsigned dstEndY) |
virtual void | scale2x2to9x3 (FrameSource &src, unsigned srcStartY, unsigned srcEndY, unsigned srcWidth, ScalerOutput< Pixel > &dst, unsigned dstStartY, unsigned dstEndY) |
virtual void | scale1x1to3x3 (FrameSource &src, unsigned srcStartY, unsigned srcEndY, unsigned srcWidth, ScalerOutput< Pixel > &dst, unsigned dstStartY, unsigned dstEndY) |
virtual void | scale1x2to3x3 (FrameSource &src, unsigned srcStartY, unsigned srcEndY, unsigned srcWidth, ScalerOutput< Pixel > &dst, unsigned dstStartY, unsigned dstEndY) |
virtual void | scale4x1to9x3 (FrameSource &src, unsigned srcStartY, unsigned srcEndY, unsigned srcWidth, ScalerOutput< Pixel > &dst, unsigned dstStartY, unsigned dstEndY) |
virtual void | scale4x2to9x3 (FrameSource &src, unsigned srcStartY, unsigned srcEndY, unsigned srcWidth, ScalerOutput< Pixel > &dst, unsigned dstStartY, unsigned dstEndY) |
virtual void | scale2x1to3x3 (FrameSource &src, unsigned srcStartY, unsigned srcEndY, unsigned srcWidth, ScalerOutput< Pixel > &dst, unsigned dstStartY, unsigned dstEndY) |
virtual void | scale2x2to3x3 (FrameSource &src, unsigned srcStartY, unsigned srcEndY, unsigned srcWidth, ScalerOutput< Pixel > &dst, unsigned dstStartY, unsigned dstEndY) |
virtual void | scale8x1to9x3 (FrameSource &src, unsigned srcStartY, unsigned srcEndY, unsigned srcWidth, ScalerOutput< Pixel > &dst, unsigned dstStartY, unsigned dstEndY) |
virtual void | scale8x2to9x3 (FrameSource &src, unsigned srcStartY, unsigned srcEndY, unsigned srcWidth, ScalerOutput< Pixel > &dst, unsigned dstStartY, unsigned dstEndY) |
virtual void | scale4x1to3x3 (FrameSource &src, unsigned srcStartY, unsigned srcEndY, unsigned srcWidth, ScalerOutput< Pixel > &dst, unsigned dstStartY, unsigned dstEndY) |
virtual void | scale4x2to3x3 (FrameSource &src, unsigned srcStartY, unsigned srcEndY, unsigned srcWidth, ScalerOutput< Pixel > &dst, unsigned dstStartY, unsigned dstEndY) |
Protected Attributes | |
const PixelOperations< Pixel > | pixelOps |
Base class for 3x scalers.
Definition at line 11 of file Scaler3.hh.
|
explicitprotected |
Definition at line 14 of file Scaler3.cc.
|
protected |
Definition at line 222 of file Scaler3.cc.
References openmsx::FrameSource::getHeight(), and UNREACHABLE.
|
protectedvirtual |
Reimplemented in openmsx::HQ3xLiteScaler< Pixel >, openmsx::HQ3xScaler< Pixel >, openmsx::RGBTriplet3xScaler< Pixel >, openmsx::SaI3xScaler< Pixel >, and openmsx::Scale3xScaler< Pixel >.
Definition at line 122 of file Scaler3.cc.
|
protectedvirtual |
Reimplemented in openmsx::RGBTriplet3xScaler< Pixel >.
Definition at line 132 of file Scaler3.cc.
|
protectedvirtual |
Reimplemented in openmsx::HQ3xLiteScaler< Pixel >, openmsx::HQ3xScaler< Pixel >, and openmsx::RGBTriplet3xScaler< Pixel >.
Definition at line 162 of file Scaler3.cc.
|
protectedvirtual |
Reimplemented in openmsx::HQ3xLiteScaler< Pixel >, openmsx::HQ3xScaler< Pixel >, and openmsx::RGBTriplet3xScaler< Pixel >.
Definition at line 102 of file Scaler3.cc.
|
protectedvirtual |
Reimplemented in openmsx::RGBTriplet3xScaler< Pixel >.
Definition at line 172 of file Scaler3.cc.
|
protectedvirtual |
Reimplemented in openmsx::RGBTriplet3xScaler< Pixel >.
Definition at line 112 of file Scaler3.cc.
|
protectedvirtual |
Reimplemented in openmsx::HQ3xLiteScaler< Pixel >, openmsx::HQ3xScaler< Pixel >, and openmsx::RGBTriplet3xScaler< Pixel >.
Definition at line 202 of file Scaler3.cc.
|
protectedvirtual |
Reimplemented in openmsx::HQ3xLiteScaler< Pixel >, openmsx::HQ3xScaler< Pixel >, and openmsx::RGBTriplet3xScaler< Pixel >.
Definition at line 142 of file Scaler3.cc.
|
protectedvirtual |
Reimplemented in openmsx::RGBTriplet3xScaler< Pixel >.
Definition at line 212 of file Scaler3.cc.
|
protectedvirtual |
Reimplemented in openmsx::RGBTriplet3xScaler< Pixel >.
Definition at line 152 of file Scaler3.cc.
|
protectedvirtual |
Reimplemented in openmsx::HQ3xLiteScaler< Pixel >, openmsx::HQ3xScaler< Pixel >, and openmsx::RGBTriplet3xScaler< Pixel >.
Definition at line 182 of file Scaler3.cc.
|
protectedvirtual |
Reimplemented in openmsx::RGBTriplet3xScaler< Pixel >.
Definition at line 192 of file Scaler3.cc.
|
protectedvirtual |
Reimplemented in openmsx::RGBTriplet3xScaler< Pixel >, and openmsx::SaI3xScaler< Pixel >.
Definition at line 20 of file Scaler3.cc.
References openmsx::ScalerOutput< Pixel >::fillLine(), openmsx::FrameSource::getLineColor(), and xrange().
|
protectedvirtual |
Reimplemented in openmsx::RGBTriplet3xScaler< Pixel >.
Definition at line 34 of file Scaler3.cc.
References openmsx::ScalerOutput< Pixel >::fillLine(), and openmsx::FrameSource::getLineColor().
|
overridevirtual |
Scales the image in the given area, which must consist of lines which are all equally wide.
Scaling factor depends on the concrete scaler.
src | Source: the frame to be scaled. |
superImpose | The to-be-superimposed image (can be nullptr). |
srcStartY | Y-coordinate of the top source line (inclusive). |
srcEndY | Y-coordinate of the bottom source line (exclusive). |
srcWidth | The number of pixels per line for the given area. |
dst | Destination: image to store the scaled output in. |
dstStartY | Y-coordinate of the top destination line (inclusive). |
dstEndY | Y-coordinate of the bottom destination line (exclusive). |
Implements openmsx::Scaler< Pixel >.
Definition at line 297 of file Scaler3.cc.
|
protected |
Definition at line 68 of file Scaler3.hh.