Listing: 1 MODULE GrfxDemo; 2 (* 3 * Graphix 4 * Release 3.7 5 * (c) Copyright 1986-1992 PMI 6 * Green Bay, Wisconsin 7 * (414) 468-6040 8 * All rights reserved 9 * 10 *) 11 12 FROM Storage IMPORT ALLOCATE,DEALLOCATE; 13 IMPORT GrConst; 14 IMPORT Meta; 15 IMPORT GrFonts; 16 IMPORT GrPorts; 17 IMPORT GrQry; 18 IMPORT Terminal; 19 IMPORT Strings; 20 IMPORT Storage; ***** ^ duplicate identifier 21 IMPORT SYSTEM; 22 23 24 VAR 25 FontPtr: SYSTEM.ADDRESS; ***** ^ not supported yet 26 CommPort,GrafixCard:INTEGER; 27 BufSize: CARDINAL; 28 29 PROCEDURE Conclude(); FORWARD; 30 31 32 PROCEDURE WaitForKey(); 33 VAR 34 LastKey : CHAR; 35 BEGIN 36 Terminal.Read(LastKey) ; ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 37 IF CAP(LastKey) = 'Q' THEN ***** ^ undeclared identifier ***** ^ not supported yet 38 Conclude(); ***** ^ not supported yet ***** ^ not supported yet 39 END; 40 END WaitForKey; ***** ^ not supported yet 41 42 PROCEDURE ClearGraphicsScreen(); 43 VAR 44 scrnR : GrConst.rect; ***** ^ not supported yet 45 BEGIN 46 Meta.ScreenRect(scrnR); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 47 (* Get the screen limits *) 48 Meta.EraseRect(scrnR); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 49 (* Erase the screen *) 50 END ClearGraphicsScreen; ***** ^ not supported yet 51 52 (* 53 PROCEDURE FileLoad( FileName: ARRAY OF CHAR; 54 VAR DataAreaAdr: SYSTEM.ADDRESS; VAR BufSize: 55 CARDINAL ): Terminal.ErrorMessage; 56 VAR 57 Handle: CARDINAL; 58 name:ARRAY[0..79] OF CHAR; 59 Err: Terminal.ErrorMessage; 60 BEGIN 61 M2Strings.Assign(FileName,name); 62 Err:=HandleIO.FindFile(Handle,name, 'PATH'); 63 IF Err= Terminal.NoError THEN 64 BufSize:=VAL(CARDINAL,HandleIO.FileLength(Handle)); 65 Storage.ALLOCATE( DataAreaAdr, BufSize ); 66 Err:=HandleIO.BlockRead(Handle, DataAreaAdr, BufSize); 67 IF Err # Terminal.NoError THEN 68 Err:=HandleIO.CloseHandle(Handle); 69 RETURN Err; 70 END; 71 ELSE 72 Conclude(); 73 END; 74 RETURN Terminal.NoError; 75 END FileLoad; 76 *) 77 78 PROCEDURE Explain( msg: ARRAY OF CHAR ); ***** ^ not supported yet 79 BEGIN 80 ClearGraphicsScreen; ***** ^ not supported yet 81 Meta.MoveTo( 20, 170 ); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 82 Meta.DrawString( msg ); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 83 Meta.MoveTo( 20, 190 ); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 84 Meta.DrawString( 'Press any key to continue.'); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 85 WaitForKey(); ***** ^ not supported yet ***** ^ not supported yet 86 END Explain; ***** ^ not supported yet 87 88 89 PROCEDURE Sample01(); 90 (* MoveTo/LineTo Example *) 91 BEGIN 92 Explain( 'First we draw a simple line.' ); ***** ^ not supported yet ***** ^ not supported yet 93 Meta.MoveTo(50,50); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 94 (* draw a line from *) 95 Meta.LineTo(200,200); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 96 (* (50,50) to (200,200). *) 97 WaitForKey(); ***** ^ not supported yet ***** ^ not supported yet 98 END Sample01; ***** ^ not supported yet 99 100 101 PROCEDURE Sample02(); 102 (* MoveTo/LineTo Example *) 103 VAR 104 tR : GrConst.rect; ***** ^ not supported yet 105 tmpImage: ADDRESS; ***** ^ undeclared identifier 106 imPara, imBytes : CARDINAL; 107 BEGIN 108 Explain( ***** ^ not supported yet 109 'MetaWINDOW can read an image from the screen and display it elsewhere.'); ***** ^ not supported yet 110 ClearGraphicsScreen(); ***** ^ not supported yet ***** ^ not supported yet 111 112 Meta.MoveTo(50,50); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 113 Meta.DrawString('*Image*'); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 114 Meta.SetRect(tR, 45,40,115,55); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 115 Meta.FrameRect(tR); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 116 imPara := Meta.ImagePara(tR); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 117 IF (imPara > 2047) THEN 118 Terminal.WriteString('Image too large'); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 119 RETURN; 120 END; 121 imBytes := imPara*16; 122 ALLOCATE(tmpImage,imBytes); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 123 Meta.ReadImage (tR, tmpImage); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 124 (* Read the image *) 125 Meta.OffsetRect(tR,48,50); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 126 (* Write it back at *) 127 Meta.WriteImage(tR, tmpImage); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 128 (* a different location. *) 129 Meta.MoveTo( 20, 190); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 130 Meta.DrawString( 'Press any key to continue'); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 131 DEALLOCATE(tmpImage,imBytes); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 132 WaitForKey(); ***** ^ not supported yet ***** ^ not supported yet 133 END Sample02; ***** ^ not supported yet 134 135 136 PROCEDURE Sample03(); 137 138 PROCEDURE LoadAndWrite( FileName: ARRAY OF CHAR; x, y: CARDINAL; ***** ^ not supported yet 139 message: ARRAY OF CHAR ); ***** ^ not supported yet 140 VAR 141 BufSize: CARDINAL; 142 BEGIN 143 (* pfontrec := NIL; 144 Terminal.PrintMessage( FileLoad( FileName, 145 pfontrec, 146 BufSize ) ); 147 Meta.SetFont( pfontrec ); *) 148 BufSize:=Meta.LoadFont(FileName); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 149 Meta.MoveTo( x, y ); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 150 Meta.DrawString(message); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 151 END LoadAndWrite; ***** ^ not supported yet 152 153 BEGIN 154 Explain( 'MetaWINDOW supports a wide variety of fonts.' ); ***** ^ not supported yet ***** ^ not supported yet 155 156 ClearGraphicsScreen(); ***** ^ not supported yet ***** ^ not supported yet 157 158 Meta.TextSize(14,14); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 159 (* Set text size for stroked font, ROMANSIM.FNT *) 160 Meta.TextFace(GrConst.cProportional); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 161 162 LoadAndWrite( 'SYSTEM01.FNT', 10, 50, 'Text output using SYSTEM01.FNT' ); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 163 LoadAndWrite( 'SYSTEM08.FNT', 10, 60, 'Text output using SYSTEM08.FNT' ); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 164 LoadAndWrite( 'SYSTEM11.FNT', 10, 80, 'SYSTEM11.FNT' ); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 165 LoadAndWrite( 'SYSTEM16.FNT', 10,100, 'Text output using SYSTEM16.FNT' ); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 166 LoadAndWrite( 'SYSTEM24.FNT', 10,130, 'Text output using SYSTEM24.FNT' ); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 167 LoadAndWrite( 'SYSTEM32.FNT', 10,170, 'Text output using SYSTEM32.FNT' ); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 168 LoadAndWrite( 'SYSTEM35.FNT', 10,210, 'SYSTEM35.FNT' ); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 169 LoadAndWrite( 'SYSTEM48.FNT', 10,260, 'System48.Fnt' ); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 170 LoadAndWrite( 'SYSTEM72.FNT', 10,320, 'System72.Fnt' ); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 171 LoadAndWrite( 'ROMANSIM.FNT', 300,100, 'Text output using ROMANSIM.FNT' ); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 172 LoadAndWrite( 'SYSTEM16.FNT', 300,320, 'Press any key to continue.' ); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 173 174 WaitForKey(); ***** ^ not supported yet ***** ^ not supported yet 175 END Sample03; ***** ^ not supported yet 176 177 178 PROCEDURE Sample05(); 179 VAR 180 SrcBitMap(*, DstBitMap*): GrPorts.adsBMap; ***** ^ not supported yet 181 (* pointer to default bitmap *) 182 thePort: GrPorts.adsPort; ***** ^ not supported yet 183 (* pointer to default port *) 184 dstR, srcR : GrConst.rect; ***** ^ not supported yet 185 BEGIN 186 Explain( 'MetaWINDOW can even enlarge a graphic image.' ); ***** ^ not supported yet ***** ^ not supported yet 187 ClearGraphicsScreen(); ***** ^ not supported yet ***** ^ not supported yet 188 189 Meta.GetPort(thePort); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 190 (* Get default port address *) 191 SrcBitMap := thePort^.portBMap; ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 192 (* Get default bmap address *) 193 Meta.MoveTo(50,50); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 194 Meta.DrawString('ZoomBits'); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 195 Meta.SetRect(srcR, 45,40,115,55); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 196 Meta.FrameRect(srcR); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 197 Meta.SetRect(dstR,50,100,595,195); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 198 Meta.FrameRect(dstR); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 199 Meta.ZoomBits( SrcBitMap, SrcBitMap, srcR, dstR, dstR, 0 ); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 200 201 Meta.MoveTo( 20, 220 ); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 202 Meta.DrawString( 'Press any key to continue'); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 203 204 WaitForKey(); ***** ^ not supported yet ***** ^ not supported yet 205 END Sample05; ***** ^ not supported yet 206 207 208 PROCEDURE Sample17(); 209 BEGIN 210 Explain( "MetaWINDOW's fonts allow superscript and subscript." ); ***** ^ not supported yet ***** ^ not supported yet 211 Meta.MoveTo (75,50); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 212 Meta.DrawString('MetaWINDOW'); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 213 Meta.MoveTo (Meta.QueryX(),Meta.QueryY()-5); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 214 Meta.DrawString('tm'); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 215 (* superscript 'tm' *) 216 WaitForKey(); ***** ^ not supported yet ***** ^ not supported yet 217 END Sample17; ***** ^ not supported yet 218 219 220 PROCEDURE Sample20(); 221 222 VAR 223 i,J, ImPara, ImBytes : INTEGER; 224 ImagePtr : ADDRESS; ***** ^ undeclared identifier 225 scrnR, tR : GrConst.rect; ***** ^ not supported yet 226 227 PROCEDURE OpenWindow(VAR R:GrConst.rect; Title:ARRAY OF CHAR); ***** ^ not supported yet ***** ^ not supported yet 228 VAR 229 LocalRect:GrConst.rect; ***** ^ not supported yet 230 BEGIN 231 ImPara := Meta.ImagePara(R); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 232 IF (ImPara > 2047) THEN 233 Meta.SetDisplay(GrConst.TextPg0); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 234 Terminal.WriteString('Image too large'); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 235 Terminal.WriteLn; ***** ^ not supported yet ***** ^ not supported yet 236 HALT; ***** ^ undeclared identifier 237 END; 238 ImBytes := ImPara*16; 239 IF NOT Storage.Available(ImBytes) THEN ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 240 Meta.SetDisplay(GrConst.TextPg0); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 241 Terminal.WriteString('Insufficient memory'); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 242 Terminal.WriteLn; ***** ^ not supported yet ***** ^ not supported yet 243 HALT; ***** ^ undeclared identifier 244 END; 245 Storage.ALLOCATE(ImagePtr,ImBytes); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 246 Meta.ReadImage(R,ImagePtr); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 247 (* Save the window area *) 248 Meta.FillRect(R,1); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 249 (* Clear the window *) 250 Meta.PenMode(GrConst.zNANDz); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 251 (* Outline the window *) 252 Meta.FrameRect(R); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 253 Meta.SetRect(LocalRect, R.Xmin,R.Ymin,R.Xmax,R.Ymin+14); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 254 Meta.FillRect(LocalRect,0); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 255 (* Display title block *) 256 Meta.MoveTo(LocalRect.Xmin+5,LocalRect.Ymin+10); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 257 Meta.DrawString(Title); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 258 END OpenWindow; ***** ^ not supported yet 259 260 PROCEDURE CloseWindow(VAR R:GrConst.rect); ***** ^ not supported yet 261 BEGIN 262 Meta.RasterOp(GrConst.zREPz); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 263 Meta.WriteImage(R,ImagePtr); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 264 (* Restore the window area *) 265 Storage.DEALLOCATE(ImagePtr,ImBytes); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 266 END CloseWindow; ***** ^ not supported yet 267 268 BEGIN 269 Explain( ***** ^ not supported yet 270 'MetaWINDOW makes it easy to create desktop-style applications.'); ***** ^ not supported yet 271 Meta.ScreenRect(scrnR); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 272 (* Get the screen limits *) 273 Meta.FillRect(scrnR,3); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 274 Meta.SetRect(tR, 75,75,250,150); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 275 i:=( Meta.FileLoad( 'SYSTEM08.FNT', FontPtr, BufSize ) ); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 276 IF i#0 THEN Conclude(); RETURN ***** ^ not supported yet ***** ^ not supported yet 277 END; 278 Meta.SetFont( FontPtr ); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 279 FOR J:=1 TO 3 DO 280 Meta.MoveTo( 20, 190); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 281 Meta.DrawString( 'Press any key to show menu '); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 282 WaitForKey(); ***** ^ not supported yet ***** ^ not supported yet 283 OpenWindow (tR,'Menu Title'); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 284 Meta.MoveTo( 20, 190); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 285 Meta.DrawString( 'Press any key to remove menu'); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 286 WaitForKey(); ***** ^ not supported yet ***** ^ not supported yet 287 CloseWindow(tR); ***** ^ not supported yet ***** ^ not supported yet 288 Meta.OffsetRect(tR, 150,20) ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 289 END; 290 Meta.MoveTo( 20, 190); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 291 Meta.DrawString( 'Press any key to continue '); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 292 WaitForKey(); ***** ^ not supported yet ***** ^ not supported yet 293 END Sample20; ***** ^ not supported yet 294 295 296 PROCEDURE Sample11(); 297 VAR 298 X, Y, Button : INTEGER; 299 scrnR : GrConst.rect; ***** ^ not supported yet 300 BEGIN 301 ClearGraphicsScreen(); ***** ^ not supported yet ***** ^ not supported yet 302 Terminal.WriteString(' Mouse-A-Sketch without tracking: '); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 303 Terminal.WriteLn; ***** ^ not supported yet ***** ^ not supported yet 304 Terminal.WriteString('- left mouse button draws lines,'); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 305 Terminal.WriteLn; ***** ^ not supported yet ***** ^ not supported yet 306 Terminal.WriteString('- right mouse button erases screen,'); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 307 Terminal.WriteLn; ***** ^ not supported yet ***** ^ not supported yet 308 Terminal.WriteString('- left & right together ends program.'); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 309 Terminal.WriteLn; ***** ^ not supported yet ***** ^ not supported yet 310 Terminal.WriteString(' (Press any key to start) '); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 311 Terminal.WriteLn; ***** ^ not supported yet ***** ^ not supported yet 312 WaitForKey(); ***** ^ not supported yet ***** ^ not supported yet 313 Meta.InitMouse(CommPort); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 314 Meta.ScaleMouse(24,16); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 315 Meta.ScreenRect(scrnR); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 316 (* Get the screen limits *) 317 Meta.EraseRect(scrnR); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 318 (* Erase the screen *) 319 Meta.FrameRect(scrnR); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 320 X:=100; 321 Y:=100; 322 Button:=0; 323 324 REPEAT 325 REPEAT 326 Meta.ReadMouse(X,Y,Button) ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 327 UNTIL Button>=0; 328 IF Button=GrConst.swLeft THEN Meta.LineTo(X,Y) ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 329 (* Draw line *) 330 ELSIF Button=GrConst.swRight THEN ***** ^ not supported yet ***** ^ not supported yet 331 Meta.EraseRect(scrnR); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 332 Meta.FrameRect(scrnR) ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 333 ELSE Meta.MoveTo (X,Y) END; ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 334 UNTIL Button=(GrConst.swLeft+GrConst.swRight); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 335 Meta.StopMouse; ***** ^ not supported yet ***** ^ not supported yet 336 337 END Sample11; ***** ^ not supported yet 338 339 340 PROCEDURE Sample19(); 341 342 VAR 343 X, Y, XOld, YOld, Switch : INTEGER; 344 scrnR : GrConst.rect; ***** ^ not supported yet 345 346 PROCEDURE DrawCursor (CX,CY:INTEGER); 347 BEGIN 348 Meta.RasterOp(GrConst.zXORz); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 349 Meta.MoveTo (scrnR.Xmin,CY); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 350 Meta.LineTo (scrnR.Xmax,CY); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 351 Meta.MoveTo (CX,scrnR.Ymin); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 352 Meta.LineTo (CX,scrnR.Ymax); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 353 END DrawCursor; ***** ^ not supported yet 354 355 BEGIN 356 Meta.ScreenRect(scrnR); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 357 (* Get the screen limits *) 358 Meta.EraseRect(scrnR); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 359 (* Erase the screen *) 360 Meta.InitMouse(CommPort); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 361 X:=100; Y:=100; XOld:=100; YOld:=100; 362 DrawCursor(X,Y); ***** ^ not supported yet ***** ^ not supported yet 363 (* Put the cursor on the screen *) 364 REPEAT 365 REPEAT 366 Meta.ReadMouse(X,Y,Switch); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 367 UNTIL Switch>=0; 368 DrawCursor(XOld,YOld); ***** ^ not supported yet ***** ^ not supported yet 369 (* erase old cursor *) 370 DrawCursor(X,Y); ***** ^ not supported yet ***** ^ not supported yet 371 (* draw cursor in new position*) 372 XOld:=X; 373 YOld:=Y; 374 UNTIL Switch>0; 375 (* until switch is pressed *) 376 Meta.StopMouse; ***** ^ not supported yet ***** ^ not supported yet 377 END Sample19; ***** ^ not supported yet 378 379 380 PROCEDURE Sample21(); 381 VAR 382 X, Y, Level, Button : INTEGER; 383 scrnR : GrConst.rect; ***** ^ not supported yet 384 BEGIN 385 Meta.ScreenRect(scrnR); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 386 (* Get the screen limits *) 387 Meta.EraseRect(scrnR); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 388 (* Erase the screen *) 389 Terminal.WriteString(' Mouse-A-Sketch with Auto-Tracking'); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 390 Terminal.WriteLn; ***** ^ not supported yet ***** ^ not supported yet 391 Terminal.WriteString('- left mouse button draws lines,'); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 392 Terminal.WriteLn; ***** ^ not supported yet ***** ^ not supported yet 393 Terminal.WriteString('- right mouse button erases screen,'); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 394 Terminal.WriteLn; ***** ^ not supported yet ***** ^ not supported yet 395 Terminal.WriteString('- left & right together ends program.'); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 396 Terminal.WriteLn; ***** ^ not supported yet ***** ^ not supported yet 397 Terminal.WriteString(' (Press any key to start) '); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 398 Terminal.WriteLn; ***** ^ not supported yet ***** ^ not supported yet 399 WaitForKey(); ***** ^ not supported yet ***** ^ not supported yet 400 Meta.InitMouse(CommPort); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 401 Meta.ScaleMouse(24,16); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 402 Meta.EraseRect(scrnR); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 403 (* Erase the screen *) 404 Meta.FrameRect(scrnR); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 405 X:=100; 406 Y:=100; 407 Button:=0; 408 Meta.TrackCursor(TRUE); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 409 Meta.ShowCursor; ***** ^ not supported yet ***** ^ not supported yet 410 Meta.LimitMouse(scrnR.Xmin,scrnR.Ymin,scrnR.Xmax,scrnR.Ymax); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 411 (* Keep mouse on screen *) 412 REPEAT 413 REPEAT 414 Meta.QueryCursor(X,Y,Level,Button); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 415 UNTIL Button>=0; 416 IF Button=GrConst.swLeft THEN ***** ^ not supported yet ***** ^ not supported yet 417 Meta.HideCursor; ***** ^ not supported yet ***** ^ not supported yet 418 Meta.LineTo(X,Y); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 419 Meta.ShowCursor; ***** ^ not supported yet ***** ^ not supported yet 420 ELSIF Button=GrConst.swRight THEN ***** ^ not supported yet ***** ^ not supported yet 421 Meta.HideCursor; ***** ^ not supported yet ***** ^ not supported yet 422 Meta.EraseRect(scrnR); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 423 Meta.FrameRect(scrnR); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 424 Meta.ShowCursor; ***** ^ not supported yet ***** ^ not supported yet 425 ELSE Meta.MoveTo(X,Y); END; ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 426 UNTIL Button=(GrConst.swLeft+GrConst.swRight); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 427 Meta.ProtectRect(scrnR); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 428 Meta.MoveTo(10,20); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 429 Meta.DrawString( ' AUTO-CURSOR TRACKING'); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 430 Meta.MoveTo(10,35); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 431 Meta.DrawString( 'Notice how the cursor continues to track'); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 432 Meta.MoveTo(10,50); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 433 Meta.DrawString( 'even while off computing or awaiting input.'); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 434 Meta.MoveTo(10,65); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 435 Meta.DrawString( ' (Press any key to continue)'); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 436 Meta.ProtectOff; ***** ^ not supported yet ***** ^ not supported yet 437 WaitForKey(); ***** ^ not supported yet ***** ^ not supported yet 438 Meta.StopMouse; ***** ^ not supported yet ***** ^ not supported yet 439 END Sample21; ***** ^ not supported yet 440 441 PROCEDURE Sample22; 442 VAR 443 X, XOld, Y, YOld, Button : INTEGER; 444 scrnR : GrConst.rect; ***** ^ not supported yet 445 BEGIN 446 Meta.InitMouse(CommPort); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 447 Meta.ScaleMouse(24,16); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 448 Meta.ScreenRect(scrnR); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 449 (* Get the screen limits *) 450 Meta.EraseRect(scrnR); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 451 (* Erase the screen *) 452 Meta.FrameRect(scrnR); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 453 Meta.PenMode(GrConst.zXORz); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 454 X:=100; 455 Y:=100; 456 XOld:=100; 457 YOld:=100; 458 Meta.MoveTo(100,100); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 459 Meta.LineTo(X,Y); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 460 Meta.LineTo(500,100); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 461 Meta.MoveCursor(X,Y); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 462 Meta.ShowCursor; ***** ^ not supported yet ***** ^ not supported yet 463 REPEAT 464 REPEAT 465 Meta.ReadMouse(X,Y,Button); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 466 UNTIL Button>=0; 467 Meta.HideCursor; ***** ^ not supported yet ***** ^ not supported yet 468 Meta.MoveTo(100,100); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 469 Meta.LineTo(XOld,YOld); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 470 Meta.LineTo(500,100); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 471 Meta.MoveTo(100,100); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 472 Meta.LineTo(X,Y); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 473 Meta.LineTo(500,100); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 474 Meta.MoveCursor(X,Y); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 475 Meta.ShowCursor; ***** ^ not supported yet ***** ^ not supported yet 476 XOld:=X; YOld:=Y; 477 UNTIL Button=GrConst.swLeft; ***** ^ not supported yet ***** ^ not supported yet 478 WaitForKey(); ***** ^ not supported yet ***** ^ not supported yet 479 Meta.StopMouse; ***** ^ not supported yet ***** ^ not supported yet 480 END Sample22; ***** ^ not supported yet 481 482 483 PROCEDURE Hilbert(); 484 485 VAR 486 penColr : CARDINAL; 487 vR: GrConst.rect; ***** ^ not supported yet 488 x, y, x0, y0, h, h0, ox, oy, i : INTEGER; 489 ch : CHAR; 490 491 PROCEDURE Plt(); 492 BEGIN 493 Meta.MoveTo(ox, oy); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 494 Meta.LineTo(x, y); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 495 penColr := (penColr+1) MOD 15; 496 Meta.PenColor(penColr); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 497 ox := x; 498 oy := y; 499 END Plt; ***** ^ not supported yet 500 501 502 PROCEDURE b(i : INTEGER); FORWARD; 503 PROCEDURE c(i : INTEGER); FORWARD; 504 PROCEDURE d(i : INTEGER); FORWARD; 505 506 507 508 PROCEDURE a(i : INTEGER); 509 BEGIN 510 IF i>0 THEN 511 d(i-1); ***** ^ not supported yet ***** ^ not supported yet 512 DEC(x, CARDINAL(h)); ***** ^ undeclared identifier ***** ^ not supported yet 513 Plt(); ***** ^ not supported yet ***** ^ not supported yet 514 a(i-1); ***** ^ not supported yet ***** ^ not supported yet 515 DEC(y, CARDINAL(h)); ***** ^ undeclared identifier ***** ^ not supported yet 516 Plt(); ***** ^ not supported yet ***** ^ not supported yet 517 a(i-1); ***** ^ not supported yet ***** ^ not supported yet 518 INC(x, CARDINAL(h)); ***** ^ undeclared identifier ***** ^ not supported yet 519 Plt(); ***** ^ not supported yet ***** ^ not supported yet 520 b(i-1); ***** ^ not supported yet ***** ^ not supported yet 521 END; 522 END a; ***** ^ not supported yet 523 524 PROCEDURE b(i : INTEGER); 525 BEGIN 526 IF i>0 THEN 527 c(i-1); ***** ^ not supported yet ***** ^ not supported yet 528 INC(y, CARDINAL(h)); ***** ^ undeclared identifier ***** ^ not supported yet 529 Plt(); ***** ^ not supported yet ***** ^ not supported yet 530 b(i-1); ***** ^ not supported yet ***** ^ not supported yet 531 INC(x, CARDINAL(h)); ***** ^ undeclared identifier ***** ^ not supported yet 532 Plt(); ***** ^ not supported yet ***** ^ not supported yet 533 b(i-1); ***** ^ not supported yet ***** ^ not supported yet 534 DEC(y, CARDINAL(h)); ***** ^ undeclared identifier ***** ^ not supported yet 535 Plt(); ***** ^ not supported yet ***** ^ not supported yet 536 a(i-1); ***** ^ not supported yet ***** ^ not supported yet 537 END; 538 END b; ***** ^ not supported yet 539 540 PROCEDURE c(i : INTEGER); 541 BEGIN 542 IF i>0 THEN 543 b(i-1); ***** ^ not supported yet ***** ^ not supported yet 544 INC(x, CARDINAL(h)); ***** ^ undeclared identifier ***** ^ not supported yet 545 Plt(); ***** ^ not supported yet ***** ^ not supported yet 546 c(i-1); ***** ^ not supported yet ***** ^ not supported yet 547 INC(y, CARDINAL(h)); ***** ^ undeclared identifier ***** ^ not supported yet 548 Plt(); ***** ^ not supported yet ***** ^ not supported yet 549 c(i-1); ***** ^ not supported yet ***** ^ not supported yet 550 DEC(x, CARDINAL(h)); ***** ^ undeclared identifier ***** ^ not supported yet 551 Plt(); ***** ^ not supported yet ***** ^ not supported yet 552 d(i-1); ***** ^ not supported yet ***** ^ not supported yet 553 END; 554 END c; ***** ^ not supported yet 555 556 PROCEDURE d(i : INTEGER); 557 BEGIN 558 IF i>0 THEN 559 a(i-1); ***** ^ not supported yet ***** ^ not supported yet 560 DEC(y, CARDINAL(h)); ***** ^ undeclared identifier ***** ^ not supported yet 561 Plt(); ***** ^ not supported yet ***** ^ not supported yet 562 d(i-1); ***** ^ not supported yet ***** ^ not supported yet 563 DEC(x, CARDINAL(h)); ***** ^ undeclared identifier ***** ^ not supported yet 564 Plt(); ***** ^ not supported yet ***** ^ not supported yet 565 d(i-1); ***** ^ not supported yet ***** ^ not supported yet 566 INC(y, CARDINAL(h)); ***** ^ undeclared identifier ***** ^ not supported yet 567 Plt(); ***** ^ not supported yet ***** ^ not supported yet 568 c(i-1); ***** ^ not supported yet ***** ^ not supported yet 569 END; 570 END d; ***** ^ not supported yet 571 572 BEGIN 573 ClearGraphicsScreen(); ***** ^ not supported yet ***** ^ not supported yet 574 Meta.SetRect(vR, 0, 0, 256, 256); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 575 Meta.VirtualRect(vR); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 576 h0 := 256; 577 i := 0; 578 h := h0; 579 x0 := h DIV 2; 580 y0 := x0; 581 REPEAT 582 INC(i); ***** ^ undeclared identifier ***** ^ not supported yet 583 h := h DIV 2; 584 INC(x0, CARDINAL(h DIV 2)); ***** ^ undeclared identifier ***** ^ not supported yet 585 INC(y0, CARDINAL(h DIV 2)); ***** ^ undeclared identifier ***** ^ not supported yet 586 x := x0; 587 y := y0; 588 ox := x0; 589 oy := y0; 590 a(i); ***** ^ not supported yet ***** ^ not supported yet 591 UNTIL (h<8); 592 WaitForKey(); ***** ^ not supported yet ***** ^ not supported yet 593 END Hilbert; ***** ^ not supported yet 594 595 596 PROCEDURE Conclude(); 597 BEGIN 598 Hilbert(); ***** ^ not supported yet ***** ^ not supported yet 599 Meta.SetDisplay(GrConst.TextPg0); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 600 (* Switch to alpha mode *) 601 Meta.ClearText(); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 602 (* Clear the text screen *) 603 (* 604 MetaErrStatus.WriteErrorStatus(); 605 *) 606 Terminal.WriteLn; ***** ^ not supported yet ***** ^ not supported yet 607 Terminal.WriteLn; ***** ^ not supported yet ***** ^ not supported yet 608 Terminal.WriteString( ***** ^ not supported yet ***** ^ not supported yet 609 'The Modula-2 interface to MetaWINDOW is available exclusively from' ); ***** ^ not supported yet 610 Terminal.WriteLn; ***** ^ not supported yet ***** ^ not supported yet 611 Terminal.WriteLn; ***** ^ not supported yet ***** ^ not supported yet 612 Terminal.WriteLn; ***** ^ not supported yet ***** ^ not supported yet 613 Terminal.WriteString(' PMI'); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 614 Terminal.WriteLn; ***** ^ not supported yet ***** ^ not supported yet 615 Terminal.WriteString( ' 3279 North Nicolet Drive' ); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 616 Terminal.WriteLn; ***** ^ not supported yet ***** ^ not supported yet 617 Terminal.WriteString( ' Green Bay WI 54311' ); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 618 Terminal.WriteLn; ***** ^ not supported yet ***** ^ not supported yet 619 Terminal.WriteLn; ***** ^ not supported yet ***** ^ not supported yet 620 Terminal.WriteLn; ***** ^ not supported yet ***** ^ not supported yet 621 Terminal.WriteString( ' P.O. Box 8402' ); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 622 Terminal.WriteLn; ***** ^ not supported yet ***** ^ not supported yet 623 Terminal.WriteString( ' Green Bay WI 54308' ); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 624 Terminal.WriteLn; ***** ^ not supported yet ***** ^ not supported yet 625 Terminal.WriteLn; ***** ^ not supported yet ***** ^ not supported yet 626 Terminal.WriteLn; ***** ^ not supported yet ***** ^ not supported yet 627 Terminal.WriteString( ' tel: (414) 468-6040' ); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 628 Terminal.WriteLn; ***** ^ not supported yet ***** ^ not supported yet 629 Terminal.WriteString( ' fax: (414) 465-0464' ); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 630 Terminal.WriteLn; ***** ^ not supported yet ***** ^ not supported yet 631 Terminal.WriteLn; ***** ^ not supported yet ***** ^ not supported yet 632 Terminal.WriteLn; ***** ^ not supported yet ***** ^ not supported yet 633 WaitForKey(); ***** ^ not supported yet ***** ^ not supported yet 634 Meta.ClearText(); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 635 HALT; ***** ^ undeclared identifier 636 END Conclude; ***** ^ not supported yet 637 638 639 VAR 640 MouseFound: BOOLEAN; 641 tmpc: INTEGER; 642 i,argc: CARDINAL; 643 644 645 BEGIN 646 GrQry.GrQuery(GrafixCard, CommPort); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 647 648 i := Meta.InitGrafix(-GrafixCard); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 649 650 IF (i # 0) THEN 651 (* Display reason for no go *) 652 GrQry.GrInitErr(GrafixCard, CommPort, i); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 653 END; 654 655 MouseFound := CommPort = GrConst.MsDriver; ***** ^ not supported yet ***** ^ not supported yet 656 657 (* Have MetaWINDOW figure out what the Grphics card and mouse 658 * driver are. Global GrQry.GrafixCard and GrQry.CommPort variables will 659 * be updated as side-effects. 660 *) 661 IF GrafixCard=0 THEN 662 (* MetaWINDOW not installed *) 663 RETURN; ***** ^ bad RETURN 664 END; 665 666 Meta.SetDisplay(GrConst.GrafPg0); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 667 (* Switch to graphics page 0 *) 668 tmpc:=Meta.LoadFont('SYSTEM16.FNT'); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 669 (* Terminal.PrintMessage( FileLoad( 'SYSTEM16.FNT', FontPtr, BufSize ) ); 670 (* MetaWINDOW tries to load this font file by default, but it's 671 not very smart about where to look for it. FileLoad is smarter, 672 so we open it explicitly. *) 673 Meta.SetFont( FontPtr ); 674 *) 675 Explain( ***** ^ not supported yet 676 "A brief demonstration of MetaWINDOW graphics for JPI's TopSpeed Modula-2." ); ***** ^ not supported yet 677 678 Sample01(); ***** ^ not supported yet ***** ^ not supported yet 679 680 Sample02(); ***** ^ not supported yet ***** ^ not supported yet 681 Sample03(); ***** ^ not supported yet ***** ^ not supported yet 682 Sample17(); ***** ^ not supported yet ***** ^ not supported yet 683 Sample05(); ***** ^ not supported yet ***** ^ not supported yet 684 Sample20(); ***** ^ not supported yet ***** ^ not supported yet 685 686 (*Rest of GrfxDemo requires a mouse.*) 687 688 IF MouseFound THEN 689 Explain( ***** ^ not supported yet 690 'Remainder of demo requires a mouse. Press Q if mouse not installed.' ); ***** ^ not supported yet 691 Sample11(); ***** ^ not supported yet ***** ^ not supported yet 692 Sample19(); ***** ^ not supported yet ***** ^ not supported yet 693 Sample21(); ***** ^ not supported yet ***** ^ not supported yet 694 Sample22(); ***** ^ not supported yet ***** ^ not supported yet 695 ELSE 696 Explain( 'Remainder of demo requires a mouse. No mouse located.' ); ***** ^ not supported yet ***** ^ not supported yet 697 END; 698 Conclude(); ***** ^ not supported yet ***** ^ not supported yet 699 END GrfxDemo. 927 errors