*** HANDLEIDING VAN MDL-LIB ***

- COPYRIGHT 1990 BY MDL-SOFT -

Als u dat nog niet gedaan heeft, lees dan eerst het  bestand
INLEIDNG.TXT!

Het bestand  LOGOROUT  bevat  opdrachten  om  het  grafische
scherm volgens de beroemde LOGO-methode te sturen.  Dit  kan
zowel op MSX1 als op MSX2, en  dit  bestand  kan  zowel  met
VRAM1 als met VRAM2 samenwerken. Echter, als een MSX2 scherm
gebruikt wordt, MOET VRAM2 ingevoegd zijn, anders  gaat  het
fout.

Op  het Logo-scherm is cordinaat (0,0) het  MIDDELPUNT  van
het  scherm, niet de linkerbovenhoek. Echter, in Logo worden
slechts  zelden  cordinaten opgegeven, de  schildpad  wordt
meestal  relatief  ten  opzichte  van  zijn  vorige  positie
verplaatst.

Als u met LOGOROUT werkt,  moet  u  na  iedere  ScrMode  als
eerste opdracht de  InitLogo  procedure  aanroepen,  die  de
nodige  initialisaties  voor  Logo   uitvoert,   zoals   het
definiren van de turtle-sprites.

Hieronder volgt de uitleg per procedure.

----

Naam      : InitLogo
Actie     : Initialiseert de LOGO-routines
Soort     : Procedure
Declaratie: Procedure InitLogo;

Zie hierboven.

----

Naam      : ClearScreen
Actie     : Maakt het scherm schoon en voert Home uit
Soort     : Procedure
Declaratie: Procedure InitLogo;

Wist het hele scherm en  plaatst  de  schildpad  op  positie
(0,0) (de homepositie, in het midden van het scherm dus). De
turtle wijst naar boven.

----

Naam      : ShowTurtle
Actie     : Toont schildpad
Soort     : Procedure
Declaratie: Procedure ShowTurtle;

Deze   procedure  toont  de  schildpad  (turtle)   als   een
driehoekje  op  het scherm, zodat u kunt zien waar  getekend
wordt  en waarheen de turtle ongeveer wijst. Normaal  is  de
turtle onzichtbaar, totdat u deze opdracht geeft.

----

Naam      : HideTurtle
Actie     : Verbergt schildpad
Soort     : Procedure
Declaratie: Procedure HideTurtle;

Met deze procedure maakt u de schildpad weer onzichtbaar.

----

Naam      : TurtleThere
Actie     : Checkt of turtle binnen het scherm is
Soort     : Functie
Declaratie: Function TurtleThere : boolean;

Levert  TRUE af als de turtle binnen het scherm is, en FALSE
als hij buiten het scherm is gewandeld.

----

Naam      : TurtleDelay
Actie     : Stelt wachttijd per stap in
Soort     : Procedure
Declaratie: Procedure TurtleDelay(millisec:integer);

Als  deze  procedure uitgevoerd wordt, zal de  schildpad  na
iedere  ForWd  en  Back  opdracht  (zie  verder)  'millisec'
milliseconden wachten. Normaal is geen vertraging ingesteld.

----

Naam      : SetHeading
Actie     : Stelt hoek van de schildpad in
Soort     : Procedure
Declaratie: Procedure SetHeading(hoek:integer);

Deze  procedure  laat de turtle naar een  bepaalde  richting
wijzen, opgegeven in graden (van 0 tot 359 dus). 0 graden is
omhoog.  De graden worden vanuit de nulpositie met  de  klok
mee  gemeten. Als een waarde buiten het bereik 0..359  wordt
gegeven zal hierop een MOD 360 worden uitgevoerd.
Vier   richtingen  zijn  in  LOGOROUT.LIB   als   constanten
gedefinierd:  NORTH  (omhoog),  EAST (naar  rechts),  SOUTH
(omlaag) en WEST (naar links).

----

Naam      : Heading
Actie     : Geeft de hoek van de schildpad
Soort     : Functie
Declaratie: Function Heading:integer;

Deze  functie  geeft de hoek terug waar  de  schildpad  naar
wijst, in graden.

----

Naam      : TurnLeft
Actie     : Draait turtle naar links
Soort     : Procedure
Declaratie: Procedure TurnLeft(hoek:integer);

