{$if not def GRAPHICS_LIB_H} CONST GRAPHICS_LIB_H=0;

{ ***************************************************************
  ** KickPascal-Include-Datei "graphics.lib" zu Kickstart 2.04 **
  *************************************************************** }

{$if not def GRAPHICS_GFX_H;incl "graphics/gfx.h";endif}
{$if not def GRAPHICS_DISPLAYINFO_H;incl "graphics/displayinfo.h";endif}
{$if not def GRAPHICS_GELS_H;incl "graphics/gels.h";endif}
{$if not def GRAPHICS_RASTPORT_H;incl "graphics/rastport.h";endif}
{$if not def GRAPHICS_VIEW_H;incl "graphics/view.h";endif}
{$if not def GRAPHICS_COPPER_H;incl "graphics/copper.h";endif}
{$if not def GRAPHICS_CLIP_H;incl "graphics/clip.h";endif}
{$if not def GRAPHICS_REGIONS_H;incl "graphics/regions.h";endif}
{$if not def GRAPHICS_SPRITE_H;incl "graphics/sprite.h";endif}
{$if not def GRAPHICS_TEXT_H;incl "graphics/text.h";endif}
{$if not def HARDWARE_BLIT_H;incl "hardware/blit.h";endif}
{$if not def GRAPHICS_SCALE_H;incl "graphics/scale.h";endif}

VAR GfxBase : Ptr;

LIBRARY GfxBase :

 -30 : FUNCTION  BltBitMap (A0:p_BitMap; D0,D1:LongInt; A1:p_BitMap; D2,D3,D4,D5:LongInt; D6,D7:Long; A2:PLANEPTR): LongInt;
 -36 : PROCEDURE BltTemplate (A0:PLANEPTR; D0,D1:LongInt; A1:p_RastPort; D2,D3,D4,D5:LongInt);
 -42 : PROCEDURE ClearEOL (A1:p_RastPort);
 -48 : PROCEDURE ClearScreen (A1:p_RastPort);
 -54 : FUNCTION  TextLength (A1:p_RastPort; A0:Str; D0:Long): Integer;
 -60 : FUNCTION  _Text (A1:p_RastPort; A0:Str; D0:LongInt):LongInt;
 -66 : FUNCTION  SetFont (A1:p_RastPort; A0:p_TextFont): LongInt;
 -72 : FUNCTION  OpenFont (A0:p_TextAttr): p_TextFont;
 -78 : PROCEDURE CloseFont (A1:p_TextFont);
 -84 : FUNCTION  AskSoftStyle (A1:p_RastPort): Long;
 -90 : FUNCTION  SetSoftStyle (A1:p_RastPort; D0,D1: Long): Long;
 -96 : PROCEDURE AddBob (A0:p_Bob; A1:p_RastPort);
