Graafikareziimi funktsioonid 2

Free Pascal’is, kasutatvate graafiliste funktsioonide kirjeldused. Töötavad ainult uses Graph puhul. Funktsioonid on jaotatud 6 kategooriasse: graafika käivitamiseks, kuva juhtimiseks, värvide valimiseks, kujundite joonestamiseks, kujundite viirutamiseks ja tekstiga manipuleerimiseks.

Värvide juhtimisfunktsioonid:

GetBkColor  väljastab jooksva (hetkel kehtiva) taustavärvi nime (värvipaleti värvi nimetus). 

Deklareerimine: Function GetBkColor : Word;

GetColor väljastab jooksva esiplaani värvi, millega joonistatakse (värvipaleti värvi nimetus). 

Deklareerimine: Function GetColor : Word;

GetDefaultPalette väljastab hetkel kehtiva värvipaleti nime muutujale Palette

Deklareerimine: Procedure GetDefaultPalette (Var Palette : PaletteType); 

GetMaxColor väljastab suurima värvi numbri, mida määrab SetColor korraldus. Erinevalt Turbo Pascal'ist pole alati tagatud, et see värv on valge (näiteks kui kasutada 256+ color modes). 

Deklareerimine: Function GetMaxColor : Word;

GetPaletteSize väljastab kasutusel oleva paleti värvide arvu

Deklareerimine: Function GetPaletteSize : Word; 

GetPixel väljastab punkti (X,Y) värvi

Deklareerimine: Function GetPixel (X,Y : Integer) : Word;

GetPalette väljastab muutujas Palette kasutusel oleva paletivärvi

Deklareerimine: Procedure GetPalette (Var Palette : PaletteType); 

SetAllPallette seab kasutusel oleva paleti muutuja Palette väärtuseks. Palette on tüübita muutuja, mis viitab PaletteType tüüpi kirjele 

Deklareerimine: Procedure SetAllPallette (Var Palette); 

SetBkColor seab taustavärvi väärtuse, mis on määratud Color muutujas

Deklareerimine: Procedure SetBkColor (Color : Word); 

SetColor seab esiplaani värvi väärtuse, mis on määratud Color muutujas

Deklareerimine: Procedure SetColor (Color : Word); 

SetPalette seab ColorNr-väärtusele vastavusse NewColor numbr

Deklareerimine: Procedure SetPalette (ColorNr : Word; NewColor : ShortInt); 

SetRGBPalette seab paleti ColorNr-väärtusele vastavusse  RGB-funktsiooni väärtuse (Red-Punane, Green-Roheline, Blue-Sinine)

Deklareerimine: Procedure SetRGBPalette (ColorNr,Red,Green,Blue : Integer); 

Kujundite joonestamisfunktsioonid (vanemates Pascal versioonides on SmallInt asemel Integer):

Arc joonestab ringjoone osa, ringjoon on määratud keskunkti koordinaatidega (X,Y) ja raadiusega, kaar on määratud kaare alguspunkti nurgaga ja kaare lõpp-punkti nurgaga. Nurgad mõõdetakse vastupäeva (kella kolmest alates vastu kellaosuti liikumise suunda).

Deklareerimine: Procedure Arc (X,Y : SmallInt; start,stop, radius : Word); 

Circle joonestab ringjoone, ringjoon on määratud keskunkti koordinaatidega (X,Y) ja raadiusega

Deklareerimine: Procedure Circle (X,Y : SmallInt; Radius : Word); 

DrawPoly Joonestab polügooni (hulknurga) vastavalt etteantud nurkade arvule (NumberOfPoints) kasutades kehtivt värvi (color) ja joonetüüpi (line-style). PolyPoints on massiiv PointType elementidest