Draait  de  turtle,  relatief ten opzichte van  zijn  vorige
richting, 'hoek' graden naar links (tegen de klok in).

----

Naam      : TurnRight
Actie     : Draait turtle naar rechts
Soort     : Procedure
Declaratie: Procedure TurnRight(hoek:integer);

Draait  de  turtle, relatief ten opzichte  van  zijn  vorige
richting, 'hoek' graden naar rechts (met de klok mee).

----

Naam      : Home
Actie     : Stuurt schildpad 'naar huis'
Soort     : Procedure
Declaratie: Procedure Home;

Deze procedure zet de turtle op positie (0,0) (in het midden
van  het scherm dus) en voert tevens  een  SetHeading(north)
uit: de turtle wijst naar boven.

----

Naam      : SetPosition
Actie     : Zet positie van de schildpad
Soort     : Procedure
Declaratie: Procedure SetPosition(x,y:integer);

Zet  de  turtle op positie (x,y). Dit zijn  logo-cordinaten
(zie het begin van dit bestand).

----

Naam      : PenDown
Actie     : Zet de 'pen' op het 'papier'
Soort     : Procedure
Declaratie: Procedure PenDown;

Zet de turtle in de 'teken-stand': steeds als een  ForWd  of
Back, Home of SetPosition wordt gegeven, laat de turtle  een
lijn achter. Dit is de standaard-situatie.

----

Naam      : PenUp
Actie     : Haalt de 'pen' van het 'papier'
Soort     : Procedure
Declaratie: Procedure PenUp;

Wanneer na het aanroepen van deze  procedure  een  ForWd  of
Back of Home of SetPosition wordt gegeven,  laat  de  turtle
GEEN lijn achter, maar verplaatst hij zich alleen maar.

----

Naam      : SetPenColor
Actie     : Stelt penkleur in
Soort     : Procedure
Declaratie: Procedure SetPenColor(kleur:integer);

Stelt de penkleur in, d.w.z. de kleur waarin getekend wordt.
'kleur'  is  een  standaard  MSX kleurcode.  Als  de  turtle
zichtbaar is, verandert de kleur daarvan ook mee.

----

Naam      : ForWd
Actie     : Verplaatst turtle al dan niet tekenend vooruit
Soort     : Procedure
Declaratie: Procedure ForWd(afstand:integer);

Verplaatst  de turtle 'afstand' beeldpuntjes naar voren.  In
welke  richting  wordt  getekend, hangt af van  de  richting
waarheen  de turtle wijst. Als PenDown actief is,  wordt  er
getekend, anders niet.

----

Naam      : Back
Actie     : Verplaatst turtle al dan niet tekend achteruit
Soort     : Procedure
Declaratie: Procedure Back(afst:integer);

Werkt  hetzelfde  als ForWd, alleen in de  tegenovergestelde
richting  van  die waarheen de turtle  wijst.  De  schildpad
'loopt' dus 'achteruit'.

----

Naam      : Xcor
Actie     : Geeft X-positie turtle terug
Soort     : Functie
Declaratie: Function Xcor:integer;

Levert de (Logo-) X-positie af waarop de turtle staat.

----

Naam      : Ycor
Actie     : Geeft Y-positie turtle terug
Soort     : Functie
Declaratie: Function Ycor:integer;

Levert de (Logo-) Y-positie af waarop de turtle staat.

----

Naam      : Correction
Actie     : Geen
Soort     : Systeem-variabele
Declaratie: Var correction:real absolute $XXXX

Stelt  de 'correctie' van de schildpad in Y-richting in.  De
normale  waarde is 1: het scherm wordt niet vervormd,  zodat
de normale scherm-vervorming blijft, want een beeldpuntje is
niet even breed als hoog.
Wilt  u een wat 'realistischer' scherm, waarin een hoek  van
45  ook  echt een hoek van 45 is, dan stelt u op  de  MSX1
schermen   correction:=1.3   in,  en  op  scherm  6   en   7
correction:=0.65.
Wilt  u  het  scherm  lekker  'afplatten',  dan  gebruikt  u
bijvoorbeeld  correction:=0.2: alle  LOGO-tekeningen  worden
wat in elkaar gedrukt.
Na   iedere  InitLogo  aanroep  wordt  de  waarde  van  deze
variabele weer op 1 gezet.

----

*** EINDE BESTAND LOGOROUT.TXT ***
                         