openMSX
Public Member Functions | List of all members
openmsx::DoubledFrame Class Referencefinal

Produces a video frame that has every line from the input frame twice plus a number of black lines at the top. More...

#include <DoubledFrame.hh>

Inheritance diagram for openmsx::DoubledFrame:
Inheritance graph
[legend]
Collaboration diagram for openmsx::DoubledFrame:
Collaboration graph
[legend]

Public Member Functions

 DoubledFrame (const PixelFormat &format)
 
void init (FrameSource *field, unsigned skip)
 
- Public Member Functions inherited from openmsx::FrameSource
void init (FieldType fieldType_)
 (Re)initialize an existing FrameSource. More...
 
FieldType getField () const
 Gets the role this frame plays in interlacing. More...
 
unsigned getHeight () const
 Gets the number of lines in this frame. More...
 
unsigned getWidth () const
 Get the width of (all) lines in this frame. More...
 
template<typename Pixel >
Pixel getLineColor (unsigned line) const
 Get the (single) color of the given line. More...
 
template<typename Pixel >
const PixelgetLinePtr (int line, unsigned width, Pixel *buf) const
 Gets a pointer to the pixels of the given line number. More...
 
template<typename Pixel >
const PixelgetMultiLinePtr (int line, unsigned numLines, unsigned &actualLines, unsigned width, Pixel *buf) const
 Similar to the above getLinePtr() method, but now tries to get multiple lines at once. More...
 
template<typename Pixel >
const PixelgetLinePtr320_240 (unsigned line, Pixel *buf) const
 Get a pointer to a given line in this frame, the frame is scaled to 320x240 pixels. More...
 
template<typename Pixel >
const PixelgetLinePtr640_480 (unsigned line, Pixel *buf) const
 Get a pointer to a given line in this frame, the frame is scaled to 640x480 pixels. More...
 
template<typename Pixel >
const PixelgetLinePtr960_720 (unsigned line, Pixel *buf) const
 Get a pointer to a given line in this frame, the frame is scaled to 960x720 pixels. More...
 
virtual unsigned getRowLength () const
 Returns the distance (in pixels) between two consecutive lines. More...
 
const PixelFormatgetPixelFormat () const
 

Additional Inherited Members

- Public Types inherited from openmsx::FrameSource
enum  FieldType { FIELD_NONINTERLACED, FIELD_EVEN, FIELD_ODD }
 What role does this frame play in interlacing? More...
 
- Protected Member Functions inherited from openmsx::FrameSource
 FrameSource (const PixelFormat &format)
 
 ~FrameSource ()=default
 
void setHeight (unsigned height_)
 
virtual bool hasContiguousStorage () const
 Returns true when two consecutive rows are also consecutive in memory. More...
 
template<typename Pixel >
void scaleLine (const Pixel *in, Pixel *out, unsigned inWidth, unsigned outWidth) const
 

Detailed Description

Produces a video frame that has every line from the input frame twice plus a number of black lines at the top.

This class does not copy the data from the input FrameSource.

Definition at line 12 of file DoubledFrame.hh.

Constructor & Destructor Documentation

◆ DoubledFrame()

openmsx::DoubledFrame::DoubledFrame ( const PixelFormat format)
explicit

Definition at line 6 of file DoubledFrame.cc.

References openmsx::DiskImageUtils::format().

Member Function Documentation

◆ init()

void openmsx::DoubledFrame::init ( FrameSource field,
unsigned  skip 
)

The documentation for this class was generated from the following files: