// $Id: GLHQLiteScaler.hh 5974 2006-12-30 09:53:04Z m9710797 $ #ifndef GLHQLITESCALER_HH #define GLHQLITESCALER_HH #include "GLScaler.hh" #include "noncopyable.hh" #include namespace openmsx { class ShaderProgram; class Texture; template class PixelBuffer; class GLHQLiteScaler : public GLScaler, private noncopyable { public: GLHQLiteScaler(); virtual void scaleImage( ColourTexture& src, unsigned srcStartY, unsigned srcEndY, unsigned srcWidth, unsigned dstStartY, unsigned dstEndY, unsigned dstWidth); virtual void uploadBlock( unsigned srcStartY, unsigned srcEndY, unsigned lineWidth, FrameSource& paintFrame); private: std::auto_ptr scalerProgram; std::auto_ptr edgeTexture; std::auto_ptr offsetTexture[3]; std::auto_ptr > edgeBuffer; }; } // namespace openmsx #endif