' (c) MAXON Computer GmbH 1992
'
' *********************************************
' **                                         **
' ** Dieser Teil dient nur zur Demonstration **
' **                                         **
' *********************************************
INPUT "Text ";tex$
INPUT "Vergr”sserung X ";vx
INPUT "Vergr”sserung Y ";vy
CLS
PRINT AT(1,1);tex$
@great(vx,vy,0,0,LEN(tex$)*8,16,0,0,3)
' 9 šbergabeparameter:
' 1.) X-Vergr”žerung   2.) Y-Vergr”žerung
' 3.) X-Koordinate der linken oberen Ecke des Originals
' 4.) Y-Koordinate der linken oberen Ecke des Originals
' 5.) Breite in Pixel  6.) H”he in Pixel
' 7.) X-Koordinate der linken oberen Ecke der Vergr”žerung
' 8.) Y-Koordinate der linken oberen Ecke der Vergr”žerung
' 9.) Schreibmodus   (n„here Erl„uterung siehe Text und GfA-Basic-Handbuch PUT)
END
' *********************************************************
' **                                                     **
' ** Hier beginnt die superschnelle Vergr”žerungsroutine **
' **                                                     **
' *********************************************************
> PROCEDURE great(vx%,vy%,x%,y%,br%,ho%,xo%,yo%,mode%)
  LOCAL zoom$,xw%,yw%            !Definierem der lokalen Variablen
  xw%=xo%+br%*vx%                !Errechnen des „užersten X-Punktes der Kopie
  yw%=yo%+ho%*vy%                !Errechnen des „užersten Y-Punktes der Kopie
  '
  ' Die Vergr”žerungsschleifen laufen rckw„rts,
  ' da sonst Probleme auftauchen, falls Teile der Kopie
  ' in das Original reichen, sprich:
  ' Vergr”žerung schon vergr”žerter Graphikteile !!!
  ' ----------------------------------------------------
  '
  ' **** Vergr”žerung der Vorlage an der Y-Achse ****
  '
  FOR i%=y%+ho% DOWNTO y%        !Schleife frs Einlesen der Zeilen
    GET x%,i%,x%+br%,i%,zoom$    !Einlesen einer Zeile
    FOR j%=1 TO vy%              !Schleife frs Setzen der Zeile
      PUT xo%,yw%,zoom$,mode%    !Vergr”sserung durch Vy%-mal setzen der Zeile
      DEC yw%                    !N„chste Zeile eins weiter oben
    NEXT j%                      !N„chstes mal Zeile setzen
  NEXT i%                        !N„chste Zeile einlesen
  '
  ' **** Vergr”žerung der Kopie an der X-Achse
  '
  FOR i%=xo%+br% DOWNTO xo%      !Schleife frs Einlesen der Spalten
    GET i%,yo%,i%,yo%+ho%*vy%,zoom$ !Einlesen einer Spalte
    FOR j%=1 TO vx%              !Schleife fr Setzen der Spalte
      PUT xw%,yo%,zoom$,mode%    !Vergr”sserung durch Vx%-mal setzen der Spalte
      DEC xw%                    !N„chste Spalte eins weiter links
    NEXT j%                      !N„chstes mal Spalte setzen
  NEXT i%                        !N„chste Spalte einlesen
RETURN                           !...Und das war's auch schon !!! Good-Bye!
