openMSX
SuperImposedVideoFrame.hh
Go to the documentation of this file.
1#ifndef SUPERIMPOSEDVIDEOFRAME_HH
2#define SUPERIMPOSEDVIDEOFRAME_HH
3
4#include "FrameSource.hh"
5#include "PixelOperations.hh"
6#include <concepts>
7
8namespace openmsx {
9
20template<std::unsigned_integral Pixel>
22{
23public:
24 SuperImposedVideoFrame(const FrameSource& src, const FrameSource& super,
25 const PixelOperations<Pixel>& pixelOps);
26
27 // FrameSource
28 [[nodiscard]] unsigned getLineWidth(unsigned line) const override;
29 [[nodiscard]] const void* getLineInfo(
30 unsigned line, unsigned& width,
31 void* buf, unsigned bufWidth) const override;
32
33private:
34 const FrameSource& src;
35 const FrameSource& super;
37};
38
39} // namespace openmsx
40
41#endif
Interface for getting lines from a video frame.
Definition: FrameSource.hh:20
This class represents a frame that is the (per-pixel) alpha-blend of a (laser-disc) video frame and a...
SuperImposedVideoFrame(const FrameSource &src, const FrameSource &super, const PixelOperations< Pixel > &pixelOps)
const void * getLineInfo(unsigned line, unsigned &width, void *buf, unsigned bufWidth) const override
Abstract implementation of getLinePtr().
unsigned getLineWidth(unsigned line) const override
Gets the number of display pixels on the given line.
This file implemented 3 utility functions:
Definition: Autofire.cc:9