openMSX
Public Member Functions | Protected Member Functions | List of all members
openmsx::RGBTriplet3xScaler< Pixel > Class Template Referencefinal

TODO. More...

#include <RGBTriplet3xScaler.hh>

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

Public Member Functions

 RGBTriplet3xScaler (const PixelOperations< Pixel > &pixelOps, const RenderSettings &renderSettings)
 
- Public Member Functions inherited from openmsx::Scaler3< Pixel >
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

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...
 
void scaleBlank1to3 (FrameSource &src, unsigned srcStartY, unsigned srcEndY, ScalerOutput< Pixel > &dst, unsigned dstStartY, unsigned dstEndY) override
 
void scaleBlank2to3 (FrameSource &src, unsigned srcStartY, unsigned srcEndY, ScalerOutput< Pixel > &dst, unsigned dstStartY, unsigned dstEndY) override
 
void scale2x1to9x3 (FrameSource &src, unsigned srcStartY, unsigned srcEndY, unsigned srcWidth, ScalerOutput< Pixel > &dst, unsigned dstStartY, unsigned dstEndY) override
 
void scale2x2to9x3 (FrameSource &src, unsigned srcStartY, unsigned srcEndY, unsigned srcWidth, ScalerOutput< Pixel > &dst, unsigned dstStartY, unsigned dstEndY) override
 
void scale1x1to3x3 (FrameSource &src, unsigned srcStartY, unsigned srcEndY, unsigned srcWidth, ScalerOutput< Pixel > &dst, unsigned dstStartY, unsigned dstEndY) override
 
void scale1x2to3x3 (FrameSource &src, unsigned srcStartY, unsigned srcEndY, unsigned srcWidth, ScalerOutput< Pixel > &dst, unsigned dstStartY, unsigned dstEndY) override
 
void scale4x1to9x3 (FrameSource &src, unsigned srcStartY, unsigned srcEndY, unsigned srcWidth, ScalerOutput< Pixel > &dst, unsigned dstStartY, unsigned dstEndY) override
 
void scale4x2to9x3 (FrameSource &src, unsigned srcStartY, unsigned srcEndY, unsigned srcWidth, ScalerOutput< Pixel > &dst, unsigned dstStartY, unsigned dstEndY) override
 
void scale2x1to3x3 (FrameSource &src, unsigned srcStartY, unsigned srcEndY, unsigned srcWidth, ScalerOutput< Pixel > &dst, unsigned dstStartY, unsigned dstEndY) override
 
void scale2x2to3x3 (FrameSource &src, unsigned srcStartY, unsigned srcEndY, unsigned srcWidth, ScalerOutput< Pixel > &dst, unsigned dstStartY, unsigned dstEndY) override
 
void scale8x1to9x3 (FrameSource &src, unsigned srcStartY, unsigned srcEndY, unsigned srcWidth, ScalerOutput< Pixel > &dst, unsigned dstStartY, unsigned dstEndY) override
 
void scale8x2to9x3 (FrameSource &src, unsigned srcStartY, unsigned srcEndY, unsigned srcWidth, ScalerOutput< Pixel > &dst, unsigned dstStartY, unsigned dstEndY) override
 
void scale4x1to3x3 (FrameSource &src, unsigned srcStartY, unsigned srcEndY, unsigned srcWidth, ScalerOutput< Pixel > &dst, unsigned dstStartY, unsigned dstEndY) override
 
void scale4x2to3x3 (FrameSource &src, unsigned srcStartY, unsigned srcEndY, unsigned srcWidth, ScalerOutput< Pixel > &dst, unsigned dstStartY, unsigned dstEndY) override
 
- Protected Member Functions inherited from openmsx::Scaler3< Pixel >
 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)
 

Additional Inherited Members

- Protected Attributes inherited from openmsx::Scaler3< Pixel >
const PixelOperations< PixelpixelOps
 

Detailed Description

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

TODO.

Definition at line 17 of file RGBTriplet3xScaler.hh.

Constructor & Destructor Documentation

◆ RGBTriplet3xScaler()

