home *** CD-ROM | disk | FTP | other *** search
/ Turbo Toolbox / Turbo_Toolbox.iso / 1987 / 08 / grafkurs / cellmani.pas next >
Encoding:
Pascal/Delphi Source File  |  1987-06-01  |  2.5 KB  |  73 lines

  1. (*-------------------------------------------------------------------------*)
  2. (*                             CELLMANI.PAS                                *)
  3. (* Routinen zur Zeichenzellenmanipulation fuer die Zeichenausgaberoutinen  *)
  4. (* der Grafikserie.                                                        *)
  5. (*-------------------------------------------------------------------------*)
  6. PROCEDURE MakeBold (VAR Cell : TCell);                      (* Fettschrift *)
  7.  
  8. VAR Temp : TCell;  i : TCellElemIndex;
  9.  
  10. BEGIN
  11.   Temp := Cell;
  12.   FOR i := 0 TO CellSize DO
  13.     BEGIN  BitShift(Temp[i],1);  OrRow(Cell[i],Temp[i])  END
  14. END;
  15. (*-------------------------------------------------------------------------*)
  16. PROCEDURE MakeSmall (VAR Cell : TCell);                   (* Schmalschrift *)
  17.  
  18. VAR Temp : TCell;  i : TCellElemIndex;
  19.  
  20. BEGIN
  21.   Temp := Cell;
  22.   FOR i := 0 TO CellSize DO
  23.     BEGIN  BitShift(Temp[i],1);  AndRow(Cell[i],Temp[i])  END
  24. END;
  25. (*-------------------------------------------------------------------------*)
  26. PROCEDURE MakeKursiv (VAR Cell : TCell);                (* Kursive Schrift *)
  27.  
  28. VAR i : TCellElemIndex;  Shift : INTEGER;
  29.  
  30. BEGIN
  31.   FOR i := 0 TO CellSize DO       (* Reihen zwischen -2 u. 2 Pixel shiften *)
  32.     BEGIN
  33.       Shift :=  Round(4.0*(i-CellSize/2)/CellSize);  BitShift(Cell[i],Shift)
  34.     END
  35. END;
  36. (*-------------------------------------------------------------------------*)
  37. PROCEDURE MakeDoubleWide (VAR Cell, Cell2 : TCell); (* Dop. breite Schrift *)
  38.  
  39. VAR  i, Zeile : TCellElemIndex;
  40.  
  41. BEGIN
  42.   FOR Zeile := 0 TO CellSize DO
  43.     FOR i := CellSize DOWNTO 0 DO
  44.       BEGIN
  45.         IF i > CellSize DIV 2 THEN
  46.           BEGIN
  47.             Cell2[Zeile,2*i-7] := Cell[Zeile,i];
  48.             Cell2[Zeile,2*i-8] := Cell[Zeile,i]
  49.           END
  50.         ELSE
  51.           BEGIN
  52.             Cell[Zeile,2*i+1] := Cell[Zeile,i];
  53.             Cell[Zeile,2*i] := Cell[Zeile,i]
  54.           END
  55.       END
  56. END;
  57. (*-------------------------------------------------------------------------*)
  58. PROCEDURE MakeDoubleHigh (VAR Cell, Cell2 : TCell);   (* Dop. hohe Schrift *)
  59.  
  60. VAR  i, Zeile : TCellElemIndex;   Temp : BOOLEAN;
  61.  
  62. BEGIN
  63.   FOR i := CellSize DOWNTO 0 DO
  64.     BEGIN
  65.       IF i > CellSize DIV 2 THEN
  66.         BEGIN  Cell2[2*i-7] := Cell[i];  Cell2[2*i-8] := Cell[i]  END
  67.       ELSE
  68.         BEGIN  Cell[2*i+1] := Cell[i];   Cell[2*i] := Cell[i]  END
  69.     END
  70. END;
  71. (*-------------------------------------------------------------------------*)
  72. (*                         Ende von CELLMANI.PAS                           *)
  73.