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

  1. (*-------------------------------------------------------------------------*)
  2. (*                              PIXMANI.PAS                                *)
  3. (* Routine fuer die Grafikserie, um die Punktreihen der Zeichenmatrizen    *)
  4. (* verschieben (shiften) und verknuepfen zu koennen.                       *)
  5. (*-------------------------------------------------------------------------*)
  6. (* Pixel verschieben. n > 0 : n Pixel nach rechts, n < 0 : nach links      *)
  7. PROCEDURE BitShift (VAR Row : TCellRow; n : INTEGER);
  8.  
  9. VAR i : TCellElemIndex;
  10.  
  11. BEGIN
  12.   IF n >= 0 THEN                                         (* rechts shiften *)
  13.     BEGIN
  14.       FOR i := CellSize DOWNTO 0 + n DO  Row[i] := Row[i-n];
  15.       FOR i := 0 TO n - 1 DO Row[i] := FALSE
  16.     END
  17.   ELSE                                                    (* links shiften *)
  18.     BEGIN
  19.       n := abs(n);
  20.       FOR i := 0 TO CellSize - n DO Row[i] := Row[i+n];
  21.       FOR i := CellSize - n + 1 TO CellSize DO Row[i] := FALSE
  22.     END
  23. END;
  24. (*-------------------------------------------------------------------------*)
  25. PROCEDURE OrRow (VAR CellRow : TCellRow; Temp : TCellRow);
  26.  
  27. VAR i : TCellElemIndex;
  28.  
  29. BEGIN
  30.   FOR i := 0 TO CellSize DO CellRow[i] := CellRow[i] OR Temp[i]
  31. END;
  32. (*-------------------------------------------------------------------------*)
  33. PROCEDURE AndRow (VAR CellRow : TCellRow; Temp : TCellRow);
  34.  
  35. VAR i : TCellElemIndex;
  36.  
  37. BEGIN
  38.   FOR i := 0 TO CellSize DO CellRow[i] := CellRow[i] AND Temp[i]
  39. END;
  40. (*-------------------------------------------------------------------------*)
  41. PROCEDURE XOrRow (VAR CellRow : TCellRow; Temp : TCellRow);
  42.  
  43. VAR i : TCellElemIndex;
  44.  
  45. BEGIN
  46.   FOR i := 0 TO CellSize DO CellRow[i] := CellRow[i] <> Temp[i]
  47. END;
  48. (*-------------------------------------------------------------------------*)
  49. (*                         Ende von PIXMANI.PAS                            *)
  50.