template<std::unsigned_integral Pixel>
openmsx::RGBTriplet3xScaler< Pixel >::RGBTriplet3xScaler ( const PixelOperations< Pixel > &  pixelOps,
const RenderSettings renderSettings 
)

Definition at line 16 of file RGBTriplet3xScaler.cc.

Member Function Documentation

◆ scale1x1to3x3()

template<std::unsigned_integral Pixel>
void openmsx::RGBTriplet3xScaler< Pixel >::scale1x1to3x3 ( FrameSource src,
unsigned  srcStartY,
unsigned  srcEndY,
unsigned  srcWidth,
ScalerOutput< Pixel > &  dst,
unsigned  dstStartY,
unsigned  dstEndY 
)
overrideprotectedvirtual

Reimplemented from openmsx::Scaler3< Pixel >.

Definition at line 195 of file RGBTriplet3xScaler.cc.

◆ scale1x2to3x3()

template<std::unsigned_integral Pixel>
void openmsx::RGBTriplet3xScaler< Pixel >::scale1x2to3x3 ( FrameSource src,
unsigned  srcStartY,
unsigned  srcEndY,
unsigned  srcWidth,
ScalerOutput< Pixel > &  dst,
unsigned  dstStartY,
unsigned  dstEndY 
)
overrideprotectedvirtual

Reimplemented from openmsx::Scaler3< Pixel >.

Definition at line 205 of file RGBTriplet3xScaler.cc.

◆ scale2x1to3x3()

template<std::unsigned_integral Pixel>
void openmsx::RGBTriplet3xScaler< Pixel >::scale2x1to3x3 ( FrameSource src,
unsigned  srcStartY,
unsigned  srcEndY,
unsigned  srcWidth,
ScalerOutput< Pixel > &  dst,
unsigned  dstStartY,
unsigned  dstEndY 
)
overrideprotectedvirtual

Reimplemented from openmsx::Scaler3< Pixel >.

Definition at line 235 of file RGBTriplet3xScaler.cc.

◆ scale2x1to9x3()

template<std::unsigned_integral Pixel>
void openmsx::RGBTriplet3xScaler< Pixel >::scale2x1to9x3 ( FrameSource src,
unsigned  srcStartY,
unsigned  srcEndY,
unsigned  srcWidth,
ScalerOutput< Pixel > &  dst,
unsigned  dstStartY,
unsigned  dstEndY 
)
overrideprotectedvirtual

Reimplemented from openmsx::Scaler3< Pixel >.

Definition at line 175 of file RGBTriplet3xScaler.cc.

◆ scale2x2to3x3()

template<std::unsigned_integral Pixel>
void openmsx::RGBTriplet3xScaler< Pixel >::scale2x2to3x3 ( FrameSource src,
unsigned  srcStartY,
unsigned  srcEndY,
unsigned  srcWidth,
ScalerOutput< Pixel > &  dst,
unsigned  dstStartY,
unsigned  dstEndY 
)
overrideprotectedvirtual

Reimplemented from openmsx::Scaler3< Pixel >.

Definition at line 245 of file RGBTriplet3xScaler.cc.

◆ scale2x2to9x3()

template<std::unsigned_integral Pixel>
void openmsx::RGBTriplet3xScaler< Pixel >::scale2x2to9x3 ( FrameSource src,
unsigned  srcStartY,
unsigned  srcEndY,
unsigned  srcWidth,
ScalerOutput< Pixel > &  dst,
unsigned  dstStartY,
unsigned  dstEndY 
)
overrideprotectedvirtual

Reimplemented from openmsx::Scaler3< Pixel >.

Definition at line 185 of file RGBTriplet3xScaler.cc.

◆ scale4x1to3x3()

template<std::unsigned_integral Pixel>
void openmsx::RGBTriplet3xScaler< Pixel >::scale4x1to3x3 ( FrameSource src,
unsigned  srcStartY,
unsigned  srcEndY,
unsigned  srcWidth,
ScalerOutput< Pixel > &  dst,
unsigned  dstStartY,
unsigned  dstEndY 
)
overrideprotectedvirtual

