3 #include "classes/gui.inc"
5 unit intro:GUI procedure;
8 call GUI_Rect(50,10,300,30,c_red,c_darkblue);
9 call GUI_WriteText(51,11,unpack("Graphic User Interface Test Program"),c_white,
11 call GUI_WriteText(20,140,unpack("Press mouse key"),c_red,c_white);
12 call GUI_Rect(10,40,300,110,c_green,c_lightgrey);
13 call GUI_WriteText(15,45,unpack("This is demonstration program"),c_black,
15 call GUI_WriteText(15,65,unpack("for new class named GUI."),c_black,c_lightgrey);
16 call GUI_WriteText(15,85,unpack("Written by O.S."),c_black,c_lightgrey);
18 while mb=0 do call GUI_MousePressed(mx,my,mb); od;
21 unit Lines:GUI procedure;
25 call GUI_WriteText(10,10,unpack("You can draw lines using Line or LineTo procedures"),
27 call GUI_Line(20,20,120,120,c_blue);
28 i:=10; call GUI_Move(150,50);
31 call GUI_LineTo(i,100,j);
33 if j>15 then j:=0; fi;
35 call GUI_WriteText(10,150,unpack(" Press any key "),c_yellow,c_red);
37 while i=0 do i:=inkey; od;
41 unit Rectangles:GUI procedure;
45 call GUI_WriteText(10,10,unpack("You can draw rectangles using Rect procedure"),
47 call GUI_Rect(30,30,300,130,c_darkred,c_darkblue);
48 call GUI_Rect(130,40,100,50,c_blue,c_blue);
49 call GUI_Rect(50,80,180,100,c_yellow,c_darkgrey);
50 call GUI_WriteText(10,150,unpack(" Press any key "),c_yellow,c_red);
52 while i=0 do i:=inkey; od;
55 unit Ellipses:GUI procedure;
59 call GUI_WriteText(10,10,unpack("You can draw ellipses and arcs using
60 Ellipse procedure"),c_black,c_white);
61 call GUI_Ellipse(50,50,30,30,0,360,c_darkblue,c_yellow);
62 call GUI_Ellipse(100,50,50,30,0,360,c_red,c_red);
63 call GUI_Ellipse(150,50,80,50,0,180,c_black,c_green);
64 call GUI_Ellipse(250,50,50,50,0,40,c_violet,c_violet);
65 call GUI_WriteText(10,150,unpack(" Press any key "),c_yellow,c_red);
67 while i=0 do i:=inkey; od;
71 unit Images:GUI procedure;
72 var c:array_of integer,i:integer;
75 call GUI_WriteText(10,10,unpack("There is also possibility to put images"),
77 call GUI_WriteText(10,25,unpack("on the screen"),
79 call GUI_WriteText(10,40,unpack("You can load an image from .BMP,.GIF,.XPM file:"),
81 call GUI_PutImgFile(50,60,"examp/logo.bmp");
82 call GUI_WriteText(10,130,unpack("and copy bitmaps from/to screen:"),
84 c:=GUI_GetImg(50,60,100,20);
85 call GUI_PutImg(20,150,c);
87 call GUI_WriteText(10,200,unpack(" Press any key "),c_yellow,c_red);
89 while i=0 do i:=inkey; od;
93 unit WriteRead:GUI procedure;
94 var i:integer,r:real,c:char,s:array_of char;
97 call GUI_WriteText(10,10,unpack("These are functions for read/write operations"),
99 call GUI_WriteText(10,30,unpack("Text:"),c_black,c_white);
100 s:=GUI_ReadText(10,50,c_darkblue,c_lightgrey);
101 call GUI_WriteText(10,70,s,c_darkred,c_yellow);
102 call GUI_WriteText(10,90,unpack("Integer:"),c_black,c_white);
103 i:=GUI_ReadInt(10,110,c_darkblue,c_lightgrey);
104 call GUI_WriteInt(10,130,i,c_darkred,c_yellow);
105 call GUI_WriteText(10,250,unpack("Press any key"),c_black,c_white);
107 while i=0 do i:=inkey; od;
108 call GUI_ClearArea(10,30,200,150);
109 call GUI_WriteText(10,30,unpack("Real:"),c_black,c_white);
110 r:=GUI_ReadReal(10,50,c_darkblue,c_lightgrey);
111 call GUI_WriteReal(10,70,r,c_darkred,c_yellow);
112 call GUI_WriteText(10,90,unpack("Char:"),c_black,c_white);
113 c:=GUI_ReadChar(10,110,c_darkblue,c_lightgrey);
114 call GUI_WriteChar(10,130,c,c_darkred,c_yellow);
116 call GUI_WriteText(10,250,unpack("Press any key"),c_black,c_white);
118 while i=0 do i:=inkey; od;
122 unit QuitProc:GUI procedure;
124 call GUI_WriteText(30,150,unpack("This is the end my dear friend..."),
125 c_yellow,c_lightgrey);
128 unit menu:GUI function:integer;
132 call GUI_Rect(0,0,640,480,c_black,c_lightgrey);
133 call GUI_WriteText(10,10,unpack("Choose your option: (red letter)"),
134 c_black,c_lightgrey);
135 call GUI_WriteChar(10,50,'L',c_red,c_lightgrey);
136 call GUI_WriteText(18,50,unpack("ines"),c_blue,c_lightgrey);
137 call GUI_WriteChar(100,50,'R',c_red,c_lightgrey);
138 call GUI_WriteText(110,50,unpack("ectangles"),c_blue,c_lightgrey);
139 call GUI_WriteChar(220,50,'E',c_red,c_lightgrey);
140 call GUI_WriteText(230,50,unpack("llipses"),c_blue,c_lightgrey);
142 call GUI_WriteChar(10,70,'I',c_red,c_lightgrey);
143 call GUI_WriteText(18,70,unpack("mages"),c_blue,c_lightgrey);
144 call GUI_WriteChar(100,70,'W',c_red,c_lightgrey);
145 call GUI_WriteText(110,70,unpack("rite/read functions"),c_blue,c_lightgrey);
147 call GUI_WriteChar(10,90,'Q',c_red,c_lightgrey);
148 call GUI_WriteText(18,90,unpack("uit"),c_blue,c_lightgrey);
150 while i=0 do i:=inkey; od;
158 while ( mn<>ord('q')) and (mn<>ord('Q')) do
160 if (mn=ord('l')) or (mn=ord('L')) then call Lines; fi;
161 if (mn=ord('r')) or (mn=ord('R')) then call Rectangles; fi;
162 if (mn=ord('e')) or (mn=ord('E')) then call Ellipses; fi;
163 if (mn=ord('i')) or (mn=ord('I')) then call Images; fi;
164 if (mn=ord('w')) or (mn=ord('W')) then call WriteRead; fi;