/*
・・・Q・・・・・・・・・・・Z・p・メ・・・ア ・ス・ャ8・N・x・E・t・・・E・゚・・ ・・11
BohYoh Shibata PREPARATION
*/
void SetPixel( int x , int y );
void DrawLine( int x1 , int y1 , int x2 , int y2 )
{
int Thresh = 0 , Index ;
int Xunit = 1 ; /* ・w・・・・・フ・・・ェ */
int Yunit = 1 ; /* ・x・・・・・フ・・・ェ */
int Xdiff = x2 - x1; /* ・w・・・・・フ・マ・ハ・ハ */
int Ydiff = y2 - y1; /* ・x・・・・・フ・マ・ハ・ハ */
if ( Xdiff < 0 ) {
Xdiff = -Xdiff ; Xunit = -1 ;
}
if ( Ydiff < 0 ) {
Ydiff = -Ydiff ; Yunit = -1 ;
}
if ( Xdiff > Ydiff ) { /* ・・・[・v・フ・・・・・・・・・゚・・ */
for ( Index = 0 ; Index < Xdiff + 1 ; Index++ ) { /* ・w・・・・・フ・・・[・v */
SetPixel( x1 , y1 );
x1 += Xunit;
Thresh += Ydiff;
if ( Thresh >= Xdiff ) {
Thresh -= Xdiff;
y1 += Yunit;
}
}
} else {
for ( Index = 0 ; Index < Ydiff + 1 ; Index++ ) { /* ・x・・・・・フ・・・[・v */
SetPixel( x1 , y1 );
y1 += Yunit;
Thresh += Xdiff;
if ( Thresh >= Ydiff ) {
Thresh -= Ydiff;
x1 += Xunit;
}
}
}
}