home *** CD-ROM | disk | FTP | other *** search
/ Turbo Toolbox / Turbo_Toolbox.iso / 1991 / 02 / oop / scrobj.pas < prev    next >
Encoding:
Pascal/Delphi Source File  |  1990-11-08  |  1.8 KB  |  55 lines

  1. (* ------------------------------------------------------ *)
  2. (*                     SCROBJ.PAS                         *)
  3. (*   ScrObj schreibt direkt in den Bildschirmspeicher.    *)
  4. (*   Die Anfangsadresse des Bildschirmspeichers wird      *)
  5. (*   in Init festgelegt. Wer in einem erweiterten         *)
  6. (*   Textmodus (zB 80x43) arbeitet, muß die Parameter     *)
  7. (*   XL und YL an "Init" entsprechend übergeben.          *)
  8. (*                                                        *)
  9. (*        (c) 1991 Raimond Reichert & TOOLBOX             *)
  10. (* ------------------------------------------------------ *)
  11. UNIT ScrObj;
  12.  
  13. INTERFACE
  14.  
  15. USES VSObj;
  16.  
  17. VAR
  18.   ScrType : BYTE ABSOLUTE $0040:$0049;
  19.  
  20. TYPE
  21.   ScreenObjPtr = ^ScreenObj;
  22.   ScreenObj    = OBJECT (VirtualScreen)
  23.                    CONSTRUCTOR Init(XL, YL : BYTE);
  24.                    DESTRUCTOR  Done;                VIRTUAL;
  25.                  END;
  26.  
  27. IMPLEMENTATION
  28.  
  29.   CONSTRUCTOR ScreenObj.Init(XL, YL : BYTE);
  30.   {  Ist XL und/oder YL gleich 0, so wird die Standard-    }
  31.   {  auflösung von 80x25 angenommen. Wird ein erweiter-    }
  32.   {  ter Textmodus gebraucht, so die Parameter bitte       }
  33.   {  angeben. Die Variable "VSMem" wird auf den Anfang des }
  34.   {  Bildschirmspeichers gerichtet, es wird KEIN           }
  35.   {  Speicher belegt.                                      }
  36.   BEGIN
  37.     IF (XL = 0) OR (YL = 0) THEN BEGIN
  38.       XL := 80;
  39.       YL := 25
  40.     END;
  41.     XLength    := XL;
  42.     YLength    := YL;
  43.     ReturnCode := VSOk;
  44.     IF ScrType = 7 THEN VSMem := Ptr($B000, $0000)
  45.                    ELSE VSMem := Ptr($B800, $0000);
  46.   END;
  47.  
  48.   DESTRUCTOR ScreenObj.Done;
  49.   BEGIN
  50.   END;
  51.  
  52. END.
  53. (* ------------------------------------------------------ *)
  54. (*                  Ende von SCROBJ.PAS                   *)
  55.