openMSX
GLTVScaler.hh
Go to the documentation of this file.
1#ifndef GLTVSCALER_HH
2#define GLTVSCALER_HH
3
4#include "GLScaler.hh"
5#include "GLUtil.hh"
6#include <array>
7
8namespace openmsx {
9
10class RenderSettings;
11
12class GLTVScaler final : public GLScaler
13{
14public:
15 explicit GLTVScaler(RenderSettings& renderSettings);
16
17 void scaleImage(
18 gl::ColorTexture& src, gl::ColorTexture* superImpose,
19 unsigned srcStartY, unsigned srcEndY, unsigned srcWidth,
20 unsigned dstStartY, unsigned dstEndY, unsigned dstWidth,
21 unsigned logSrcHeight) override;
22
23private:
24 RenderSettings& renderSettings;
25 std::array<GLint, 2> unifMinScanline;
26 std::array<GLint, 2> unifSizeVariance;
27};
28
29} // namespace openmsx
30
31#endif // GLTVSCALER_HH
Abstract base class for OpenGL scalers.
Definition GLScaler.hh:16
void scaleImage(gl::ColorTexture &src, gl::ColorTexture *superImpose, unsigned srcStartY, unsigned srcEndY, unsigned srcWidth, unsigned dstStartY, unsigned dstEndY, unsigned dstWidth, unsigned logSrcHeight) override
Scales the image in the given area, which must consist of lines which are all equally wide.
Definition GLTVScaler.cc:19
Class containing all settings for renderers.
This file implemented 3 utility functions:
Definition Autofire.cc:9