home *** CD-ROM | disk | FTP | other *** search
- (*-------------------------------------------------------------------------*)
- (* PIXMANI.PAS *)
- (* Routine fuer die Grafikserie, um die Punktreihen der Zeichenmatrizen *)
- (* verschieben (shiften) und verknuepfen zu koennen. *)
- (*-------------------------------------------------------------------------*)
- (* Pixel verschieben. n > 0 : n Pixel nach rechts, n < 0 : nach links *)
- PROCEDURE BitShift (VAR Row : TCellRow; n : INTEGER);
-
- VAR i : TCellElemIndex;
-
- BEGIN
- IF n >= 0 THEN (* rechts shiften *)
- BEGIN
- FOR i := CellSize DOWNTO 0 + n DO Row[i] := Row[i-n];
- FOR i := 0 TO n - 1 DO Row[i] := FALSE
- END
- ELSE (* links shiften *)
- BEGIN
- n := abs(n);
- FOR i := 0 TO CellSize - n DO Row[i] := Row[i+n];
- FOR i := CellSize - n + 1 TO CellSize DO Row[i] := FALSE
- END
- END;
- (*-------------------------------------------------------------------------*)
- PROCEDURE OrRow (VAR CellRow : TCellRow; Temp : TCellRow);
-
- VAR i : TCellElemIndex;
-
- BEGIN
- FOR i := 0 TO CellSize DO CellRow[i] := CellRow[i] OR Temp[i]
- END;
- (*-------------------------------------------------------------------------*)
- PROCEDURE AndRow (VAR CellRow : TCellRow; Temp : TCellRow);
-
- VAR i : TCellElemIndex;
-
- BEGIN
- FOR i := 0 TO CellSize DO CellRow[i] := CellRow[i] AND Temp[i]
- END;
- (*-------------------------------------------------------------------------*)
- PROCEDURE XOrRow (VAR CellRow : TCellRow; Temp : TCellRow);
-
- VAR i : TCellElemIndex;
-
- BEGIN
- FOR i := 0 TO CellSize DO CellRow[i] := CellRow[i] <> Temp[i]
- END;
- (*-------------------------------------------------------------------------*)
- (* Ende von PIXMANI.PAS *)
-