- Unit Graph;
-
- interface
-
- const
- { Codes d'erreur du retour de GraphResult: }
- grOk = 0;
- grNoInitGraph = -1;
- grNotDetected = -2;
- grFileNotFound = -3;
- grInvalidDriver = -4;
- grNoLoadMem = -5;
- grNoScanMem = -6;
- grNoFloodMem = -7;
- grFontNotFound = -8;
- grNoFontMem = -9;
- grInvalidMode = -10;
- grError = -11; { Erreur générique }
- grIOerror = -12;
- grInvalidFont = -13;
- grInvalidFontNum = -14;
- grInvalidVersion = -18;
-
- { Divers définitions graphiques }
- CurrentDriver = -128; { passé à GetModeRange }
- Detect = 0; { requêtes d'auto-détection }
- CGA = 1;
- MCGA = 2;
- EGA = 3;
- EGA64 = 4;
- EGAMono = 5;
- IBM8514 = 6;
- HercMono = 7;
- ATT400 = 8;
- VGA = 9;
- PC3270 = 10;
-
- { Modes graphiques pour chaque pilote }
- CGAC0 = 0; { 320x200 palette 0: LightGreen, LightRed, Yellow; 1 page }
- CGAC1 = 1; { 320x200 palette 1: LightCyan, LightMagenta, White; 1 page }
- CGAC2 = 2; { 320x200 palette 2: Green, Red, Brown; 1 page }
- CGAC3 = 3; { 320x200 palette 3: Cyan, Magenta, LightGray; 1 page }
- CGAHi = 4; { 640x200 1 page }
- MCGAC0 = 0; { 320x200 palette 0: LightGreen, LightRed, Yellow; 1 page }
- MCGAC1 = 1; { 320x200 palette 1: LightCyan, LightMagenta, White; 1 page }
- MCGAC2 = 2; { 320x200 palette 2: Green, Red, Brown; 1 page }
- MCGAC3 = 3; { 320x200 palette 3: Cyan, Magenta, LightGray; 1 page }
- MCGAMed = 4; { 640x200 1 page }
- MCGAHi = 5; { 640x480 1 page }
- EGALo = 0; { 640x200 16 couleurs 4 page }
- EGAHi = 1; { 640x350 16 couleurs 2 page }
- EGA64Lo = 0; { 640x200 16 couleurs 1 page }
- EGA64Hi = 1; { 640x350 4 couleurs 1 page }
- EGAMonoHi = 3; { 640x350 64 Ko sur la carte, 1 page; 256 Ko sur la carte, 2 page }
- HercMonoHi = 0; { 720x348 2 page }
- ATT400C0 = 0; { 320x200 palette 0: LightGreen, LightRed, Yellow; 1 page }
- ATT400C1 = 1; { 320x200 palette 1: LightCyan, LightMagenta, White; 1 page }
- ATT400C2 = 2; { 320x200 palette 2: Green, Red, Brown; 1 page }
- ATT400C3 = 3; { 320x200 palette 3: Cyan, Magenta, LightGray; 1 page }
- ATT400Med = 4; { 640x200 1 page }
- ATT400Hi = 5; { 640x400 1 page }
- VGALo = 0; { 640x200 16 couleurs 4 page }
- VGAMed = 1; { 640x350 16 couleurs 2 page }
- VGAHi = 2; { 640x480 16 couleurs 1 page }
- PC3270Hi = 0; { 720x350 1 page }
- IBM8514LO = 0; { 640x480 256 couleurs }
- IBM8514HI = 1; { 1024x768 256 couleurs }
-
- { Couleurs pour SetPalette et SetAllPalette: }
- Black = 0;
- Blue = 1;
- Green = 2;
- Cyan = 3;
- Red = 4;
- Magenta = 5;
- Brown = 6;
- LightGray = 7;
- DarkGray = 8;
- LightBlue = 9;
- LightGreen = 10;
- LightCyan = 11;
- LightRed = 12;
- LightMagenta = 13;
- Yellow = 14;
- White = 15;
-
- { couleurs pour 8514 pour définir les couleurs EGA standard sans connaître leurs valeurs }
- EGABlack = 0; { couleurs sombres }
- EGABlue = 1;
- EGAGreen = 2;
- EGACyan = 3;
- EGARed = 4;
- EGAMagenta = 5;
- EGABrown = 20;
- EGALightgray = 7;
- EGADarkgray = 56; { couleurs claires }
- EGALightblue = 57;
- EGALightgreen = 58;
- EGALightcyan = 59;
- EGALightred = 60;
- EGALightmagenta = 61;
- EGAYellow = 62;
- EGAWhite = 63;
-
- { Styles et largeurs de ligne pour Get / SetLineStyle: }
- SolidLn = 0;
- DottedLn = 1;
- CenterLn = 2;
- DashedLn = 3;
- UserBitLn = 4; { Style de ligne défini par l'utilisateur }
-
- NormWidth = 1;
- ThickWidth = 3;
-
- { Constantes GetTextStyle et SetTextStyle: }
- DefaultFont = 0; { Police de caractères cartographiée 8x8 bits }
- TriplexFont = 1; { Polices de caractères "Stroked" }
- SmallFont = 2;
- SansSerifFont = 3;
- GothicFont = 4;
-
- HorizDir = 0; { de gauche à droite }
- VertDir = 1; { de bas en haut }
-
- UserCharSize = 0; { taille de caractère définie par l'utilisateur }
-
- { Constantes de captures: }
- ClipOn = true;
- ClipOff = false;
-
- { Constantes de Bar3D: }
- TopOn = true;
- TopOff = false;
-
- { Motifs de remplissage pour GetFillStyle / SetFillStyle: }
- EmptyFill = 0; { remplir la zone en couleur de fond }
- SolidFill = 1; { remplir la zone en couleur unie }
- LineFill = 2; { remplir ---}
- LtSlashFill = 3; { remplir ///}
- SlashFill = 4; { remplir /// avec des traits épais }
- BkSlashFill = 5; { remplir \\\ avec des traits épais }
- LtBkSlashFill = 6; { remplir \\\ }
- HatchFill = 7; { remplissage de la trappe légère }
- XHatchFill = 8; { remplissage de hachures croisées }
- InterleaveFill = 9; { remplissage de lignes d'entrelacement }
- WideDotFill = 10; { Remplissage de points largement espacés }
- CloseDotFill = 11; { Remplissage de points étroitement espacés }
- UserFill = 12; { Remplissage défini par l'utilisateur }
-
- { Opérateurs BitBlt pour PutImage: }
- NormalPut = 0; { MOV } { laissé pour la compatibilité du Turbo Pascal 1.0 }
- CopyPut = 0; { MOV }
- XORPut = 1; { XOR }
- OrPut = 2; { OR }
- AndPut = 3; { AND }
- NotPut = 4; { NOT }
-
- { Justification horizontale et verticale de SetTextJustify : }
- LeftText = 0;
- CenterText = 1;
- RightText = 2;
-
- BottomText = 0;
- { CenterText = 1; déjà défini ci-dessus }
- TopText = 2;
-
-
- const
- MaxColors = 15;
- type
- PaletteType = record
- Size : byte;
- Colors : array[0..MaxColors] of shortint;
- end;
-
- LineSettingsType = record
- LineStyle : word;
- Pattern : word;
- Thickness : word;
- end;
-
- TextSettingsType = record
- Font : word;
- Direction : word;
- CharSize : word;
- Horiz : word;
- Vert : word;
- end;
-
- FillSettingsType = record { Style de remplissage prédéfini }
- Pattern : word;
- Color : word;
- end;
-
- FillPatternType = array[1..8] of byte; { Style de remplissage défini par l'utilisateur }
-
- PointType = record
- X, Y : integer;
- end;
-
- ViewPortType = record
- x1, y1, x2, y2 : integer;
- Clip : boolean;
- end;
-
- ArcCoordsType = record
- X, Y : integer;
- Xstart, Ystart : integer;
- Xend, Yend : integer;
- end;
-
-
- var
- GraphGetMemPtr : Pointer; { permet à l'utilisateur de voler l'allocation de tas }
- GraphFreeMemPtr : Pointer; { permet à l'utilisateur de voler la désallocation de tas }
-
- Function GraphErrorMsg(ErrorCode : integer) : String;
- Function GraphResult : integer;
- Procedure DetectGraph(var GraphDriver, GraphMode : integer);
- Function GetDriverName : string;
- Procedure InitGraph(var GraphDriver : integer;var GraphMode : integer;PathToDriver : String);
- Function RegisterBGIfont(Font : pointer) : integer;
- Function RegisterBGIdriver(Driver : pointer) : integer;
- Function InstallUserDriver(DriverFileName : string;AutoDetectPtr : pointer) : integer;
- Function InstallUserFont(FontFileName : string) : integer;
- Procedure SetGraphBufSize(BufSize : word);
- Function GetMaxMode : integer;
- Procedure GetModeRange(GraphDriver : integer; var LoMode, HiMode : integer);
- Function GetModeName(GraphMode : integer) : string;
- Procedure SetGraphMode(Mode : integer);
- Function GetGraphMode : integer;
- Procedure GraphDefaults;
- Procedure RestoreCrtMode;
- Procedure CloseGraph;
- Function GetX : integer;
- Function GetY : integer;
- Function GetMaxX : integer;
- Function GetMaxY : integer;
- Procedure ClearDevice;
- Procedure SetViewPort(x1, y1, x2, y2 : integer; Clip : boolean);
- Procedure GetViewSettings(var ViewPort : ViewPortType);
- Procedure ClearViewPort;
- Procedure SetVisualPage(Page : word);
- Procedure SetActivePage(Page : word);
- Procedure PutPixel(X, Y : integer; Pixel : word);
- Function GetPixel(X, Y : integer) : word;
- Procedure SetWriteMode(WriteMode : integer);
- Procedure LineTo(X, Y : integer);
- Procedure LineRel(Dx, Dy : integer);
- Procedure MoveTo(X, Y : integer);
- Procedure MoveRel(Dx, Dy : integer);
- Procedure Line(x1, y1, x2, y2 : integer);
- Procedure GetLineSettings(var LineInfo : LineSettingsType);
- Procedure SetLineStyle(LineStyle : word;Pattern : word;Thickness : word);
- Procedure Rectangle(x1, y1, x2, y2 : integer);
- Procedure Bar(x1, y1, x2, y2 : integer);
- Procedure Bar3D(x1, y1, x2, y2 : integer; Depth : word; Top : boolean);
- Procedure DrawPoly(NumPoints : word; var PolyPoints);
- Procedure FillPoly(NumPoints : word; var PolyPoints);
- Procedure GetFillSettings(var FillInfo : FillSettingsType);
- Procedure GetFillPattern(var FillPattern : FillPatternType);
- Procedure SetFillStyle(Pattern : word; Color : word);
- Procedure SetFillPattern(Pattern : FillPatternType; Color : word);
- Procedure FloodFill(X, Y : integer; Border : word);
- Procedure Arc(X, Y : integer; StAngle, EndAngle, Radius : word);
- Procedure GetArcCoords(var ArcCoords : ArcCoordsType);
- Procedure Circle(X, Y : integer; Radius : word);
- Procedure Ellipse(X, Y : integer;StAngle, EndAngle : word;XRadius, YRadius : word);
- Procedure FillEllipse(X, Y : integer;XRadius, YRadius : word);
- Procedure GetAspectRatio(var Xasp, Yasp : word);
- Procedure SetAspectRatio(Xasp, Yasp : word);
- Procedure PieSlice(X, Y : integer; StAngle, EndAngle, Radius : word);
- Procedure Sector(X, Y : Integer;StAngle, EndAngle,XRadius, YRadius:word);
- Procedure SetBkColor(ColorNum : word);
- Procedure SetColor(Color : word);
- Function GetBkColor : word;
- Function GetColor : word;
- Procedure SetAllPalette(var Palette);
- Procedure SetPalette(ColorNum : word; Color : shortint);
- Procedure GetPalette(var Palette : PaletteType);
- Function GetPaletteSize : integer;
- Procedure GetDefaultPalette(var Palette : PaletteType);
- Function GetMaxColor : word;
- Procedure SetRGBPalette(ColorNum, RedValue, GreenValue, BlueValue : integer);
- Function ImageSize(x1, y1, x2, y2 : integer) : word;
- Procedure GetImage(x1, y1, x2, y2 : integer; var BitMap);
- Procedure PutImage(X, Y : integer; var BitMap; BitBlt : word);
- Procedure GetTextSettings(var TextInfo : TextSettingsType);
- Procedure OutText(TextString : string);
- Procedure OutTextXY(X, Y : integer; TextString : string);
- Procedure SetTextJustify(Horiz, Vert : word);
- Procedure SetTextStyle(Font, Direction : word; CharSize : word);
- Procedure SetUserCharSize(MultX, DivX, MultY, DivY : word);
- Function TextHeight(TextString : string) : word;
- Function TextWidth(TextString : string) : word;
Dernière mise à jour : Dimanche, le 20 avril 2014