openMSX
GLHQLiteScaler.hh
Go to the documentation of this file.
1 #ifndef GLHQLITESCALER_HH
2 #define GLHQLITESCALER_HH
3 
4 #include "GLScaler.hh"
5 #include "GLUtil.hh"
6 #include <cstdint>
7 
8 namespace openmsx {
9 
10 class GLHQLiteScaler final : public GLScaler
11 {
12 public:
13  explicit GLHQLiteScaler(GLScaler& fallback);
14 
15  void scaleImage(
16  gl::ColorTexture& src, gl::ColorTexture* superImpose,
17  unsigned srcStartY, unsigned srcEndY, unsigned srcWidth,
18  unsigned dstStartY, unsigned dstEndY, unsigned dstWidth,
19  unsigned logSrcHeight) override;
20  void uploadBlock(
21  unsigned srcStartY, unsigned srcEndY,
22  unsigned lineWidth, FrameSource& paintFrame) override;
23 
24 private:
25  GLScaler& fallback;
26  gl::Texture edgeTexture;
27  gl::Texture offsetTexture[3];
28  gl::PixelBuffer<uint16_t> edgeBuffer;
29 };
30 
31 } // namespace openmsx
32 
33 #endif
gl::Texture
Most basic/generic texture: only contains a texture ID.
Definition: GLUtil.hh:41
gl::ColorTexture
Definition: GLUtil.hh:100
openmsx::GLHQLiteScaler::GLHQLiteScaler
GLHQLiteScaler(GLScaler &fallback)
Definition: GLHQLiteScaler.cc:15
GLScaler.hh
openmsx::GLHQLiteScaler
Definition: GLHQLiteScaler.hh:11
openmsx::GLHQLiteScaler::uploadBlock
void uploadBlock(unsigned srcStartY, unsigned srcEndY, unsigned lineWidth, FrameSource &paintFrame) override
Definition: GLHQLiteScaler.cc:99
gl::PixelBuffer< uint16_t >
openmsx::GLHQLiteScaler::scaleImage
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: GLHQLiteScaler.cc:68
openmsx::FrameSource
Interface for getting lines from a video frame.
Definition: FrameSource.hh:14
openmsx::GLScaler
Abstract base class for OpenGL scalers.
Definition: GLScaler.hh:14
GLUtil.hh
openmsx
This file implemented 3 utility functions:
Definition: Autofire.cc:5