Newer
Older
ubixfs-2 / uView.pas
@flameshadow flameshadow on 10 Jun 2005 1 KB UbixFS
program uView;

uses 
  ObjGfx40, ogFont, DOS, CRT, Strings, UbixFS, DiskDrv;

type 
  PUbixFSViewer = ^TUbixFSViewer;
  TUbixFSViewer = object(TUbixFS)
   private
    device:PDiskDrive;
    sb:PDiskSuperBlock;
   public
    constructor init(const filename:string);
    procedure abort(const reason:string);
    procedure run;
    destructor done; virtual; 
  end;

constructor TUbixFSViewer.init;
begin
  new(device, init(filename));
  
  inherited init(device);

  if not (screen^.ogCreate(1024, 768, OG_PIXFMT_32BPP)) then abort('Could not initialize graphics mode');
end; // TUbixFSViewer.init

procedure TUbixFSViewer.abort;
begin
  dispose(screen, ogDone);
  screen := NIL;
  writeln(reason);
  done();
  halt;
end;

procedure TUbixFSViewer.Visualize;
begin
  if (screen = NIL) then new(screen, ogInit);  

end;

destructor TUbixFSViewer.done;
begin
  inherited done;
  if (device <> NIL) then dispose(device, done);
end; // TUbixFSViewer.done

var 
  viewer:PUbixFSViewer;

procedure usage;
begin
  writeln('Usage:');
  writeln;
  writeln('uView [filename]');
  halt;
end; // usage

begin
  if (paramcount <> 1) then usage;
  new(viewer, init(paramstr(1)));
  viewer^.run;
  dispose(viewer, done);  
end.