line.cpp

来自「一个symbian 冒险游戏代码」· C++ 代码 · 共 24 行

CPP
24
字号
#include "Line.h"
#include "Surface.h"


void Line::drawViewport( Surface& dst )
{
	const FixVec2 d = m_b - m_a;
	
	int points = (d.x.abs() > d.y.abs() ? d.x.abs() : d.y.abs()).toInt();
	points /= 2;
	int shift = 1;
	while ( shift != 0 && (1<<shift) < points )
		++shift;

	for ( int i = 0 ; i < (1<<shift) ; ++i )
	{
		Fix seg = Fix(Fix::fromInt(i).v >> shift);
		FixVec2 p = m_a + d * seg;
		dst.setViewportPixel( p.x.toInt(), p.y.toInt(), m_c );
	}
}

// End of File

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?