openMSX
Namespaces | Functions
LineScalers.hh File Reference
#include "PixelOperations.hh"
#include "ranges.hh"
#include "view.hh"
#include "xrange.hh"
#include <bit>
#include <cassert>
#include <cstddef>
#include <cstdint>
#include <span>
Include dependency graph for LineScalers.hh:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace  openmsx
 This file implemented 3 utility functions:
 

Functions

void openmsx::scale_1on3 (std::span< const Pixel > in, std::span< Pixel > out)
 Scale_XonY functions Transforms an input line of pixel to an output line (possibly) with a different width.
 
void openmsx::scale_1on4 (std::span< const Pixel > in, std::span< Pixel > out)
 
void openmsx::scale_1on6 (std::span< const Pixel > in, std::span< Pixel > out)
 
void openmsx::Scale_1on2 (std::span< const Pixel > in, std::span< Pixel > out)
 
void openmsx::scale_2on1 (std::span< const Pixel > in, std::span< Pixel > out)
 
void openmsx::scale_6on1 (std::span< const Pixel > in, std::span< Pixel > out)
 
void openmsx::scale_4on1 (std::span< const Pixel > in, std::span< Pixel > out)
 
void openmsx::scale_3on1 (std::span< const Pixel > in, std::span< Pixel > out)
 
void openmsx::scale_3on2 (std::span< const Pixel > in, std::span< Pixel > out)
 
void openmsx::scale_3on4 (std::span< const Pixel > in, std::span< Pixel > out)
 
void openmsx::scale_3on8 (std::span< const Pixel > in, std::span< Pixel > out)
 
void openmsx::scale_2on3 (std::span< const Pixel > in, std::span< Pixel > out)
 
void openmsx::scale_4on3 (std::span< const Pixel > in, std::span< Pixel > out)
 
void openmsx::scale_8on3 (std::span< const Pixel > in, std::span< Pixel > out)
 
void openmsx::scale_2on9 (std::span< const Pixel > in, std::span< Pixel > out)
 
void openmsx::scale_4on9 (std::span< const Pixel > in, std::span< Pixel > out)
 
void openmsx::scale_8on9 (std::span< const Pixel > in, std::span< Pixel > out)
 
void openmsx::scale_4on5 (std::span< const Pixel > in, std::span< Pixel > out)
 
void openmsx::scale_7on8 (std::span< const Pixel > in, std::span< Pixel > out)
 
void openmsx::scale_9on10 (std::span< const Pixel > in, std::span< Pixel > out)
 
void openmsx::scale_17on20 (std::span< const Pixel > in, std::span< Pixel > out)
 
template<unsigned w1 = 1, unsigned w2 = 1>
void openmsx::blendLines (std::span< const Pixel > in1, std::span< const Pixel > in2, std::span< Pixel > out)
 BlendLines functor Generate an output line that is an interpolation of two input lines.
 
void openmsx::alphaBlendLines (std::span< const Pixel > in1, std::span< const Pixel > in2, std::span< Pixel > out)
 AlphaBlendLines functor Generate an output line that is a per-pixel-alpha-blend of the two input lines.
 
void openmsx::alphaBlendLines (Pixel in1, std::span< const Pixel > in2, std::span< Pixel > out)
 
void openmsx::scale_1on2 (std::span< const Pixel > in, std::span< Pixel > out)