[an error occurred while processing this directive]
|
//функция которая выводит на экран вертикальную линию
void PrnVLine (BYTE x1, BYTE y1, BYTE y2, BYTE ModeLine)
{
_Bool Temp=0;
BYTE TempY1,TempY2;
if(!ModeLine)
Temp=0;
if(ModeLine==1)
Temp=1;
if(y2>y1)
{
TempY1=y1;
TempY2=y2;
}
else
{
TempY1=y2;
TempY2=y1;
}
for(;TempY1<=TempY2;TempY1++)
{
if(ModeLine==2)
{
if(!Temp)
Temp=1;
else
Temp=0;
}
PrnPointLcd (x1,TempY1,Temp);
}
}
//
void PrnLine (BYTE x1, BYTE y1, BYTE x2, BYTE y2, BYTE ModeLine)
{
signed char y, oldy;
unsigned char i;
BYTE TempX1,TempX2;
if(x2>x1)
{
TempX1=x1;
TempX2=x2;
}
else
{
TempX1=x2;
TempX2=x1;
}
oldy=0;
for(i=TempX1;i<=TempX2;i++)
{
y=((y2-y1)*(i-TempX1))/(TempX2-TempX1);
PrnVLine(i,y1+oldy,y1+y, ModeLine);
oldy=y;
}
}