PHP код:
MyFillScr (22,3,35,13,0xF);//кнопка очистки экрана
MyFillScr (38,3,51,13,0xF);//кнопка заливки экрана
MyFillScr (22,16,51,26,0xF);//кнопка рисования
MyLine (24,21,48, 21,0x0); //линии
//палитра
MyFillScr (55,3,65,13,0x0);
MyFillScr (67,3,77,13,0xB);
MyFillScr (79,3,89,13,0x3);
MyFillScr (91,3,101,13,0xD);
MyFillScr (103,3,113,13,0x5);
MyFillScr (115,3,125,13,0x1);
MyFillScr (55,16,65,26,0xC);
MyFillScr (67,16,77,26,0x6);
MyFillScr (79,16,89,26,0xE);
MyFillScr (91,16,101,26,0x7);
MyFillScr (103,16,113,26,0xF);
MyFillScr (115,16,125,26,0x4);
//перо
MyFillScr (135,6,195,21,0xF);
PERO_ROMB(142,16,6,0x0);
PERO_ROMB(154,18,10,0x0);
PERO_KRUG(166,15,4,0x0);
PERO_KRUG(179,17,8,0x0);
MyLine (230,6,250,6,0xF);
MyLine (230,20,250,20,0xF);
MyLine (230,6,230,20,0xF);
MyLine (250,6,250,20,0xF);
pokeb (GS,320*13+240,0xF);
//стерка
MyLine (200,6,220,6,0xF);
MyLine (200,20,220,20,0xF);
MyLine (200,6,200,20,0xF);
MyLine (220,6,220,20,0xF);
PERO_ROMB(210,16,6,0xF);
//кнопка закрытия
MyFillScr (310,0,320,10,0x4);
MyLine (311,0,319,8,0xF);
MyLine (311,8,319,0,0xF);
regs.x.ax = 0x01;
int86 (0x33, ®s, ®s);
while (1==1)
{
regs.x.ax = 0x03;
int86 (0x33, ®s, ®s);
if (regs.x.bx==0x01)
{
X = regs.x.cx/2; Y = regs.x.dx;
if (310<=X && X<=320 && 0<=Y && Y<=10) break;
if (139<=X && X<=144 && 10<=Y && Y<=16) P=1; //pero
if (149<=X && X<=159 && 8<=Y && Y<=18) P=2;
if (163<=X && X<=169 && 11<=Y && Y<=15) P=3;
if (175<=X && X<=183 && 9<=Y && Y<=17) P=4;
if (230<=X && X<=250 && 7<=Y && Y<=19) P=5;
if (207<=X && X<=212 && 10<=Y && Y<=16) cv=0xF; //sterka
//Цвета
if (55<=X && X<=65 && 3<=Y && Y<=13)
{ cv=0x0;}
if (67<=X && X<=77 && 3<=Y && Y<=13)
{cv=0xB;}
if (79<=X && X<=89 && 3<=Y && Y<=13)
{cv=0x3;}
if (91<=X && X<=101 && 3<=Y && Y<=13)
{cv=0xD;}
if (103<=X && X<=113 && 3<=Y && Y<=13)
{cv=0x5;}
if (115<=X && X<=125 && 3<=Y && Y<=13)
{cv=0x1;}
if (55<=X && X<=65 && 16<=Y && Y<=26)
{cv=0xC;}
if (67<=X && X<=77 && 16<=Y && Y<=26)
{cv=0x6;}
if (79<=X && X<=89 && 16<=Y && Y<=26)
{cv=0xE;}
if (91<=X && X<=101 && 16<=Y && Y<=26)
{cv=0x7;}
if (103<=X && X<=113 && 16<=Y && Y<=26)
{cv=0xF;}
if (115<=X && X<=125 && 16<=Y && Y<=26)
{cv=0x4;}
//очистка
if (22<=X && X<=35 && 3<=Y && Y<13)
{MyFillScr (0,31, 320, 200,0xF);}
if (3<=X && X<=13 && 3<=Y && Y<=13) {save_f();}//сохранение в файл
if (3<=X && X<=13 && 16<=Y && Y<=26) {open_f();}//открытие из файла
if (38<=X && X<=51 && 3<=Y && Y<=13){MyFillScr (0,31,320,200,cvzal);}//заливка экрана
if (24<=X && X<=51 &&16<=Y && Y<=26){MyLine (110,100,190,100,0x0);}//рисование линии
if (8<=X && X<=313 && 41<=Y && Y<=200)
{
if (P==1) PERO_ROMB(X,Y,6,cv);
if (P==2) PERO_ROMB(X,Y,10,cv);
if (P==3) PERO_KRUG(X,Y-1,4,cv);
if (P==4) PERO_KRUG(X,Y-1,8,cv);
if (P==5) pokeb (GS,320*(Y-1)+(X-1),cv);
}
}
if (regs.x.bx==0x02)//Правая кнопка мыши
{X = regs.x.cx/2; Y = regs.x.dx;
//Цвета
if (55<=X && X<=65 && 3<=Y && Y<=13)
{ cvzal=0x0;MyFillScr (38,3,51,13,cvzal);}
if (67<=X && X<=77 && 3<=Y && Y<=13)
{cvzal=0xB;MyFillScr (38,3,51,13,cvzal);}
if (79<=X && X<=89 && 3<=Y && Y<=13)
{cvzal=0x3;MyFillScr (38,3,51,13,cvzal);}
if (91<=X && X<=101 && 3<=Y && Y<=13)
{cvzal=0xD;MyFillScr (38,3,51,13,cvzal);}
if (103<=X && X<=113 && 3<=Y && Y<=13)
{cvzal=0x5;MyFillScr (38,3,51,13,cvzal);}
if (115<=X && X<=125 && 3<=Y && Y<=13)
{cvzal=0x1;MyFillScr (38,3,51,13,cvzal);}
if (55<=X && X<=65 && 16<=Y && Y<=26)
{cvzal=0xC;MyFillScr (38,3,51,13,cvzal);}
if (67<=X && X<=77 && 16<=Y && Y<=26)
{cvzal=0x6;MyFillScr (38,3,51,13,cvzal);}
if (79<=X && X<=89 && 16<=Y && Y<=26)
{cvzal=0xE;MyFillScr (38,3,51,13,cvzal);}
if (91<=X && X<=101 && 16<=Y && Y<=26)
{cvzal=0x7;MyFillScr (38,3,51,13,cvzal);}
if (103<=X && X<=113 && 16<=Y && Y<=26)
{cvzal=0xF;MyFillScr (38,3,51,13,cvzal);}
if (115<=X && X<=125 && 16<=Y && Y<=26)
{cvzal=0x4;MyFillScr (38,3,51,13,cvzal);}
}
}
regs.h.ah = 0x00;
regs.h.al = 0x03; // Текстовый режим
int86 (0x10, ®s, ®s);
}