F3. A GRAPH UNIT eljárásai és függvényei Arc eljárás x,y középpontú körívet rajzol kezdő és végszög között. Arc(x,y: integer; Stangle,EndAngle, Radius: word); Paraméterek: x,y, a körív középpontja StAngle a kezdőszög (fokban) EndAngle a végszög (fokban) Radius a sugár Megjegyzés: Ha a kezdőszögnek 0 fokot és a végszögnek 360 fokot adunk, akkor az eljárás teljes kört rajzol. A szögeket az óramutató járásával ellenkező irányban kell megadni, 0 fok 3 órának, 90 fok 12 órának felel meg. A körív színe az aktuális szín. Bar eljárás Téglalapot rajzol, aktuális színnel és mintával befesti. Bar(x1,y1,x2,y2: integer); Paraméterek: x1,y1 a téglalap bal felső sarka, x2,y2 a téglalap jobb alsó sarka. Megjegyzés: A SetFillStyle vagy a SetFillPattern által megadott mintával és színnel festi be a téglalapot. Bar3d eljárás Téglalapot rajzol és az aktuális színnel és mintával befesti. Bar3d(x1,y1,x2,y2: integer; Depth : word; Top: boolean); Paraméterek: x1,y1 a téglalap bal felső sarka, x2,y2 a téglalap jobb alsó sarka, Depth a téglalap mélysége, Top true esetén a téglatest tetejére újabb téglatest illeszthető, false esetén újabb téglatest nem illeszthető. Mejegyzés: A téglatest festéséhez felhasználja a SetFillStyle vagy a SetFillPattern által megadott mintát és színt. A téglatest körvonalához a vonaltípust és a színt a SetLineStyle és a SetColor határozza meg. Az eljárás Top paraméteréhez felhasználhatjuk az alábbi konstansokat; const TopOn = True; TopOff = False; Circle eljárás x,y középpontú kört rajzol. Circle(x,y: integer; Radius: word); Paraméterek: A kör rajzolása a SetColor által megadott színnel történik. Cleardevice eljárás Törli a grafikus képernyőt és előkészíti az outputra. ClearDevice; Megjegyzés: A ClearDevice az aktuális pointert a (0,0) pozícióba mozgatja és törli a képernyőt, a háttér színét a SetColor határozza meg. ClearViewPort eljárás Törli az aktuális grafikus ablakot. ClearViewPort: Megjegyzés: A kitöltő színnek a háttérszínt állítja be, meghívja a Bar eljárást, és az aktuális pointert a (0,0) pozícióba mozgatja. CloseGraph eljárás Lezárja a grafikus üzemmódot. CloseGraph; Megjegyzés: A CloseGraph a grafikus üzemmód inicializálása előtti képernyőt jeleníti meg. DetectGraph eljárás Ellenőrzi a hardvert és meghatározza, hogy milyen grafikus meghajtót és módot lehet használni. DetectGraph(var GraphDriver, GraphMode: integer); Megjegyzés: Visszatér az érzékelt meghajtóval és móddal, ezekkel az érté-kekkel kell meghívni az InitGraph eljárást, amely a korrekt meghajtót tölti be. Ha nem érzékel grafikus meghajtót, akkor a GraphDriver paraméter és a GraphResult függvény -2 értékkel tér vissza. A következő konstansokat definiálták: const Detect = 0; { automatikus érzékelés } CGA = 1; MCGA = 2; EGA = 3; EGA64 = 4; EGAMono = 5; IBM8514 = 6; HercMono = 7; ATT400 = 8; VGA = 9; PC3270 = 10; DrawPoly eljárás A megadott vonaltípussal és színnel pontsorozatot köt össze. DrawPoly(NumPoints: word; var PolyPoints); Paraméterek: NumPoints a koordináták száma, PolyPoints PoinType típusú tömb. Megjegyzés: A koordinátapárokat a PolyPoints rekord X és Y változóiban kell tárolni. Egy n pontból álló zárt poligon esetén n+1 koordinátapárt kell megadni, ahol az első koordinátapárnak meg kell egyeznie az n+1-edik koordinátapárral. PointType típus: type PointType = record X,Y : integer; end; Ellipse eljárás x,y középpontú ellipszis ivet rajzol kezdő és végszög között. Ellipse(x,y: integer; StAngle,EndAngle: word; XRadius,YRadius: word); Paraméterek: x,y középpont kezdő koordinátái, StAngle kezdőszög (fokban), EndAngle végszög (fokban), XRadius vízszintes tengely, YRadius függőleges tengely. Megjegyzés: A szögek az óramutató járásával ellentétes irányúak. A 0 fok 3 órának, a 90 fok 12 órának felel meg. FillEllipse eljárás Rajzol és befest egy ellipszist. FillEllipse(x,y: integer; XRadius,YRadius: word); Paraméterek: x,y az ellipszis középpontja, XRadius a vízszintes tengely, YRadius a függőleges tengely. Megjegyzés: Befest egy x,y középpontú, XRadius és YRadius vízszintes és függőleges tengelyú ellipszist a megadott festőszínnel és mintával, a háttér is megadott színű. FillPoly eljárás Rajzol és befest egy poligont. FillPoly(Numpoints: word; var PolyPoints); Paraméterek: Numpoints a poligon pontpárainak száma, PolyPoints PointType típusú tömb. Megjegyzés: A koordinátapárokat a PolyPoints rekord x és y változóiban kell tárolni. A SetFillStyle vagy a SetFillPattern által definiált mintával és színnel festi be a poligont, körvonalát pedig a SetLineStyle határozza meg. FloodFill eljárás Aktuális mintával befesti az adott színű vonallal zárt területet. FloodFill(x,y: integer; Border: word); Paraméterek: x,y a zárt terület egy belső pontjának koordinátái, Border szín. GetArcCoords eljárás Megadja az utoljára rajzolt ív (Arc, Ellipse) kezdő- és végkoordinátáinak értékét. GetArcCoords(var ArcCoords: ArcCoordsType); Megjegyzés: Visszatér az ArcCoordsType típusú rekord értékeivel. Az ArcCoordsType a következő: type ArcCoordsType = record X,Y: integer; Xstart,Ystart: integer; Xend,Yend: integer; end; ahol X,Y középpont koordinátái, Xstart,Ystart az ív kezdőpontjának koordinátái, Xend,Yend az ív végpontjának koordinátái. Ezeknek az adatoknak az ismeretében lehet pl. egy ellipszis ív végpontjából egy vonalat húzni. GetAspectRatio eljárás Visszatér a grafikus képernyő maximális méretével, amelyből (Xasp:Yasp) oldalarány képződik. GetAspectRatio(var Xasp,Yasp: word); Paraméter: Xasp a maximális x érték, Yasp a maximális y érték. Megjegyzés: Minden grafikus kártyának és az aktuális grafikus módnak van oldalaránya (ezt a maximum y osztva x-el kapjuk meg). Ez az arány szükséges a Circle, Arc, PieSlice és a Rectangle kerekítésénél. GetBkColor függvény Visszatér a háttér akutális színével. GetBkColor; Megjegyzés: Az eredmény word típusú. A háttér szín 0-15-ig változhat, ez függ a grafikus kártyától és az aktuális grafikus módtól. GetColor függvény Visszatér az előtér, tehát az utolsó sikeres SetColor hívás színének értékével. GetColor: Megjegyzés: Az eredmény word típusú. A rajzolás színe 0-15-ig változhat, ez függ a grafikus kártyától és az aktuális grafikus módtól. GetDefaultPalette függvény Visszatér a paletta (színskála) értékeivel. GetDefaultPalette(var Pal: PaletteType); Megjegyzés: Az eredmény PaletteType típusú. A PaletteType rekord a következő: const MaxColors=15; type PaletteTYpe = record Size: byte; Colors: array[0..MAxColor] of shortint; end; GetDriverName függvény A grafikus kártya nevével tér vissza. GetDriverName; Megjegyzés: Az eredménye string típusú. InitGraph aktiválása után az aktív grafikus kártya nevével tér vissza. GetFillPattern eljárás Az előző SetFillPattern hívás értékeivel tér vissza, GetFillPattern(var FillPattern: FillPatternType); Megjegyzés: Ha nem volt SetFillPattern hívás, akkor a GetFillPattern tömbjébe $FF íródik be. GetFillSettings eljárás Visszatér az előző SetFillPattern hívásának festőmintájával és színével. GetFillSettings(var FillInfo: FillSettingsType); Megjegyzés: A FillSettingsType deklarálva van a Graph unit-ban: type FillSettingsType = record Pattern: word; Color : word; end; GetGraphMode függvény Visszatér az aktuális grafikus móddal. GetGraphMode; Megjegyzés: Az eredmény integer típusú. A mód értéke 0-5-ig változhat, ez függ az aktuális grafikus kártyától. GetImage eljárás A megadott képmezőt elmenti egy bufferbe. GetImage(x1,y1,x2,y2: integer; var BitMap); Paraméterek: x1,y1 a téglalap bal felső sarka, x2,y2 a téglalap jobb alsó sarka, BitMap bufferre mutató pointer. Megjegyzés: Az eljárás a képernyő megadott területét elmenti a BitMap bufferbe. A buffer első két szava a téglalap alakú tartomány szélességét és hosszúságát tartalmazza, ezért a buffer méretének 4-el nagyobbnak kell lennie. GetLineSettings eljárás Visszatér a vonal típusával, mintájával és vastagságával, amelyet a SetLineStyle állított be. GetLineSettings(var LineInfo: LineSettingsType); Megjegyzés: A LineSettingsType rekord az alábbi: type LineSettingsType = record LineStyle : word; Pattern : word; Thickness : word; end; const { Vonaltipus } SolidLn = 0; { normál vonal } DottedLn = 1; { pontozott vonal } CenterLn = 2; { középvonal } DashedLn = 3; { szaggatott vonal } UserBitLn = 4; { felhasználó által definiált vonal } { vonalszélesség } NormWidth = 1; { normál szélesség } ThickWidth = 3; { vastag vonal } GetMaxColor függvény Visszatér a maximálisan használható színek számával. GetMaxColor; Megjegyzés: Az eredmény word típusú. Például 256 Kbyte Ega esetén a GetMaxColor visszatérési értéke 15, amely azt jelenti, hogy a SetColor 0 és 15 között használhatja a színeket. A CGA finom grafika és a Hercules monochrom adaptere esetén a GetMaxColor 1 értékkel tér vissza, ebben az esetben a szín 0 és 1 lehet. GetMaxMode függvény Visszatér a használható maximális mód számával. GetMaxMode; GetMaxX függvény Visszatér a maximálisan használható oszlopok számával (x irány). GetMaxX; Megjegyzés: Az eredmény integer típusú. Például CGA 320x200 mód esetén a GetMaxX 319 értékkel tér vissza. GetMAxY függvény Visszatér a maximálisan használható sorok számával (y irány). GetMaxY; Megjegyzés: Az eredmény integer típusú. Például CGA 320x200 mód esetén a GetMaxY 199 értékkel tér vissza. GetModeName függvény String-ben adja vissza a grafikus mód nevét. GetModeName(ModeNumber: word); Megjegyzés: Az eredmény string típusú. GetModeRange eljárás A legkisebb és a legnagyobb grafikus móddal tér vissza. GetModeRange(GraphDrive: integer; var Lomode,HiMode: integer); Megjegyzés: Érvénytelen GraphDriver megadása esetén a visszatérési érték -1 lesz. GetPalette eljárás Visszatér az aktuális paletta és mérete értékeivel. GetPalette(var Palette: PaletteType); Megjegyzés: Az eredmény PaletteType típusú rekord. const MaxColor = 16; type PaletteType = record Size : byte; Colors : array[0..MaxColors] of shortint; end; GetPaletteSize függvény Visszatér a paletta színtábla méretével. GetPaletteSize; Megjegyzés: Az eredmény word típusú. A visszatérési érték megadja az aktuális grafikus módban használható paletták számát. Például színes üzemmódban használt EGA esetén ez az érték 16 lesz. GetPixel függvény Visszatér az (x,y) képpont színértékével. GetPixel(x,y: integer); Megjegyzés: A visszatérési érték word típusú. GetTextSettings eljárás Visszatér az aktuálisan használt karakterkészlet típusával, irányával, méretével és beállításával, melyet a SetTextStyle és a SetTextJustify beállítottak. GetTextSettings(var TextInfo: TextSettingsType); Megjegyzés: Az alábbi típusokat és konstansokat definiálták: type TextSettingsType = record Font : word; Direction : word; CharSize : word; Horiz : word; Vert : word; end; const DefaultFont = 0; { alapértelmezett } TriplexFont = 1; { háromvonalas } SmallFont = 2; { kisméretű } SanSerifFont = 3; { egyszerű } GothicFont = 4; { gót } HorizDir = 0; { vizszintes, balról jobbra } VertDir = 1; { függőleges, alulról felfelé } GetViewSettings eljárás Visszatér a SetViewPort által aktuálisan beállított ablak adataival. GetViewSettings(var ViewPort: ViewPortType); Megjegyzés: A ViewPortType rekord az alábbi: type ViewPortType = record x1,y1,x2,y2 : integer; Clip : boolean; end; Az (x1,y1) és (x2,y2) koordinátapontok az aktív ablak méretét szolgáltatják, melyek az abszolut képernyő koordinátákban értendők. A Clip boolean változó értéke true (igaz), ha vágást kérünk, egyébként false (hamis). A vágás esetén a rajzoknak csak az ablakba eső része látható. GetX függvény Visszatér a kurzor aktuális x koordináta értékével. GetX; Megjegyzés: A függvény értéke integer típusú. Ha a képernyőn egy ablak van kijelölve, akkor az ahhoz viszonyított koordinátákat kapjuk vissza. GetY függvény Visszatér a kurzor aktuális y koordinátaértékével. GetY; Megjegyzés: A függvény értéke integer típusú. GrapDefaults eljárás Alapértelmezés szerint állítja vissza a grafikus üzemmódot. GraphDefaults; Megjegyzés: A kurzort a képernyő bal felső sarkába (0,0) helyezi és alapállapotba állítja a grafikus rendszer változóit. GrapErrorMsg függvény Visszatér az ErrorCode-nak megfelelő hibaüzenettel. GraphErrorMsg(ErrorCode: integer); Megjegyzés: A függvény értéke string típusú. GraphResult függvény Visszatér az utoljára végrehajtott grafikus művelet hibakódjával. GraphResult; ImageSize függvény Visszatér a tárolni kívánt téglalap alakú grafikus képernyő byte- jainak számával. ImageSize(x1,y1,x2,y2: integer); Paraméterek: x1,y1 a téglalap bal felső sarka, x2,y2 a téglalap jobb alsó sarka. Megjegyzés: A függvény értéke két word típusú változó, amely megadja a tartomány szélességét és magasságát. 64Kbyte-nál kisebb tartomány tárolható, ellenkező esetben 0 lesz a visszatérési érték. A GraphResult hívásakor GrError=-11 hibakódot kapunk. InitGraph eljárás Beállítja a grafikus üzemmódot. InitGraph(var GraphDriver: integer; var GraphMode: integer, DriverPath: string); Paraméterek: GraphDriver a grafikus kártya típusa, GraphMode a grafikus mód, DriverPath az akutális .BGI file-t tartalmazó könyvtár (directory) neve. Megjegyzés: GraphDriver := Detect megadása esetén a grafikus kártya típusa és a grafikus mód automatikusan kerül kiválasztásra. Amennyiben az aktuális .BGI file abban a könyvtárban van, amelyben dolgozunk, a DriverPath paraméter értéke '' (üres string) lehet. Line eljárás Egyenest rajzol (x1,y1) és (x2,y2) pontok között. Line(x1,y1,x2,y2: integer); Paraméterek: x1,y1 az egyenes kezdőpontja, x2,y2 az egyenes végpontja. Megjegyzés: Egyenest rajzol a SetLineStyle általa beállított vonaltípussal és vonalvastagsággal. A vonal színét a SetColor határozza meg. LineRel eljárás Egyenest rajzol az aktuális pointer pozíciótól adott x,y távolságban lévő ponthoz. LineRel(Dx,Dy: integer); Paraméterek: Dx távolság x irányban, Dy távolság y irányban. Megjegyzés: Egyenest rajzol a SetLineStyle által beállított vonaltípussal és vonalvastagsággal. A vonal színét a SetColor határozza meg. LineTo eljárás Egyenest rajzol az aktuális pointer pozíciótól az adott pontig. Line(x,y: integer); Paraméterek: Egyenest rajzol a SetLineStyle által beállított vonaltípussal és vonalvastagsággal. A vonal színét a SetColor határozza meg. MoveRel eljárás Mozgatja az aktuális pointert az akutális helyétől az adott távolsággal. MoveRel(Dx,Dy: integer); Paraméterek: Dx távolság x irányban, Dy távolság y irányban. MoveTo eljárás Mozgatja az aktuális pointert az (x,y) pontba. MoveTo(x,y: integer); Paraméterek: x,y a pointer új helyzetének pontja. Megjegyzés: Ha van viewport aktiválva, akkor az x,y értékek hozzáadódnak a képernyőablak bal felső sarokpontjának értékéhez és ez lesz a pointer új helyzetének pontja. OutText eljárás Az akutális pointer helyétől szöveget ír. OutText(TextString: string); Paraméter: TextString a kiirandó szöveg. Megjegyzés: A korábban beállított betűtípussal, valamint a kijelölt irányban (vízszintes, függőleges) szöveget ír. OutTextXY eljárás Szöveget ír ki az adott (x,y) pontnál. OutTextXY(x,y: integer; TextString: string); Paraméterek: x,y a szöveg kiírásának a helye, TextString a kiirandó szöveg. Megjegyzés: A korábban beállított betűtípussal, valamint a kijelölt irányban (vízszintes, függőleges) szöveget ír. PieSlice eljárás Rajzol és befest egy (x,y) középpontú körcikket egy kezdő- és végszög között. PieSlice(x,y: integer; StAngle,EndAngle,Radius: word); PutImage eljárás Tartomány (képmező) ráhelyezése a képernyőre. PutImage(x,y: integer; var BitMap; BitBlt: word); Paraméterek: x,y a képernyőn a téglalap tartomány bal felső sarokpontja, BitMap típusnélküli paraméter, mely tartalmazza a téglalap tartomány szélességét, magasságát, és a kép bittérképét. BitBlt bináris művelet a kihelyezendő tartomány pontja és a képernyő pontjai között. Megjegyzés: BitBlt az alábbi bináris műveleteket veheti fel: const CopyPut = 0; { MOV } XORPut = 1; { XOR } OrPut = 2; { OR } AndPut = 3; { AND } NotPut = 4; { NOT } PutPixel eljárás Egy pontot rajzol az x,y pontban. PutPixel(x,y: integer; Pixel: word); Paraméterek: x,y pont koordinátája Pixel a pont színe Rectangle eljárás Téglalapot rajzol. Rectangle(x1,y1,x2,y2: integer); Paraméterek: x1,y1 a téglalap bal felső sarka, x2,y2 a téglalap jobb alsó sarka. Megjegyzés: A téglalapot az aktuális színnel és vonaltípussal rajzolja. RestoreCrtMode eljárás A grafikus üzemmód előtti képernyőmódot állítja vissza. RestoreCtrMode; Megjegyzés: A grafikus és a text üzemmódot váltogathatjuk a RestoreCrtMode és a SetGraphMode eljárások hívásával. Sector eljárás Rajzol és befest egy ellipszis cikket, Sector(x,y: integer; StAngle,EndAngle,XRadius,YRadius: word); Paraméterek: x,y középpont koordinátái, StAngle kezdőszög, EndAngle végszög, XRadius vízszintes tengely; YRadius függőleges tengely. SetActivePage eljárás Új lapot nyit meg a grafikus output számára. SetActivePage(Page: word); Paraméter: Page a lap száma. Megjegyzés: Több lap használatát csak az EGA (256KByte), a VGA és a Hercules grafikus kártya teszi lehetővé. A SetVisualPage eljárás segítségével váltogatjuk a látható lapokat, ez segítséget nyújt az animáció számára. SetAllPalette eljárás Változtatja a paletta színeit. SetAllPAlette(var Palette); Paraméter: Palette típus nélküli paraméter. Megjegyzés: A Palette első byte-ja a paletta hossza. A következő n byte szín fogja felülírni a paletta színeit. A szín tartománya -1 és 15 között változhat, -1 esetén a konstansok tartoznak a palettához: const Black = 0; { fekete } Blue = 1; { kék } Green = 2; { zöld } Cyan = 3; { türkiz } Red = 4; { piros } Magenta = 5; { lila } Brown = 6; { barna } LightBrown = 7; { világos barna } DarkGray = 8; { sötét barna } LightBlue = 9; { világos kék } LightGreen = 10; { világos zöld } LightCyan = 11; { világos türkiz } LightRed = 12; { világos piros } LightMagenta = 13; { világos lila } Yellow = 14; { sárga } White = 15; { fehér } MaxColors = 15; { a színek maximális száma } Type PaletteType =record Size: byte; Colors: array[0..MaxColors] of shortint;ć end; SetAspectRatio eljárás Változtatja a beépített oldalarányt. SetAspectRatio(Xasp,Yasp: word); Paraméterek: Xasp,Yasp oldalarányok. Megjegyzés: Amennyiben a beépített oldalarányok felhasználásával a kör rajza torzult, a hibát softver úton kiküszöbölhetjük, ha az oldalarányokat változtatjuk. SetBkColor eljárás Beállítja a háttér színét. SetBkColor(Color: word); Paraméter: Color indexe a színt tartalmazó Colors tömbnek. Az index 0-15 között változhat. SetColor eljárás Beállítja a rajzolás színét. SetColor(Color: word); Paraméter: Color indexe a színt tartalmazó Colors tömbnek. Az index 0-15 között változhat. SetFillPattern eljárás Kiválasztja a felhasználó által definiált mintát. SetFillPattern(Pattern: FillPatternType; Color: word); Paraméterek: Pattern 8 byte hosszú minta megadása hexadecimálisan. Color szín. Megjegyzés: A FillPatternType a következő: type FillPatternType = array[1..8] of byte. SetFillStyle eljárás Beállítja a festőmintát és a színt. SetFillStyle(Pattern: word; Color: word); Paraméterek: Pattern minta típus, Color szín. Megjegyzés: A kiválasztott színnel és mintával lehet festeni a FillPoly, Bar, Bar3D és PieSlice rutinok hívásával poligont, téglalapot, téglatestet és körcikket. Az alábbi konstansokat használhatjuk fel: const EmptyFill = 0; { háttérszínnel fest } SolidFill = 1; { egyenletes, gyenge tónus } LineFill = 2; { ___ vízszintes vonalas minta } LtSlashFill = 3; { dőlt /// vonalas minta } SlashFill = 4; { dőlt /// vastag vonalas minta } BkSlashFill = 5; { dőlt \\\ vastag vonalas minta } LtBkSlashFill = 6; { dőlt \\\ vonalas minta } HatchFill = 7; { kockás minta } XHatchFill = 8; { dőlt kockás minta } InterleaveFill = 9; { sűrűn pontozott } WideDotFill = 10; { ritkán pontozott } CloseDotFill = 11; { közepesen pontozott } USerFill = 12; { felhasználó által definiált } SetGraphBufSize eljárás Felülírja a poligon kitöltéséhez használt belső buffer méretét. SetGraphBufSize(BufSize: word); Paraméter: BufSize a buffer mérete. Megjegyzés: 4K a beépített buffer mérete, amely elég nagy ahhoz, hogy 650 töréspontú poligont befessen. Ha ennél több töréspontú poligont akarunk befesteni, akkor szükséges a buffer méretét növelni, hogy elkerüljük a buffer túlcsordulását. SetGraphMode eljárás Beállítja a grafikus módot és törli a képernyőt. SetGraphMode(Mode: integer); Paraméter: Mode a beépített grafikus kártya érvényes módja. SetLineStyle eljárás Beállítja a vonal típusát és vastagságát. SetLineStyle(LineStyle: word; Pattern: word; Thickness: word); Paraméter: LineStyle vonaltípus, Pattern vonaltípus minta, Thickness vonalvastagság. Megjegyzés: A következő konstansokat használhatjuk fel a vonalvastagsághoz: const SolidLn = 0; { teljes vonal } Dottedln = 1; { pontozott } CenterLn = 2; { középvonal } DashedLn = 3; { szaggatott } UserBitLn = 4; { bitmintával megadott } NormWidth= 1; { normál vastagságú vonal } ThickWidth= 3; { vastag vonal } A LineStyle értéke a SolidLn és a UserBitLn (0-4) között változhat, a Pattern értéke 0, hacsak nem a UserBitLn-t adtuk meg. Ebben az esetben a felhasználó által megadott minta lesz a vonaltípus. 16 bites hexadecimális szám lesz a Pattern értéke. Például $AAAA. A vonalszélesség normál (NormWidth) vagy vastag (ThickWidth) lehet. SetPalette eljárás Egy paletta színt változtat. SetPalette(Colornum: word; Color: word); Paraméterek: Colornum szín sorszáma a táblázatban, Color szín. Megjegyzés: Ha a Colornum 0 és a Color Green, akkor az első elem zöld lesz. A beépített színkonstansok sorszámát lásd a SetAllPalette eljárásnál. SetTextJustify eljárás Szöveg helyzetének beállítása az OutText és az OutTextXY eljárások számára. SetTextJustify(Horiz,Vert: word); Paraméterek: Horiz vízszintes beállítás, Vert függőleges beállítás. Megjegyzés: A következő konstansokat használhatjuk fel: const { vízszintes beállítás } LeftText = 0; { balra } CenterText = 1; { középre } RightText = 2; { jobbra } { függőleges beállítás } BottomText = 0; { aljára } CenterText = 1; { középre } TopText = 2; { tetejére } SetTextStyle eljárás Beállítja az aktuális karakterkészlet típusát és méretét. SetTextStyle(Font: word; Direction: word; CharSize: word); Paraméterek: Font karakterkészlet neve, Direction az írás iránya, CharSize a karakterek mérete. Megjegyzés: Az alábbi típusok és konstansok használhatók fel a paraméterek megadásához. const DefaultFont = 0; { alapértelmezett } TriplexFont = 1; { háromvonalas } SmallFont = 2; { kisbetű } SanSerifFont = 3; { egyszerű } GothicFont = 4; { gót betű } HorizDir = 0; { balról jobbra } VertDir = 1; { alulról felfelé } SetUSerCharSize eljárás A karakter szélességének és magasságának változtatása. SetUserCharSize(MultX,DivX,MultY,DivY: word); Paraméterek: MultX,DivX MultX:DivX arány szorzódik a normál szélességgel, MultY,DivY MultY:DivY arány szorzódik a normál magassággal. SetViewPort eljárás Ablakot jelöl ki a grafikus outputon. SetViewPort(x1,y1,x2,y2: integer; Clip: boolean); Paraméterek: x1,y1 az ablak bal felső sarka, x2,y2 az ablak jobb alsó sarka, Clip ClipOn (true) esetén a kivágást bekap- csolja, ClipOff (false) esetén kikapcsolja. Megjegyzés: Továbbiakban minden koordinátapont az adott ablakhoz lesz viszonyítva. A Clip paraméter határozza meg, hogy az ablakból kinyúló vonalak látszanak-e. SetVisualPage eljárás Láthatóvá teszi az adott grafikus lapot. SetVisualPage(Page: word); Paraméter: Page a lap száma. Megjegyzés: Több lap használata csak EGA (256Kbyte), VGA és Hercules grafikus kártya esetén lehetséges. SetWRiteMode eljárás Beállítja az írásmódot a vonalrajzolás számára. SetWriteMode(WriteMode: integer); Paraméter: WriteMode kétfajta lehet, az alábbi konstansok közül választhatunk. const CopyPut = 0; { MOV } XORPut = 1; { XOR } Megjegyzés: A CopyPut a MOV assembler utasítást használja, a vonal felülírja a képernyőt. Az XORPut az XOR parancsot hajt végre a vonal pontjai és a képernyő pontjai között. Két egymásutáni következő XOR parancs a vonalat letörli és a képernyőn az eredeti kép marad meg. TextHeight függvény Megadja a szöveg képpontokban mért magasságát. TextHeight(TextString: string); Paraméterek: TextString: szöveg. Megjegyzés: A függvény visszatérési értéke word típusú. TextWidth eljárás Megadja a szöveg képpontokban mért szélességét. TextWidth(TextString: string); Paraméterek: TextString: szöveg. Megjegyzés: A függvény visszatérési értéke word típusú.