openMSX
|
Like PolyScale above, but instead keeps a reference to the actual scaler. More...
#include <LineScalers.hh>
Public Member Functions | |
PolyScaleRef (Scaler &scaler_) | |
void | operator() (const Pixel *in, Pixel *out, size_t outWidth) override |
Actually scale a line. More... | |
bool | isCopy () const override |
Is this scale operation actually a copy? This info can be used to (in a multi-step scale operation) immediately produce the output of the previous step in this step's output buffer, so effectively skipping this step. More... | |
Additional Inherited Members | |
![]() | |
~PolyLineScaler ()=default | |
Like PolyScale above, but instead keeps a reference to the actual scaler.
Can be used when the actual scaler is expensive to construct (e.g. Blur_1on3).
Definition at line 339 of file LineScalers.hh.
|
inlineexplicit |
Definition at line 342 of file LineScalers.hh.
|
inlineoverridevirtual |
Is this scale operation actually a copy? This info can be used to (in a multi-step scale operation) immediately produce the output of the previous step in this step's output buffer, so effectively skipping this step.
Implements openmsx::PolyLineScaler< Pixel >.
Definition at line 350 of file LineScalers.hh.
|
inlineoverridevirtual |
Actually scale a line.
in | Pointer to buffer containing input line. |
out | Pointer to buffer that should be filled with output. |
outWidth | The number of pixels that should be output. Note: The number of input pixels is not explicitly specified. This depends on the actual scaler, for example Scale_2on1 requires twice as many pixels in the input than the output. |
Implements openmsx::PolyLineScaler< Pixel >.
Definition at line 346 of file LineScalers.hh.