Deklareerimine: Procedure DrawPoly (NumberOfPoints : Word; Var PolyPoints;

Ellipse Väimaldab joonestada ellipsit ja ellipsi kaarelõike. Ellips on määratud keskpunkti koordinaatidega (X,Y). XRadius ja Yradius-ega, mis on ellipsi horisontaal ja vertikaalraadiusteks (pool vastavast telglõigust). Kaar on määratud kaare alguspunkti nurgaga ja kaare lõpp-punkti nurgaga. Nurgad mõõdetakse vastupäeva (alates kella kolmest (0-kraadi) vastu kellaosuti liikumise suunda). Saab sisestada ainult positiivseid nurki.

Deklareerimine: Procedure Ellipse (X,Y : SmallInt; Start,Stop,XRadius,YRadius : Word); 

GetArcCoords Väljastab viimati joonestatud kaare (Arc) või ellipsi (Ellipse) koordinaadid

Deklareerimine: Procedure GetArcCoords (Var ArcCoords : ArcCoordsType);

GetLineSettings väljastab jooksva joone andmed muutujale LineInfo 

Deklareerimine: Procedure GetLineSettings (Var LineInfo : LineSettingsType); 

Line joonestab joone, mille alguspunkt on (X1,Y1) ja lõpppunkt (X2,Y2) kehtiva joone stiili ja kehtiva värviga. Kursor (või viit) seatakse joone lõpp-punkti (X2,Y2)

Deklareerimine: Procedure Line (X1,Y1,X2,Y2 : SmallInt); 

LineRel joonestab joone kursori (viida) asukohast kuni punktini, mis on määratud koordinaatide juurdekasvuga (DX ja DY on vastavad koordinaatide nihked või juurdekasvud) kehtiva joone stiili ja kehtiva värviga. Kursori asukohaks jääb joone lõpp-punkt.

Deklareerimine: Procedure LineRel (DX,DY : SmallInt); 

LineTo joonestab joone kursori (viida) asukohast kuni punktini, mis on määratud koordinaatidega (X ja Y) kehtiva joone stiili ja kehtiva värviga. Kursori asukohaks jääb joone lõpp-punkt.

Deklareerimine: Procedure LineTo (X,Y : SmallInt);  

MoveRel liigutab kursorit (graafikaviita) jooksvast asukohast koordinaatnihke (DX,DY) võrra (DX ja DY on vastavad koordinaatide muutused jooksva ja uue asukoha vahel) 

Deklareerimine: Procedure MoveRel (DX,DY : SmallInt); 

MoveTo liigutab kursori (graafikaviida) jooksvast asukohast punkti (X,Y). 

Deklareerimine: Procedure MoveTo (X,Y : SmallInt); 

PieSlice joonestab ja värvib sektori (koogilõigu) joone värviga. Sektor on määratud teda ümbritseva ringjoone kaarega (keskpunt X,Y ning raadius) ning algus- ja lõpunurgaga.

Deklareerimine: Procedure PieSlice (X,Y : SmallInt; Start,Stop,Radius : Word); 

PutPixel paigutab punkti (X,Y) vastavat värvi ekraanielemendi (värv määratud muutujaga Color)

Deklareerimine: Procedure PutPixel (X,Y : SmallInt; Color : Word); 

Rectangle Joonestab ristküliku, mille diadonaali nurkadeks on punktid (X1,Y1) ja (X2,Y2) kasutades kehtivat värvi ja joone atribuute

Deklareerimine: Procedure Rectangle (X1,Y1,X2,Y2 : SmallInt); 

Sector joonestab ja värvib joonevärbiga ellipsilõigu (analoogne PieSlice korraldusele) Ellips on määratud kekpunktiga (X,Y) ja XRadius ning YRadius'ega, sektori algus- ja lõpp-punkti määravad vastavda nurgad

Deklareerimine: Procedure Sector (X,Y : SmallInt; Start,Stop,XRadius,YRadius : Word); 

SetLineStyle seab joonte joonestamise stiili. Joone stiili määravad järgmised etteantud konstandid: 

Kui stiiliks on UserBitln, siis kasutatakse kasutaja poolt määratud bitimustrit. Kõikidel muudel juhtudel Pattern muutujat ignoreeritakse. Joone jämedus on määratud parameetriga Width. On lubatud kasutada ainult järgmisi etteantud konstante: 

Deklareerimine: Procedure SetLineStyle (LineStyle,Pattern,Width : Word);