-102 : PROCEDURE AddVSprite (A0:p_VSprite; A1:p_RastPort);
-108 : PROCEDURE DoCollision (A1:p_RastPort);
-114 : PROCEDURE DrawGList (A1:p_RastPort; A0:p_ViewPort);
-120 : PROCEDURE InitGels (A0,A1:p_VSprite; A2:p_GelsInfo);
-126 : PROCEDURE InitMasks (A0:p_VSprite);
-132 : PROCEDURE RemIBob (A0:p_Bob; A1:p_RastPort; A2:p_ViewPort);
-138 : PROCEDURE RemVSprite (A0:p_VSprite);
-144 : PROCEDURE SetCollision (D0:Long; A0:Ptr; A1:p_GelsInfo);
-150 : PROCEDURE SortGList (A1:p_RastPort);
-156 : PROCEDURE AddAnimOb (A0:p_AnimOb; A1:Ptr; A2:p_RastPort);
-162 : PROCEDURE Animate(A0:Ptr; A1:p_RastPort);
-168 : FUNCTION  GetGBuffers (A0:p_AnimOb; A1:p_RastPort; D0:LongInt): Boolean;
-174 : PROCEDURE InitGMasks(A0:p_AnimOb);
-180 : PROCEDURE DrawEllipse (A1:p_RastPort; D0,D1,D2,D3: LongInt);
-186 : FUNCTION  AreaEllipse (A1:p_RastPort; D0,D1,D2,D3: LongInt): LongInt;
-192 : PROCEDURE LoadRGB4 (A0:p_ViewPort; A1:Ptr; D0:LongInt);
-198 : PROCEDURE InitRastPort (A1:p_RastPort);
-204 : PROCEDURE InitVPort (A0:p_ViewPort);
-210 : PROCEDURE MrgCop (A1:p_View);
-216 : PROCEDURE MakeVPort (A0:p_View; A1:p_ViewPort);
-222 : PROCEDURE LoadView (A1:p_View);
-228 : PROCEDURE WaitBlit;
-234 : PROCEDURE SetRast (A1:p_RastPort; D0:Long);
-240 : PROCEDURE Move (A1:p_RastPort; D0,D1:LongInt);
-246 : PROCEDURE Draw (A1:p_RastPort; D0,D1:LongInt);
-252 : FUNCTION  AreaMove (A1:p_RastPort; D0,D1:LongInt): LongInt;
-258 : FUNCTION  AreaDraw (A1:p_RastPort; D0,D1:LongInt): LongInt;
-264 : FUNCTION  AreaEnd (A1:p_RastPort): LongInt;
-270 : PROCEDURE WaitTOF;
-276 : PROCEDURE QBlit (A1:p_bltnode);
-282 : PROCEDURE InitArea (A0:p_AreaInfo; A1:Ptr; D0:LongInt);
-288 : PROCEDURE SetRGB4 (A0:p_ViewPort; D0: Long; D1,D2,D3: LongInt);
-294 : PROCEDURE QBSBlit (A1:p_bltnode);
-300 : PROCEDURE BltClear (A1:PLANEPTR; D0,D1:LongInt);
-306 : PROCEDURE RectFill (A1:p_RastPort; D0,D1,D2,D3: LongInt);
-312 : PROCEDURE BltPattern (A1:p_RastPort; A0:PLANEPTR; D0,D1,D2,D3,D4: LongInt);
-318 : FUNCTION  ReadPixel (A1:p_RastPort; D0,D1: LongInt): Long;
-324 : FUNCTION  WritePixel (A1:p_RastPort; D0,D1: LongInt): LongInt;
-330 : FUNCTION  Flood (A1:p_RastPort; D2:Long; D0,D1: LongInt): Boolean;
-336 : PROCEDURE PolyDraw (A1:p_RastPort; D0:LongInt; A0:Ptr);
-342 : PROCEDURE SetAPen (A1:p_RastPort; D0:Long);
-348 : PROCEDURE SetBPen (A1:p_RastPort; D0:Long);
-354 : PROCEDURE SetDrMd (A1:p_RastPort; D0:Long);
-360 : PROCEDURE InitView (A1:p_View);
-366 : PROCEDURE CBump (A1:p_UCopList);
-372 : PROCEDURE CMove (A1:p_UCopList; D0:Ptr; D1:LongInt);
-378 : PROCEDURE CWait (A1:p_UCopList; D0,D1:LongInt);
-384 : FUNCTION  VBeamPos: Long;
-390 : PROCEDURE InitBitMap (A0:p_BitMap; D0,D1,D2: LongInt);
-396 : PROCEDURE ScrollRaster (A1:p_RastPort; D0,D1,D2,D3,D4,D5: LongInt);
-402 : PROCEDURE WaitBOVP (A0:p_ViewPort);
-408 : FUNCTION  GetSprite (A0:p_SimpleSprite; D0:LongInt): Integer;
-414 : PROCEDURE FreeSprite (D0:LongInt);
-420 : PROCEDURE ChangeSprite (A0:p_ViewPort; A1:p_SimpleSprite; A2:PLANEPTR);
-426 : PROCEDURE MoveSprite (A0:p_ViewPort; A1:p_SimpleSprite; D0,D1: LongInt);
-432 : PROCEDURE LockLayerRom (A5:p_Layer);
-438 : PROCEDURE UnLockLayerRom (A5:p_Layer);
-444 : PROCEDURE SyncSBitMap (A0:p_Layer);
-450 : PROCEDURE CopySBitMap (A0:p_Layer);
-456 : PROCEDURE OwnBlitter;
-462 : PROCEDURE DisownBlitter;
-468 : FUNCTION  InitTmpRas (A0:p_TmpRas; A1:PLANEPTR; D0:LongInt): p_TmpRas;
-474 : PROCEDURE AskFont (A1:p_RastPort; A0:p_TextAttr);
-480 : PROCEDURE AddFont (A1:p_TextFont);
-486 : PROCEDURE RemFont (A1:p_TextFont);
-492 : FUNCTION  AllocRaster (D0,D1: Long): PLANEPTR;
-498 : PROCEDURE FreeRaster (A0:PLANEPTR; D0,D1:Long);
-504 : PROCEDURE AndRectRegion (A0:p_Region; A1:p_Rectangle);
-510 : FUNCTION  OrRectRegion (A0:p_Region; A1:p_Rectangle): Boolean;
-516 : FUNCTION  NewRegion: p_Region;
-522 : FUNCTION  ClearRectRegion (A0:p_Region; A1:p_Rectangle): Boolean;
-528 : PROCEDURE ClearRegion (A0:p_Region);
-534 : PROCEDURE DisposeRegion (A0:p_Region);
-540 : PROCEDURE FreeVPortCopLists (A0:p_ViewPort);
-546 : PROCEDURE FreeCopList (A0:p_copList);
-552 : PROCEDURE ClipBlit (A0:p_RastPort; D0,D1:LongInt; A1:p_RastPort; D2,D3,D4,D5:LongInt; D6:Long);
-558 : FUNCTION  XorRectRegion (A0:p_Region; A1:Rectangle): Boolean;
-564 : PROCEDURE FreeCprList (A0:p_cprlist);
-570 : FUNCTION  GetColorMap (D0:LongInt): p_ColorMap;
-576 : PROCEDURE FreeColorMap (A0:p_ColorMap);
-582 : FUNCTION  GetRGB4 (A0:p_ColorMap; D0:LongInt): Long;
-588 : PROCEDURE ScrollVPort (A0:p_ViewPort);
-594 : FUNCTION  UCopperListInit (A0:p_UCopList; D0:LongInt): p_CopList;
-600 : PROCEDURE FreeGBuffers (A0:p_AnimOb; A1:p_RastPort; D0:LongInt);
-606 : PROCEDURE BltBitMapRastPort (A0:p_BitMap; D0,D1:LongInt; A1:p_RastPort; D2,D3,D4,D5:LongInt; D6:Long);
-612 : FUNCTION  OrRegionRegion (A0,A1:p_Region): Boolean;
-618 : FUNCTION  XorRegionRegion (A0,A1:p_Region): Boolean;
-624 : FUNCTION  AndRegionRegion (A0,A1:p_Region): Boolean;
-630 : PROCEDURE SetRGB4CM (A0:p_ColorMap; D0: LongInt; D1,D2,D3:Long);
-636 : PROCEDURE BltMaskBitMapRastPort (A0:p_BitMap; D0,D1:LongInt; A1:p_RastPort; D2,D3,D4,D5:LongInt; D6:Long; A2:PLANEPTR);
{ *** privat *** }
-654 : FUNCTION  AttemptLockLayerRom (A5:p_Layer): Boolean;

