home *** CD-ROM | disk | FTP | other *** search
/ Global Amiga Experience / globalamigaexperience.iso / compressed / development / clusterdemo.dms / clusterdemo.adf / Modules.lha / modules / txt / GfxText.def < prev    next >
Text File  |  1994-05-25  |  10KB  |  193 lines

  1. |##########|
  2. |#MAGIC   #|CLABLMID
  3. |#PROJECT #|""
  4. |#PATHS   #|"StdProject"
  5. |#FLAGS   #|xx---x--x---xxx-----------------
  6. |#USERSW  #|--------------------------------
  7. |#USERMASK#|--------------------------------
  8. |#SWITCHES#|xx---xxxxx------
  9. |##########|
  10. DEFINITION MODULE GfxText;
  11.  
  12. FROM GfxScreen IMPORT Screen;
  13.  
  14. TYPE
  15.  
  16. (*----------------------------------------------------------------------------*
  17.  * Font    : Zugriff auf einen Systemzeichensatz                              *
  18.  *                                                                            *
  19.  * Styles  : Stilrichtungen eines Fonts                                       *
  20.  *   - underlined : Die Zeichen werden unterstrichen                          *
  21.  *   - bold       : Die Zeichen werden fett dargestellt                       *
  22.  *   - italic     : Die Zeichen werden kursiv                                 *
  23.  *   - extended   : ???                                                       *
  24.  * StyleSet: Menge der möglichen Stilarten                                    *
  25.  *----------------------------------------------------------------------------*)
  26.  
  27.   Font     = HIDDEN;
  28.  
  29.   Styles   = (underlined,bold,italic,extended);
  30.   StyleSet = SET OF Styles;
  31.  
  32.  
  33.   CharPtr  = POINTER TO CHAR;
  34.  
  35. (*----------------------------------------------------------------------------*
  36.  * AUFGABE     : Öffnet einen Font zur Benutzung                              *
  37.  * PARAMETER   : font  => Zugriff auf Font                                    *
  38.  *               name  <= Namen des Fonts                                     *
  39.  *               height<= gewünschte Höhe                                     *
  40.  * BEMERKUNGEN : Falls der gewünschte Font nicht geladen werden konnte,       *
  41.  *               wird ein Laufzeitfehler erzeugt                              *
  42.  *----------------------------------------------------------------------------*)
  43.  
  44. PROCEDURE OpenFont(VAR font : Font;REF name : STRING;height : INTEGER);
  45.  
  46. (*----------------------------------------------------------------------------*
  47.  * AUFGABE     : Schliest einen Font wieder                                   *
  48.  * PARAMETER   : font  <> Zugriff auf Font                                    *
  49.  * BEMERKUNGEN : --                                                           *
  50.  *----------------------------------------------------------------------------*)
  51.  
  52. PROCEDURE CloseFont(VAR font : Font);
  53.  
  54.  
  55. (*----------------------------------------------------------------------------*
  56.  * AUFGABE     : Setzt den Font für die angegeben Screen                      *
  57.  * PARAMETER   : s     <= Zugriff auf Screen                                  *
  58.  *               font  <= Zugriff auf Font                                    *
  59.  * BEMERKUNGEN : --                                                           *
  60.  *----------------------------------------------------------------------------*)
  61.  
  62. PROCEDURE SetFont(s : Screen;font : Font);
  63.  
  64. (*----------------------------------------------------------------------------*
  65.  * AUFGABE     : Holt den aktuellen Font eines Screens                        *
  66.  * PARAMETER   : s     <= Zugriff auf Screen                                  *
  67.  *                     => Zugriff auf Font                                    *
  68.  * BEMERKUNGEN : --                                                           *
  69.  *----------------------------------------------------------------------------*)
  70.  
  71. PROCEDURE GetFont(s : Screen):Font;
  72.  
  73.  
  74. (*----------------------------------------------------------------------------*
  75.  * AUFGABE     : Ermittelt die Höhe eines Fonts in Pixel                      *
  76.  * PARAMETER   : font  <= Zugriff auf Zeichensatz                             *
  77.  *                     => Höhe in Pixel                                       *
  78.  * BEMERKUNGEN : --                                                           *
  79.  *----------------------------------------------------------------------------*)
  80.  
  81. PROCEDURE FontHeight(font : Font):INTEGER;
  82.  
  83. (*----------------------------------------------------------------------------*
  84.  * AUFGABE     : Ermittelt die Breite eines Fonts in Pixel                    *
  85.  * PARAMETER   : font  <= Zugriff auf Font                                    *
  86.  *                     => Breite in Pixel                                     *
  87.  * BEMERKUNGEN : Funktioniert nur bei nicht proportionalen Fonts              *
  88.  *----------------------------------------------------------------------------*)
  89.  
  90. PROCEDURE FontWidht(font : Font):INTEGER;
  91.  
  92. (*----------------------------------------------------------------------------*
  93.  * AUFGABE     : Liefert die Breite eines Zeichens in diesem Font             *
  94.  * PARAMETER   : font  <= Zugriff auf Font                                    *
  95.  *               c     <= Zeichen, dessen Breite ermittelt werden soll        *
  96.  *                     => Breite in Pixeln                                    *
  97.  * BEMERKUNGEN : --                                                           *
  98.  *----------------------------------------------------------------------------*)
  99.  
  100. PROCEDURE CharWidth(font : Font;c : CHAR):INTEGER;
  101.  
  102. (*----------------------------------------------------------------------------*
  103.  * AUFGABE     : Stellt fest, ob ein Font proportional ist                    *
  104.  * PARAMETER   : font  <= Zugriff auf Font                                    *
  105.  *                     => TRUE, wenn Font proportional ist                    *
  106.  * BEMERKUNGEN : --                                                           *
  107.  *----------------------------------------------------------------------------*)
  108.  
  109. PROCEDURE IsProportional(font : Font):BOOLEAN;
  110.  
  111.  
  112. (*----------------------------------------------------------------------------*
  113.  * AUFGABE     : Setzt die Stilart des Font für die Ausgabe                   *
  114.  * PARAMETER   : s     <= Zugriff auf den Screen                              *
  115.  *               style <= Stile, die ab jetzt gelten sollen                   *
  116.  * BEMERKUNGEN : --                                                           *
  117.  *----------------------------------------------------------------------------*)
  118.  
  119.  
  120. GROUP
  121.   FontGrp   = Screen,Font,OpenFont,CloseFont,SetFont,GetFont,FontHeight,
  122.               FontWidht,CharWidth,IsProportional;
  123.  
  124.  
  125.  
  126. PROCEDURE SetStyle(s : Screen;style : StyleSet);
  127.  
  128. (*----------------------------------------------------------------------------*
  129.  * AUFGABE     : Löscht eine Stilart                                          *
  130.  * PARAMETER   : s     <= Zugriff auf den Screen                              *
  131.  *               style <= Stil, der gelöscht werden soll                      *
  132.  * BEMERKUNGEN : --                                                           *
  133.  *----------------------------------------------------------------------------*)
  134.  
  135. PROCEDURE SubStyle(s : Screen;style : Styles);
  136.  
  137. (*----------------------------------------------------------------------------*
  138.  * AUFGABE     : Setzt eine Stilart                                           *
  139.  * PARAMETER   : s     <= Zugriff auf den Screen                              *
  140.  *               style <= Stil, der gesetzt werden soll                       *
  141.  * BEMERKUNGEN : --                                                           *
  142.  *----------------------------------------------------------------------------*)
  143.  
  144. PROCEDURE AddStyle(s : Screen;style : Styles);
  145.  
  146.  
  147. (*----------------------------------------------------------------------------*
  148.  * AUFGABE     : Schreibt ein Zeichen an eine Bildschirmposition              *
  149.  * PARAMETER   : s     <= Zugriff auf Screen                                  *
  150.  *               x,y   <= Koordinaten                                         *
  151.  *               c     <= auszugebendes Zeichen                               *
  152.  * BEMERKUNGEN : --                                                           *
  153.  *----------------------------------------------------------------------------*)
  154.  
  155.  
  156. GROUP
  157.   StyleGrp = Styles,StyleSet,SetStyle,SubStyle,AddStyle;
  158.  
  159.  
  160. PROCEDURE WriteAt(s : Screen;x,y : INTEGER;c : CHAR);
  161.  
  162. (*----------------------------------------------------------------------------*
  163.  * AUFGABE     : Schreibt eine Zeichenkette an eine Bildschirmposition        *
  164.  * PARAMETER   : s     <= Zugriff auf den Screen                              *
  165.  *               x,y   <= Koordinaten                                         *
  166.  *               str   <= auszugebende Zeichenkette                           *
  167.  * BEMERKUNGEN : --                                                           *
  168.  *----------------------------------------------------------------------------*)
  169.  
  170. PROCEDURE WriteStringAt(s : Screen;x,y : INTEGER;REF str : STRING);
  171.  
  172. (*----------------------------------------------------------------------------*
  173.  * AUFGABE     : Schreibt eine Zeichenkette an eine Bildschirmposition        *
  174.  * PARAMETER   : s     <= Zugriff auf den Screen                              *
  175.  *               x,y   <= Koordinaten                                         *
  176.  *               len   <= Länge der Zeichenkette                              *
  177.  *               pos   <= Startposition im Speicher                           *
  178.  * BEMERKUNGEN : --                                                           *
  179.  *----------------------------------------------------------------------------*)
  180.  
  181. PROCEDURE WriteCharsAt(s : Screen;x,y,len : INTEGER;pos : CharPtr);
  182.  
  183.  
  184. GROUP
  185.   WriteGrp  = WriteAt,WriteStringAt,WriteCharsAt,CharPtr;
  186.  
  187.  
  188. GROUP
  189.   All  = FontGrp,StyleGrp,WriteGrp;
  190.  
  191. END GfxText.
  192.  
  193.