OXYGENHUB
◆ main openmsx / src / video / DoubledFrame.cc
621 B · C++ · last changed chore(): initial commit 1 month ago source blame history raw
1
#include "DoubledFrame.hh"
2
3
#include "narrow.hh"
4
5
namespace openmsx {
6
7
void DoubledFrame::init(FrameSource* field_, int skip_)
8
{
9
	FrameSource::init(FieldType::NONINTERLACED);
10
	field = field_;
11
	skip = skip_;
12
	setHeight(2 * field->getHeight());
13
}
14
15
unsigned DoubledFrame::getLineWidth(unsigned line) const
16
{
17
	int t = narrow<int>(line) - skip;
18
	return (t >= 0) ? field->getLineWidth(t / 2) : 1;
19
}
20
21
std::span<const FrameSource::Pixel> DoubledFrame::getUnscaledLine(
22
	unsigned line, std::span<Pixel> helpBuf) const
23
{
24
	return field->getUnscaledLine(std::max(narrow<int>(line) - skip, 0) / 2, helpBuf);
25
}
26
27
} // namespace openmsx