while(1){
if((ms_release(&ms,0)==1)||(ms_release(&ms,1)==1)){
x=ms.hor_pos;
y=ms.ver_pos;
if(x>58&&x<83&&y>295&&y<312)
kn_add=161;
if(x>83&&x<108&&y>295&&y<312)
kn_add=162;
if(x>58&&x<83&&y>312&&y<330)
kn_add=163;
if(x>83&&x<108&&y>312&&y<330)
kn_add=164;
break;
}
}
kn=16;
}
if(x>8&&x<58&&y>330&&y<365)
kn=17;
if(x>58&&x<108&&y>330&&y<365)
kn=18;
if(x>8&&x<58&&y>365&&y<400)
kn=19;
if(x>58&&x<108&&y>365&&y<400)
kn=20;
if(x>108&&x<175&&y>435&&y<470)
kn=21;
if(x>175&&x<242&&y>435&&y<470)
kn=22;
if(x>242&&x<309&&y>435&&y<470)
kn=23;
if(x>309&&x<376&&y>435&&y<470)
kn=24;
if(x>20&&x<50&&y>14&&y<43)
kn=25;
/* Действия, выполняемые выбранной ранее кнопкой */
switch(kn){
//Резистор
case 1:
cursor_off();
//активизация кнопки
setfillstyle(1,4);
floodfill(15,65,15);
floodfill(25,65,15);
cursor_on();
//ожидание ввода первой координаты рисуемого
//элемента
while(1){
if((ms_release(&ms,0)==1)||(ms_release(&ms,1)==1)){
x1=ms.hor_pos;
y1=ms.ver_pos;
break;
}
}
cursor_off();
//считывание каждого пикселя области экрана,
//предназначенного для указателя
for(i=0;i<=6;i++)
for(j=0;j<=6;j++)
a[i][j]=getpixel(x1-3+j,y1-3+i);
//рисунок указателя
setcolor(8);
circle(x1,y1,3);
setfillstyle(1,14);
floodfill(x1,y1,8);
setcolor(15);
cursor_on();
//ожидание ввода второй координаты рисуемого элемента
while(1){
if((ms_release(&ms,0)==1)||(ms_release(&ms,1)==1)){
x2=ms.hor_pos;
y2=ms.ver_pos;
break;
}
}
cursor_off();
//очистка области экрана, занятой указателем
for(i=0;i<=6;i++)
for(j=0;j<=6;j++)
putpixel(x1-3+j,y1-3+i,a[i][j]);
if(x1>108&&x1<630&&x2>108&&x2<630)
if(y1>50&&y1<435&&y2>50&&y2<435)
//вызов функции, рисующей резистор
rezistor(x1,y1,x2,y2);
//придание кнопке обычного цвета
setfillstyle(1,7);
floodfill(15,65,15);
floodfill(25,65,15);
cursor_on();
kn=0;//обнуляю кнопку
break;
case 2:
cursor_off();
setfillstyle(1,4);
floodfill(90,65,15);
cursor_on();
while(1){
if((ms_release(&ms,0)==1)||(ms_release(&ms,1)==1)){
x1=ms.hor_pos;
y1=ms.ver_pos;
break;
}
}
cursor_off();
for(i=0;i<=6;i++)
for(j=0;j<=6;j++)
a[i][j]=getpixel(x1-3+j,y1-3+i);
setcolor(8);
circle(x1,y1,3);
setfillstyle(1,14);
floodfill(x1,y1,8);
setcolor(15);
cursor_on();
while(1){
if((ms_release(&ms,0)==1)||(ms_release(&ms,1)==1)){
x2=ms.hor_pos;
y2=ms.ver_pos;
break;
}
}
cursor_off();
setfillstyle(1,7);
floodfill(90,65,15);
for(i=0;i<=6;i++)
for(j=0;j<=6;j++)
putpixel(x1-3+j,y1-3+i,a[i][j]);
if(x1>108&&x1<630&&x2>108&&x2<630)
if(y1>50&&y1<435&&y2>50&&y2<435)
