home *** CD-ROM | disk | FTP | other *** search
/ Computer Club Elmshorn Atari PD / CCE_PD.iso / pc / 0300 / CCE_0367.ZIP / CCE_0367.PD / INTRFACE / GRAPH.INT < prev    next >
Text File  |  1992-12-04  |  10KB  |  473 lines

  1. unit    graph;
  2.  
  3. interface
  4.  
  5. (* -------------------------------------------------------------------- *)
  6. (*        constants, types & variables                                    *)
  7. (* -------------------------------------------------------------------- *)
  8.  
  9. const
  10.  
  11.         grOk                =    0;
  12.         grNoInitGraph        =    -1;
  13.         grNotDetected        =    -2;
  14.         grFileNotFound        =    -3;
  15.         grInvalidDriver        =    -4;
  16.         grNoLoadMem            =    -5;
  17.         grNoScanMem            =    -6;
  18.         grNoFloodMem        =    -7;
  19.         grFontNotFound        =    -8;
  20.         grNoFontMem            =    -9;
  21.         grInvalidMode        =    -10;
  22.         grError                =    -11;
  23.         grIOerror            =    -12;
  24.         grInvalidFont        =    -13;
  25.         grInvalidFontNum    =    -14;
  26.  
  27.         Detect                =    0;
  28.         CGA                    =    1;
  29.         MCGA                =    2;
  30.         EGA                    =    3;
  31.         EGA64                =    4;
  32.         EGAMono                =    5;
  33.         IBM8514                =    6;
  34.         HercMono            =    7;
  35.         ATT400                =    8;
  36.         VGA                    =    9;
  37.         PC3270                =    10;
  38.         CurrentDriver        =    -128;
  39.         VDI                    =    256;
  40.  
  41.         CGAC0                =    0;
  42.         CGAC1                =    1;
  43.         CGAC2                =    2;
  44.         CGAC3                =    3;
  45.         CGAHi                =    2;
  46.         MCGAC0                =    0;
  47.         MCGAC1                =    1;
  48.         MCGAC2                =    2;
  49.         MCGAC3                =    3;
  50.         MCGAMed                =    4;
  51.         MCGAHi                =    5;
  52.         EGALo                =    0;
  53.         EGAHi                =    1;
  54.         EGA64Lo                =    0;
  55.         EGA64Hi                =    1;
  56.         EGAMonoHi            =    3;
  57.         HercMonoHi            =    0;
  58.         ATT400C0            =    0;
  59.         ATT400C1            =    1;
  60.         ATT400C2            =    2;
  61.         ATT400C3            =    3;
  62.         ATT400Med            =    4;
  63.         ATT400Hi            =    5;
  64.         VGALo                =    0;
  65.         VGAMed                =    1;
  66.         VGAHi                =    2;
  67.         PC3270Hi            =    0;
  68.         IBM8514Lo            =    0;
  69.         IBM8514Hi            =    1;
  70.         VDIMode                =    0;
  71.  
  72.         Black                =    0;
  73.         Blue                =    1;
  74.         Green                =    2;
  75.         Cyan                =    3;
  76.         Red                    =    4;
  77.         Magenta                =    5;
  78.         Brown                =    6;
  79.         LightGray            =    7;
  80.         DarkGray            =    8;
  81.         LightBlue            =    9;
  82.         LightGreen            =    10;
  83.         LightCyan            =    11;
  84.         LightRed            =    12;
  85.         LightMagenta        =    13;
  86.         Yellow                =    14;
  87.         White                =    15;
  88.  
  89.         EGABlack            =    0;
  90.         EGABlue                =    1;
  91.         EGAGreen            =    2;
  92.         EGACyan                =    3;
  93.         EGARed                =    4;
  94.         EGAMagenta            =    5;
  95.         EGABrown            =    20;
  96.         EGALightgray        =    7;
  97.         EGADarkgray            =    56;
  98.         EGALightblue        =    57;
  99.         EGALightgreen        =    58;
  100.         EGALightcyan        =    59;
  101.         EGALightred            =    60;
  102.         EGALightmagenta        =    61;
  103.         EGAYellow            =    62;
  104.         EGAWhite            =    63;
  105.  
  106.         SolidLn                =    0;
  107.         DottedLn            =    1;
  108.         CenterLn            =    2;
  109.         DashedLn            =    3;
  110.         UserBitLn            =    4;
  111.  
  112.         NormWidth            =    1;
  113.         ThickWidth            =    3;
  114.  
  115.         DefaultFont            =    0;
  116.         TriplexFont            =    1;
  117.         SmallFont            =    2;
  118.         SansSerifFont        =    3;
  119.         GothicFont            =    4;
  120.  
  121.         HorizDir            =    0;
  122.         VertDir                =    1;
  123.  
  124.         UserCharSize        =    0;
  125.  
  126.         LeftText            =    0;
  127.         CenterText            =    1;
  128.         RightText            =    2;
  129.  
  130.         BottomText            =    0;
  131.         TopText                =    2;
  132.  
  133.         ClipOn                = true;
  134.         ClipOff                = false;
  135.  
  136.         TopOn                = true;
  137.         TopOff                = false;
  138.  
  139.         EmptyFill            =    0;
  140.         SolidFill            =    1;
  141.         LineFill            =    2;
  142.         LtSlashFill            =    3;
  143.         SlashFill            =    4;
  144.         BkSlashFill            =    5;
  145.         LtBkSlashFill        =    6;
  146.         HatchFill            =    7;
  147.         XHatchFill            =    8;
  148.         InterleaveFill        =    9;
  149.         WideDotFill            =    10;
  150.         CloseDotFill        =    11;
  151.         UserFill            =    12;
  152.  
  153.         CopyPut                =    0;
  154.         XORPut                =    1;
  155.         OrPut                =    2;
  156.         AndPut                =    3;
  157.         NotPut                =    4;
  158.  
  159.         NormalPut            =    CopyPut;
  160.  
  161.         MaxColors            =    15;
  162.  
  163.  
  164. type
  165.  
  166.         PaletteType            =     record
  167.                                     Size        : Byte;
  168.                                     Colors        : Array[0..MaxColors]
  169.                                                     of ShortInt;
  170.                                 end;
  171.  
  172.         LineSettingsType    =    record
  173.                                     LineStyle    : Word;
  174.                                     Pattern        : Word;
  175.                                     Thickness    : Word;
  176.                                 end;
  177.  
  178.         TextSettingsType    =    record
  179.                                     Font        : Word;
  180.                                     Direction    : Word;
  181.                                     CharSize    : Word;
  182.                                     Horiz        : Word;
  183.                                     Vert        : Word;
  184.                                 end;
  185.  
  186.         FillSettingsType    =    record
  187.                                     Pattern        : Word;
  188.                                     Color        : Word;
  189.                                 end;
  190.  
  191.         FillPatternType        =    Array[1..8] of Byte;
  192.  
  193.         PointType            =    record
  194.                                     X, Y : Integer;
  195.                                 end;
  196.  
  197.         ViewPortType        =    record
  198.                                     x1, y1,
  199.                                     x2, y2        : Word;
  200.                                     Clip        : Boolean;
  201.                                 end;
  202.  
  203.         ArcCoordsType        =    record
  204.                                     X, Y        : Integer;
  205.                                     Xstart,
  206.                                     Ystart,
  207.                                     Xend, Yend    : Integer;
  208.                                 end;
  209.  
  210.  
  211. var
  212.  
  213.         GraphGetMemPtr    : Pointer;
  214.         GraphFreeMemPtr    : Pointer;
  215.  
  216.  
  217. (* -------------------------------------------------------------------- *)
  218. (*        functions & procedures                                            *)
  219. (* -------------------------------------------------------------------- *)
  220.  
  221.     procedure    Arc( X, Y : Integer; StAngle, EndAngle, Radius : Word );
  222.     external;
  223.  
  224.     procedure    Bar( x1, y1, x2, y2 : Integer );
  225.     external;
  226.  
  227.     procedure    Bar3D( x1, y1, x2, y2 : Integer; Depth : Word; Top : Boolean );
  228.     external;
  229.  
  230.     procedure    Circle( X, Y : Integer; Radius : Word );
  231.     external;
  232.  
  233.     procedure    ClearDevice;
  234.     external;
  235.  
  236.     procedure    ClearViewPort;
  237.     external;
  238.  
  239.     procedure    CloseGraph;
  240.     external;
  241.  
  242.     procedure    DetectGraph( var GraphDriver, GraphMode : Integer );
  243.     external;
  244.  
  245.     procedure    DrawPoly( NumPoints : Word; var PolyPoints );
  246.     external;
  247.  
  248.     procedure    Ellipse( X, Y : Integer; StAngle, EndAngle : Word;
  249.                             XRadius, YRadius : Word );
  250.     external;
  251.  
  252.     procedure    FillEllipse( X, Y : Integer; XRadius, YRadius : Word );
  253.     external;
  254.  
  255.     procedure    FillPoly( NumPoints : Word; var PolyPoints );
  256.     external;
  257.  
  258.     procedure    FloodFill( X, Y : Integer; Border : Word );
  259.     external;
  260.  
  261.     procedure    GetArcCoords( var ArcCoords : ArcCoordsType );
  262.     external;
  263.  
  264.     procedure    GetAspectRatio( var Xasp, Yasp : Word );
  265.     external;
  266.  
  267.     function    GetBkColor : Word;
  268.     external;
  269.  
  270.     function    GetColor : Word;
  271.     external;
  272.  
  273.     procedure    GetDefaultPalette( var Pal : PaletteType );
  274.     external;
  275.  
  276.     function    GetDriverName : String;
  277.     external;
  278.  
  279.     procedure    GetFillPattern( var FillPattern : FillPatternType );
  280.     external;
  281.  
  282.     procedure    GetFillSettings( var FillInfo : FillSettingsType );
  283.     external;
  284.  
  285.     function    GetGraphMode : Integer;
  286.     external;
  287.  
  288.     procedure    GetImage( x1, y1, x2, y2 : Integer; var BitMap );
  289.     external;
  290.  
  291.     procedure    GetLineSettings( var LineInfo : LineSettingsType );
  292.     external;
  293.  
  294.     function    GetMaxColor : Word;
  295.     external;
  296.  
  297.     function    GetMaxMode : Word;
  298.     external;
  299.  
  300.     function    GetMaxX : Integer;
  301.     external;
  302.  
  303.     function    GetMaxY : Integer;
  304.     external;
  305.  
  306.     function    GetModeName( ModeNumber : Integer ) : String;
  307.     external;
  308.  
  309.     procedure    GetModeRange( GraphDriver : Integer;
  310.                                 var LoMode, HiMode : Integer );
  311.     external;
  312.  
  313.     function    GetPaletteSize : Integer;
  314.     external;
  315.  
  316.     procedure    GetPalette( var Palette : PaletteType );
  317.     external;
  318.  
  319.     function    GetPixel( X, Y : Integer ) : Word;
  320.     external;
  321.  
  322.     procedure    GetTextSettings( var TextInfo : TextSettingsType );
  323.     external;
  324.  
  325.     procedure    GetViewSettings( var Viewport : ViewPortType );
  326.     external;
  327.  
  328.     function    GetX : Integer;
  329.     external;
  330.  
  331.     function    GetY : Integer;
  332.     external;
  333.  
  334.     procedure    GraphDefaults;
  335.     external;
  336.  
  337.     function    GraphErrorMsg( ErrorCode : Integer ) : String;
  338.     external;
  339.  
  340.     procedure    GraphFreeMem( var P : Pointer; Size : Word );
  341.     external;
  342.  
  343.     procedure    GraphGetMem( var P : Pointer; Size : Word );
  344.     external;
  345.  
  346.     function    GraphResult : Integer;
  347.     external;
  348.  
  349.     function    ImageSize( x1, y1, x2, y2 : Integer ) : LongInt;
  350.     external;
  351.  
  352.     procedure    InitGraph( var GraphDriver, GraphMode : Integer;
  353.                                 PathToDriver : String );
  354.     external;
  355.  
  356.     function    InstallUserFont( FontFileName : String ) : Integer;
  357.     external;
  358.  
  359.     function    InstallUserDriver( Name : String;
  360.                                     AutoDetectPtr : Pointer ) : Integer;
  361.     external;
  362.  
  363.     procedure    Line( x1, y1, x2, y2 : Integer );
  364.     external;
  365.  
  366.     procedure    LineRel( Dx, Dy : Integer );
  367.     external;
  368.  
  369.     procedure    LineTo( x, y : Integer );
  370.     external;
  371.  
  372.     procedure    MoveRel( Dx, Dy : Integer );
  373.     external;
  374.  
  375.     procedure    MoveTo( x, y : Integer );
  376.     external;
  377.  
  378.     procedure    OutText( Textstring : String );
  379.     external;
  380.  
  381.     procedure    OutTextXY( X, Y : Integer; Textstring : String );
  382.     external;
  383.  
  384.     procedure    PieSlice( X, Y : Integer; StAngle, EndAngle, Radius : Word );
  385.     external;
  386.  
  387.     procedure    PutImage( X, Y : Integer; var BitMap; BitBlt : Word );
  388.     external;
  389.  
  390.     procedure    PutPixel( X, Y : Integer; Color : Word );
  391.     external;
  392.  
  393.     procedure    Rectangle( x1, y1, x2, y2 : Integer );
  394.     external;
  395.  
  396.     function    RegisterBGIFont( Font : Pointer ) : Integer;
  397.     external;
  398.  
  399.     function    RegisterBGIDriver( Driver : Pointer ) : Integer;
  400.     external;
  401.  
  402.     procedure    RestoreCRTMode;
  403.     external;
  404.  
  405.     procedure    Sector( x, y : Integer; StAngle, EndAngle,
  406.                         XRadius, YRadius : Word );
  407.     external;
  408.  
  409.     procedure    SetActivePage( Page : Word );
  410.     external;
  411.  
  412.     procedure    SetAllPalette( var Palette );
  413.     external;
  414.  
  415.     procedure    SetAspectRatio( XAsp, YAsp : Word );
  416.     external;
  417.  
  418.     procedure    SetBkColor( ColorNum : Word );
  419.     external;
  420.  
  421.     procedure    SetColor( Color : Word );
  422.     external;
  423.  
  424.     procedure    SetFillPattern( Pattern : FillPatternType; Color : Word );
  425.     external;
  426.  
  427.     procedure    SetFillStyle( Pattern : Word; Color : Word );
  428.     external;
  429.  
  430.     procedure    SetGraphBufSize( BufSize : Word );
  431.     external;
  432.  
  433.     procedure    SetGraphMode( Mode : Integer );
  434.     external;
  435.  
  436.     procedure    SetLineStyle( LineStyle, Pattern, Thickness : Word );
  437.     external;
  438.  
  439.     procedure    SetPalette( ColorNum : Word; Color : ShortInt );
  440.     external;
  441.  
  442.     procedure    SetRGBPalette( ColorNum, RedValue,
  443.                                 GreenValue, BlueValue : Integer );
  444.     external;
  445.  
  446.     procedure    SetTextJustify( Horiz, Vert : Word );
  447.     external;
  448.  
  449.     procedure    SetTextStyle( Font, Direction, CharSize : Word );
  450.     external;
  451.  
  452.     procedure    SetUserCharSize( MultX, DivX, MultY, DivY : Word );
  453.     external;
  454.  
  455.     procedure    SetViewPort( x1, y1, x2, y2 : Integer; Clip : Boolean );
  456.     external;
  457.  
  458.     procedure    SetVisualPage( Page : Word );
  459.     external;
  460.  
  461.     procedure    SetWriteMode( WriteMode : Integer );
  462.     external;
  463.  
  464.     function    TextHeight( Textstring : String ) : Word;
  465.     external;
  466.  
  467.     function    TextWidth( Textstring : String ) : Word;
  468.     external;
  469.  
  470.  
  471. (* =================================================================== *)
  472.  
  473.