{ **** Routinen ab V36 / Kickstart Release 2.0  **** }

-660 : FUNCTION  GfxNew (D0:Long): Ptr;
-666 : PROCEDURE GfxFree (A0:Ptr);
-672 : PROCEDURE GfxAssociate (A0,A1:Ptr);
-678 : PROCEDURE BitMapScale (A0:p_BitScaleArgs);
-684 : FUNCTION  ScalerDiv (D0,D1,D2: Long): Word;
-690 : FUNCTION  TextExtent (A1:p_RastPort; A0:Str; D0:LongInt; A2:p_TextExtent): Integer;
-696 : FUNCTION  TextFit (A1:p_RastPort; A0:Str; D0:Long; A2:p_TextExtent; A3:p_TextExtent; D1,D2,D3:Long): Long;
-702 : FUNCTION  GfxLookUp (A0:Ptr): Ptr;
-708 : FUNCTION  VideoControl (A0:p_ColorMap; A1:p_TagItem): Boolean;
-714 : FUNCTION  OpenMonitor (A1:Str; D0:Long): p_MonitorSpec;
-720 : FUNCTION  CloseMonitor (A0:p_MonitorSpec): Boolean;
-726 : FUNCTION  FindDisplayInfo (D0:Long): DisplayInfoHandle;
-732 : FUNCTION  NextDisplayInfo (D0:Long): Long;
{ *** privat *** }
-756 : FUNCTION  GetDisplayInfoData (A0:DisplayInfoHandle; A1:Ptr; D0,D1,D2:Long) : Long;
-762 : PROCEDURE FontExtent (A0:p_TextFont; A1:p_TextExtent);
-768 : FUNCTION  ReadPixelLine8 (A0:p_RastPort; D0,D1,D2:Long; A2:Ptr; A1:p_RastPort): LongInt;
-774 : FUNCTION  WritePixelLine8 (A0:p_RastPort; D0,D1,D2:Long; A2:Ptr; A1:p_RastPort): LongInt;
-780 : FUNCTION  ReadPixelArray8 (A0:p_RastPort; D0,D1,D2,D3:Long; A2:Ptr; A1:p_RastPort): LongInt;
-786 : FUNCTION  WritePixelArray8 (A0:p_RastPort; D0,D1,D2,D3:Long; A2:Ptr; A1:p_RastPort): LongInt;
-792 : FUNCTION  GetVPModeID (A0:p_ViewPort): LongInt;
-798 : FUNCTION  ModeNotAvailable (D0:Long): LongInt;
-804 : FUNCTION  WeighTAMatch (A0,A1:p_TextAttr; A2:p_TagItem): Integer;
-810 : PROCEDURE EraseRect (A1:p_RastPort; D0,D1,D2,D3:LongInt);
-816 : FUNCTION  ExtendFont(A0:p_TextFont; A1:p_TagItem): Long;
-822 : PROCEDURE StripFont(A0:p_TextFont);
END;

{$endif}
