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 
7 namespace openmsx {
8 
19 template<typename Pixel>
20 class SuperImposedVideoFrame final : public FrameSource
21 {
22 public:
23  SuperImposedVideoFrame(const FrameSource& src, const FrameSource& super,
24  const PixelOperations<Pixel>& pixelOps);
25 
26  // FrameSource
27  [[nodiscard]] unsigned getLineWidth(unsigned line) const override;
28  [[nodiscard]] const void* getLineInfo(
29  unsigned line, unsigned& width,
30  void* buf, unsigned bufWidth) const override;
31 
32 private:
33  const FrameSource& src;
34  const FrameSource& super;
35  PixelOperations<Pixel> pixelOps;
36 };
37 
38 } // namespace openmsx
39 
40 #endif
Interface for getting lines from a video frame.
Definition: FrameSource.hh:15
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:5