home *** CD-ROM | disk | FTP | other *** search
/ C++ Games Programming / CPPGAMES.ISO / fgl / fglight / expas.arj / TEMP / 08-15.PAS < prev    next >
Pascal/Delphi Source File  |  1995-01-20  |  1KB  |  57 lines

  1. program main;
  2. {$IFDEF DPMI}
  3. uses fgmain, fgmisc, fgvb, WinAPI;
  4. {$ELSE}
  5. uses fgmain, fgmisc, fgvb;
  6. {$ENDIF}
  7.  
  8. const
  9.   WIDTH = 20;
  10.   HEIGHT = 20;
  11.  
  12. var
  13.   handle   : integer;
  14.   old_mode : integer;
  15.   status   : integer;
  16.   x        : integer;
  17.   buffer   : pointer;
  18.  
  19. begin
  20.   fg_initpm;
  21.   old_mode := fg_getmode;
  22.   fg_setmode(19);
  23.   fg_vbinit;
  24.  
  25.   fg_setcolor(15);
  26.   fg_rect(0,WIDTH-1,0,HEIGHT-1);
  27.   fg_setcolor(9);
  28.   fg_rect(1,WIDTH-2,1,HEIGHT-2);
  29.   fg_waitkey;
  30.  
  31. {$IFDEF DPMI}
  32.   buffer := GlobalAllocPtr(gmem_Fixed,Longint(WIDTH)*Longint(HEIGHT));
  33. {$ELSE}
  34.   GetMem(buffer,WIDTH*HEIGHT);
  35. {$ENDIF}
  36.   handle := fg_vbdefine(buffer,WIDTH,HEIGHT);
  37.   status := fg_vbopen(handle);
  38.   fg_vbcut(0,WIDTH-1,0,HEIGHT-1,0,HEIGHT-1);
  39.  
  40.   x := 0;
  41.   while (x <= 320-WIDTH) do
  42.   begin
  43.     fg_vbpaste(0,WIDTH-1,0,HEIGHT-1,x,199);
  44.     x := x + WIDTH;
  45.   end;
  46.   fg_waitkey;
  47.  
  48.   fg_vbclose;
  49. {$IFDEF DPMI}
  50.   GlobalFreePtr(buffer);
  51. {$ELSE}
  52.   FreeMem(buffer,WIDTH*HEIGHT);
  53. {$ENDIF}
  54.   fg_setmode(old_mode);
  55.   fg_reset;
  56. end.
  57.