openMSX
Public Member Functions | List of all members
openmsx::Scaler< Pixel > Class Template Referenceabstract

Abstract base class for scalers. More...

#include <Scaler.hh>

Inheritance diagram for openmsx::Scaler< Pixel >:
Inheritance graph
[legend]

Public Member Functions

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...
 

Detailed Description

template<std::unsigned_integral Pixel>
class openmsx::Scaler< Pixel >

Abstract base class for scalers.

A scaler is an algorithm that converts low-res graphics to hi-res graphics.

Definition at line 15 of file Scaler.hh.

Constructor & Destructor Documentation

◆ ~Scaler()

template<std::unsigned_integral Pixel>
virtual openmsx::Scaler< Pixel >::~Scaler ( )
virtualdefault

Member Function Documentation

◆ scaleImage()

template<std::unsigned_integral Pixel>
virtual void openmsx::Scaler< Pixel >::scaleImage ( FrameSource src,
const RawFrame superImpose,
unsigned  srcStartY,
unsigned  srcEndY,
unsigned  srcWidth,
ScalerOutput< Pixel > &  dst,
unsigned  dstStartY,
unsigned  dstEndY 
)
pure virtual

Scales the image in the given area, which must consist of lines which are all equally wide.

Scaling factor depends on the concrete scaler.

Parameters
srcSource: the frame to be scaled.
superImposeThe to-be-superimposed image (can be nullptr).
srcStartYY-coordinate of the top source line (inclusive).
srcEndYY-coordinate of the bottom source line (exclusive).
srcWidthThe number of pixels per line for the given area.
dstDestination: image to store the scaled output in.
dstStartYY-coordinate of the top destination line (inclusive).
dstEndYY-coordinate of the bottom destination line (exclusive).

Implemented in openmsx::MLAAScaler< Pixel >, openmsx::RGBTriplet3xScaler< Pixel >, openmsx::Scaler1< Pixel >, openmsx::Scaler2< Pixel >, and openmsx::Scaler3< Pixel >.


The documentation for this class was generated from the following files: