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

  1. program main;
  2. {$IFDEF DPMI}
  3. uses fgmain, fgbitmap, fgmisc, fgvb, WinAPI;
  4. {$ELSE}
  5. {$M 16384,0,16384}
  6. uses fgmain, fgbitmap, fgmisc, fgvb;
  7. {$ENDIF}
  8.  
  9. var
  10.   handle   : integer;
  11.   old_mode : integer;
  12.   status   : integer;
  13.   buffer   : pointer;
  14.  
  15. begin
  16.   fg_initpm;
  17.   old_mode := fg_getmode;
  18.   fg_setmode(22);
  19.   fg_vbinit;
  20.  
  21. {$IFDEF DPMI}
  22.   buffer := GlobalAllocPtr(gmem_Fixed,Longint(320)*Longint(240));
  23.   if (buffer = NIL) then
  24.   begin
  25.     fg_setmode(old_mode);
  26.     fg_reset;
  27.     writeln('Could not create the virtual buffer.');
  28.     exit;
  29.   end;
  30.   handle := fg_vbdefine(buffer,320,240);
  31. {$ELSE}
  32.   handle := fg_vballoc(320,240);
  33.   if (handle < 0) then
  34.   begin
  35.     fg_setmode(old_mode);
  36.     fg_reset;
  37.     writeln('Could not create the virtual buffer.');
  38.     exit;
  39.   end;
  40. {$ENDIF}
  41.  
  42.   fg_setcolor(9);
  43.   fg_fillpage;
  44.   fg_setcolor(15);
  45.   fg_box(0,319,0,239);
  46.   status := fg_vbopen(handle);
  47.   fg_vbcut(0,319,0,239,0,239);
  48.   fg_vbclose;
  49.   fg_waitkey;
  50.  
  51.   fg_setmode(old_mode);
  52.   fg_cursor(0);
  53.   fg_setcolor(15);
  54.   fg_text('Press any key.',14);
  55.   fg_waitkey;
  56.  
  57.   fg_setmode(22);
  58.   status := fg_vbopen(handle);
  59.   fg_vbpaste(0,319,0,239,0,239);
  60.   fg_waitkey;
  61.  
  62.   fg_vbclose;
  63. {$IFDEF dpmi}
  64.   GlobalFreePtr(buffer);
  65. {$ELSE}
  66.   fg_vbfree(handle);
  67. {$ENDIF}
  68.   fg_setmode(old_mode);
  69.   fg_reset;
  70. end.
  71.