home *** CD-ROM | disk | FTP | other *** search
- { SALIM SAMAHA }
-
- Unit Windows;
-
- Interface
-
- Uses
- Crt;
-
- Const
- Max = 3;
-
- Type
- ScreenImage = Array [0..1999] of Word;
- FrameRec = Record
- Upperleft : Word;
- LowerRight : Word;
- ScreenMemory : ScreenImage;
- end;
-
- Var
- SnapShot : ^ScreenImage;
- FrameStore : Array [1..10] of ^FrameRec;
- WindowNum : Byte;
-
- Procedure OpenWindow(UpLeftX, UpLeftY, LoRightX, LoRightY : Byte);
- Procedure CloseWindow;
-
- Implementation
-
- Procedure OpenWindow(UpLeftX, UpLeftY, LoRightX, LoRightY : Byte);
- begin
- SnapShot := Ptr( $B800, $0000);
- Inc(WindowNum);
- New(FrameStore[WindowNum]);
- With Framestore[WindowNum]^ do
- begin
- ScreenMemory := SnapShot^;
- UpperLeft := WindMin;
- LowerRight := WindMax;
- end;
- Window(UpLeftX, UpLeftY, LoRightX, LoRightY);
- end;
-
- Procedure CloseWindow;
- begin
- With Framestore[WindowNum]^ do
- begin
- Snapshot^ := ScreenMemory;
- Window ((Lo(UpperLeft) + 1), (Hi(UpperLeft) + 1),
- (Lo(LowerRight) + 1), (Hi(LowerRight) + 1));
- end;
- Dispose(Framestore[WindowNum]);
- Dec(WindowNum);
- end;
-