|
Write_8px
void Write_8px (char latters[40], int x1, int y1)
// Функция для рисования заглавных русских букв. Высотой 8px.
// Функция принимает заглавные латинские буквы, без пробелов и прочих знаков,
// Оканчивается слово добавлением символа "ноль".
// Пример: Write_8px ("TEKST0", 180, 135);
// A - A; J - Ж; N - Н; F - Ф; y - Ы;
// B - Б; Z - З; О - О; H - Х; b - Ь;
// V - В; I - И; P - П; Q - Ц; e - Э;
// G - Г; i - Й; R - Р; с - Ч; u - Ю;
// D - Д; K - K; S - С; w - Ш; Y - Я.
// E - E; L - Л; Т - Т; W - Щ;
// ~ - Ё; M - M; U - У; j - Ъ;
{
int p=-8; //Межбуквенный интервал (Начинаем с -9,так как первый же цикл прибавит 9px)
byte a; //Переменная для подсчета количества переданных в функцию символов.
byte z=0;
{for (a=0;latters[a]!='0';a++);} // Подсчитываем символы в массиве, перебирая значения,
// пока не доходим до стоп-символа '0'
for (z=0; z < a; z++) // Основной блок и счетик.
// Переберает буквы в массиве аргументе функции.
{
if (latters[z] == 'A')
{p=p+8; // Переменная для сдвига следующего символа вправо по оси Х.
// В некоторых буквах подстроена вручную.
myGLCD.drawVLine (x1+1+p,y1+3,4);
myGLCD.drawVLine (x1+6+p,y1+3,4);
myGLCD.drawHLine (x1+2+p,y1+5,3);
myGLCD.drawHLine (x1+3+p,y1+1,1);
myGLCD.drawPixel (x1+p+2, y1+2);
myGLCD.drawPixel (x1+p+5, y1+2);
}
if (latters[z] == 'B')
{p=p+8;
myGLCD.drawVLine (x1+1+p,y1+1,6);
myGLCD.drawVLine (x1+5+p,y1+5,1);
myGLCD.drawHLine (x1+2+p,y1+1,3);
myGLCD.drawHLine (x1+2+p,y1+4,2);
myGLCD.drawHLine (x1+2+p,y1+7,2);
}
if (latters[z] == 'V')
{p=p+7;
myGLCD.drawVLine (x1+1+p,y1+1,6);
myGLCD.drawVLine (x1+4+p,y1+2,1);
myGLCD.drawVLine (x1+4+p,y1+5,1);
myGLCD.drawHLine (x1+2+p,y1+1,1);
myGLCD.drawHLine (x1+2+p,y1+4,1);
myGLCD.drawHLine (x1+2+p,y1+7,1);
}
if (latters[z] == 'G')
{p=p+6;
myGLCD.drawVLine (x1+1+p,y1+1,6);
myGLCD.drawHLine (x1+2+p,y1+1,2);
}
if (latters[z] == 'D')
{p=p+7;
myGLCD.drawHLine (x1+1+p,y1+6,5);
myGLCD.drawVLine (x1+1+p,y1+7,1);
myGLCD.drawVLine (x1+6+p,y1+7,1);
myGLCD.drawVLine (x1+2+p,y1+2,3);
myGLCD.drawVLine (x1+5+p,y1+2,3);
myGLCD.fillRect (x1+3+p,y1+1,x1+4+p,y1+2);
}
if (latters[z] == 'E')
{p=p+8;
myGLCD.drawVLine (x1+1+p,y1+1,6);
myGLCD.drawHLine (x1+2+p,y1+1,2);
myGLCD.drawHLine (x1+2+p,y1+4,1);
myGLCD.drawHLine (x1+2+p,y1+7,3);
}
if (latters[z] == '~')
{p=p+8;
myGLCD.drawVLine (x1+1+p,y1+1,6);
myGLCD.drawHLine (x1+2+p,y1+1,2);
myGLCD.drawHLine (x1+2+p,y1+4,1);
myGLCD.drawHLine (x1+2+p,y1+7,3);
myGLCD.drawPixel (x1+2+p, y1-1);
myGLCD.drawPixel (x1+4+p, y1-1);
}
if (latters[z] == 'J')
{p=p+9;
myGLCD.drawVLine (x1+3+p,y1+1,6);
myGLCD.drawVLine (x1+0+p,y1+6,1);
myGLCD.drawVLine (x1+6+p,y1+6,1);
myGLCD.drawPixel (x1+0+p, y1+1);
myGLCD.drawPixel (x1+1+p, y1+2);
myGLCD.drawPixel (x1+6+p, y1+1);
myGLCD.drawPixel (x1+5+p, y1+2);
myGLCD.drawPixel (x1+1+p, y1+5);
myGLCD.drawPixel (x1+5+p, y1+5);
myGLCD.fillRect (x1+2+p,y1+4,x1+4+p,y1+3);
}
if (latters[z] == 'Z')
{p=p+8;
myGLCD.drawVLine (x1+5+p,y1+2,1);
myGLCD.drawVLine (x1+5+p,y1+5,1);
myGLCD.drawHLine (x1+3+p,y1+1,1);
myGLCD.drawHLine (x1+2+p,y1+7,2);
myGLCD.drawPixel (x1+2+p, y1+2);
myGLCD.drawPixel (x1+4+p, y1+4);
myGLCD.drawPixel (x1+1+p, y1+6);
}
if (latters[z] == 'I')
{p=p+8;
myGLCD.drawVLine (x1+1+p,y1+1,6);
myGLCD.drawVLine (x1+5+p,y1+1,6);
myGLCD.drawPixel (x1+2+p, y1+5);
myGLCD.drawPixel (x1+3+p, y1+4);
myGLCD.drawPixel (x1+4+p, y1+3);
}
if (latters[z] == 'i')
{p=p+8;
myGLCD.drawVLine (x1+2+p,y1+1,6);
myGLCD.drawVLine (x1+6+p,y1+1,6);
myGLCD.drawPixel (x1+3+p, y1+5);
myGLCD.drawPixel (x1+4+p, y1+4);
myGLCD.drawPixel (x1+5+p, y1+3);
myGLCD.drawPixel (x1+4+p, y1+0);
}
if (latters[z] == 'K')
{p=p+8;
myGLCD.drawVLine (x1+1+p,y1+1,6);
myGLCD.drawPixel (x1+2+p, y1+4);
myGLCD.drawPixel (x1+3+p, y1+3);
myGLCD.drawPixel (x1+4+p, y1+2);
myGLCD.drawPixel (x1+5+p, y1+1);
myGLCD.drawPixel (x1+3+p, y1+5);
myGLCD.drawPixel (x1+4+p, y1+6);
myGLCD.drawPixel (x1+5+p, y1+7);
}
if (latters[z] == 'L')
{p=p+8;
myGLCD.drawVLine (x1+6+p,y1+1,6);
myGLCD.drawVLine (x1+3+p,y1+2,2);
myGLCD.drawVLine (x1+2+p,y1+4,3);
myGLCD.drawHLine (x1+4+p,y1+1,1);
myGLCD.drawPixel (x1+1+p, y1+7);
}
if (latters[z] == 'M')
{p=p+9;
myGLCD.drawVLine (x1+0+p,y1+4,3);
myGLCD.drawVLine (x1+6+p,y1+4,3);
myGLCD.drawVLine (x1+1+p,y1+1,2);
myGLCD.drawVLine (x1+3+p,y1+3,1);
myGLCD.drawVLine (x1+5+p,y1+1,2);
myGLCD.drawPixel (x1+2+p, y1+2);
myGLCD.drawPixel (x1+4+p, y1+2);
}
if (latters[z] == 'N')
{p=p+8;
myGLCD.drawVLine (x1+1+p,y1+1,6);
myGLCD.drawVLine (x1+5+p,y1+1,6);
myGLCD.drawHLine (x1+2+p,y1+4,2);
}
if (latters[z] == 'O')
{p=p+8;
myGLCD.drawVLine (x1+1+p,y1+2,4);
myGLCD.drawVLine (x1+5+p,y1+2,4);
myGLCD.drawHLine (x1+2+p,y1+1,2);
myGLCD.drawHLine (x1+2+p,y1+7,2);
}
if (latters[z] == 'P')
{p=p+7;
myGLCD.drawVLine (x1+2+p,y1+1,6);
myGLCD.drawVLine (x1+6+p,y1+1,6);
myGLCD.drawHLine (x1+3+p,y1+1,2);
}
if (latters[z] == 'R')
{p=p+8;
myGLCD.drawVLine (x1+1+p,y1+1,6);
myGLCD.drawVLine (x1+5+p,y1+2,1);
myGLCD.drawHLine (x1+2+p,y1+1,2);
myGLCD.drawHLine (x1+2+p,y1+4,2);
}
if (latters[z] == 'S')
{p=p+8;
myGLCD.drawVLine (x1+1+p,y1+2,4);
myGLCD.drawHLine (x1+2+p,y1+1,2);
myGLCD.drawHLine (x1+2+p,y1+7,2);
myGLCD.drawPixel (x1+5+p, y1+2);
myGLCD.drawPixel (x1+5+p, y1+6);
}
if (latters[z] == 'T')
{p=p+7;
myGLCD.drawVLine (x1+3+p,y1+2,5);
myGLCD.drawHLine (x1+1+p,y1+1,4);
}
if (latters[z] == 'U')
{p=p+8;
myGLCD.drawVLine (x1+1+p,y1+1,1);
myGLCD.drawVLine (x1+5+p,y1+1,2);
myGLCD.drawVLine (x1+4+p,y1+4,1);
myGLCD.drawHLine (x1+1+p,y1+7,1);
myGLCD.drawPixel (x1+2+p, y1+3);
myGLCD.drawPixel (x1+3+p, y1+4);
myGLCD.drawPixel (x1+3+p, y1+6);
}
if (latters[z] == 'F')
{p=p+9;
myGLCD.drawVLine (x1+0+p,y1+3,2);
myGLCD.drawVLine (x1+6+p,y1+3,2);
myGLCD.drawVLine (x1+3+p,y1+1,6);
myGLCD.drawHLine (x1+1+p,y1+2,4);
myGLCD.drawHLine (x1+1+p,y1+6,4);
}
if (latters[z] == 'H')
{p=p+7;
myGLCD.drawVLine (x1+2+p,y1+1,1);
myGLCD.drawVLine (x1+6+p,y1+1,1);
myGLCD.drawVLine (x1+2+p,y1+6,1);
myGLCD.drawVLine (x1+6+p,y1+6,1);
myGLCD.drawPixel (x1+3+p, y1+3);
myGLCD.drawPixel (x1+5+p, y1+3);
myGLCD.drawPixel (x1+4+p, y1+4);
myGLCD.drawPixel (x1+3+p, y1+5);
myGLCD.drawPixel (x1+5+p, y1+5);
}
if (latters[z] == 'Q')
{p=p+8;
myGLCD.drawVLine (x1+1+p,y1+1,6);
myGLCD.drawVLine (x1+5+p,y1+1,5);
myGLCD.drawHLine (x1+2+p,y1+7,4);
myGLCD.drawPixel (x1+6+p, y1+8);
}
if (latters[z] == 'b')
{p=p+8;
myGLCD.drawVLine (x1+2+p,y1+1,6);
myGLCD.drawVLine (x1+6+p,y1+5,1);
myGLCD.drawHLine (x1+3+p,y1+4,2);
myGLCD.drawHLine (x1+3+p,y1+7,2);
}
if (latters[z] == 'y')
{p=p+9;
myGLCD.drawVLine (x1+0+p,y1+1,6);
myGLCD.drawVLine (x1+4+p,y1+5,1);
myGLCD.drawVLine (x1+6+p,y1+1,6);
myGLCD.drawHLine (x1+1+p,y1+4,2);
myGLCD.drawHLine (x1+1+p,y1+7,2);
}
if (latters[z] == 'j')
{p=p+9;
myGLCD.drawVLine (x1+2+p,y1+1,6);
myGLCD.drawVLine (x1+6+p,y1+5,1);
myGLCD.drawHLine (x1+3+p,y1+4,2);
myGLCD.drawHLine (x1+3+p,y1+7,2);
myGLCD.drawPixel (x1+1+p, y1+1);
myGLCD.drawPixel (x1+0+p, y1+1);
}
if (latters[z] == 'c')
{p=p+8;
myGLCD.drawVLine (x1+1+p,y1+1,2);
myGLCD.drawVLine (x1+5+p,y1+1,6);
myGLCD.drawHLine (x1+2+p,y1+4,2);
}
if (latters[z] == 'w')
{p=p+8;
myGLCD.drawVLine (x1+1+p,y1+1,5);
myGLCD.drawVLine (x1+5+p,y1+1,5);
myGLCD.drawVLine (x1+3+p,y1+2,4);
myGLCD.drawHLine (x1+1+p,y1+7,4);
}
if (latters[z] == 'W')
{p=p+8;
myGLCD.drawVLine (x1+1+p,y1+1,5);
myGLCD.drawVLine (x1+3+p,y1+2,4);
myGLCD.drawVLine (x1+5+p,y1+1,5);
myGLCD.drawHLine (x1+1+p,y1+7,5);
myGLCD.drawPixel (x1+6+p, y1+8);
}
if (latters[z] == 'e')
{p=p+8;
myGLCD.drawVLine (x1+5+p,y1+2,4);
myGLCD.drawHLine (x1+2+p,y1+1,2);
myGLCD.drawHLine (x1+2+p,y1+7,2);
myGLCD.drawHLine (x1+3+p,y1+4,1);
myGLCD.drawPixel (x1+1+p, y1+2);
myGLCD.drawPixel (x1+1+p, y1+6);
}
if (latters[z] == 'u')
{p=p+8;
myGLCD.drawVLine (x1+1+p,y1+1,6);
myGLCD.drawVLine (x1+3+p,y1+2,4);
myGLCD.drawVLine (x1+6+p,y1+2,4);
myGLCD.drawHLine (x1+4+p,y1+1,1);
myGLCD.drawHLine (x1+4+p,y1+7,1);
myGLCD.drawPixel (x1+2+p, y1+4);
}
if (latters[z] == 'Y')
{p=p+8;
myGLCD.drawVLine (x1+6+p,y1+1,6);
myGLCD.drawVLine (x1+2+p,y1+2,1);
myGLCD.drawHLine (x1+3+p,y1+1,2);
myGLCD.drawHLine (x1+3+p,y1+4,2);
myGLCD.drawPixel (x1+4+p, y1+5);
myGLCD.drawPixel (x1+3+p, y1+6);
myGLCD.drawPixel (x1+2+p, y1+7);
}
}
}
|
|