Reimplemented from openmsx::Scaler3< Pixel >.

Definition at line 275 of file RGBTriplet3xScaler.cc.

◆ scale4x1to9x3()

template<std::unsigned_integral Pixel>
void openmsx::RGBTriplet3xScaler< Pixel >::scale4x1to9x3 ( FrameSource src,
unsigned  srcStartY,
unsigned  srcEndY,
unsigned  srcWidth,
ScalerOutput< Pixel > &  dst,
unsigned  dstStartY,
unsigned  dstEndY 
)
overrideprotectedvirtual

Reimplemented from openmsx::Scaler3< Pixel >.

Definition at line 215 of file RGBTriplet3xScaler.cc.

◆ scale4x2to3x3()

template<std::unsigned_integral Pixel>
void openmsx::RGBTriplet3xScaler< Pixel >::scale4x2to3x3 ( FrameSource src,
unsigned  srcStartY,
unsigned  srcEndY,
unsigned  srcWidth,
ScalerOutput< Pixel > &  dst,
unsigned  dstStartY,
unsigned  dstEndY 
)
overrideprotectedvirtual

Reimplemented from openmsx::Scaler3< Pixel >.

Definition at line 285 of file RGBTriplet3xScaler.cc.

◆ scale4x2to9x3()

template<std::unsigned_integral Pixel>
void openmsx::RGBTriplet3xScaler< Pixel >::scale4x2to9x3 ( FrameSource src,
unsigned  srcStartY,
unsigned  srcEndY,
unsigned  srcWidth,
ScalerOutput< Pixel > &  dst,
unsigned  dstStartY,
unsigned  dstEndY 
)
overrideprotectedvirtual

Reimplemented from openmsx::Scaler3< Pixel >.

Definition at line 225 of file RGBTriplet3xScaler.cc.

◆ scale8x1to9x3()

template<std::unsigned_integral Pixel>
void openmsx::RGBTriplet3xScaler< Pixel >::scale8x1to9x3 ( FrameSource src,
unsigned  srcStartY,
unsigned  srcEndY,
unsigned  srcWidth,
ScalerOutput< Pixel > &  dst,
unsigned  dstStartY,
unsigned  dstEndY 
)
overrideprotectedvirtual

Reimplemented from openmsx::Scaler3< Pixel >.

Definition at line 255 of file RGBTriplet3xScaler.cc.

◆ scale8x2to9x3()

template<std::unsigned_integral Pixel>
void openmsx::RGBTriplet3xScaler< Pixel >::scale8x2to9x3 ( FrameSource src,
unsigned  srcStartY,
unsigned  srcEndY,
unsigned  srcWidth,
ScalerOutput< Pixel > &  dst,
unsigned  dstStartY,
unsigned  dstEndY 
)
overrideprotectedvirtual

Reimplemented from openmsx::Scaler3< Pixel >.

Definition at line 265 of file RGBTriplet3xScaler.cc.

◆ scaleBlank1to3()

template<std::unsigned_integral Pixel>
void openmsx::RGBTriplet3xScaler< Pixel >::scaleBlank1to3 ( FrameSource src,
unsigned  srcStartY,
unsigned  srcEndY,
ScalerOutput< Pixel > &  dst,
unsigned  dstStartY,
unsigned  dstEndY 
)
overrideprotectedvirtual

◆ scaleBlank2to3()

template<std::unsigned_integral Pixel>
void openmsx::RGBTriplet3xScaler< Pixel >::scaleBlank2to3 ( FrameSource src,
unsigned  srcStartY,
unsigned  srcEndY,
ScalerOutput< Pixel > &  dst,
unsigned  dstStartY,
unsigned  dstEndY 
)
overrideprotectedvirtual

◆ scaleImage()

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

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

Implements openmsx::Scaler< Pixel >.

Definition at line 405 of file RGBTriplet3xScaler.cc.

References openmsx::SuperImposedVideoFrame< Pixel >::getLineWidth().


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