#ifndef __INC_POS_PLIB_SPLAYER_H
#define __INC_POS_PLIB_SPLAYER_H
/*******************************************************************
 Includes Release 24
 (C) Copyright 1995-1997 proDAD
     All Rights Reserved

 $AUT Holger Burkarth
 $DAT >>SpLayer.h<<   26 Jan 1997    18:59:15 - (C) ProDAD
*******************************************************************/
#include <pExec/Library.h>

extern struct pOS_LayerBase *gb_LayerBase;

/*----------------------------------
-----------------------------------*/
struct pOS_LayerLibFunction
{
  VOID (*pOS_EraseLayerRect_func)(_R_LB pOS_LayerBase*,_R_A0 pOS_Layer*,_R_A1 const pOS_Rectangle*);
  UBYTE _d60[8];

/** 60 **/
  BOOL (*pOS_GetVisibleRect_func)(_R_LB pOS_LayerBase*,_R_A0 const pOS_Layer*,_R_A1 pOS_Rectangle*);
  UBYTE _d59[8];
  BOOL (*pOS_LockClipLayer_func)(_R_LB pOS_LayerBase*,_R_A0 pOS_Layer*,_R_A1 pOS_LayerClip*,_R_A2 const pOS_List*,_R_D0 ULONG);
  UBYTE _d58[8];
  VOID (*pOS_UnlockClipLayer_func)(_R_LB pOS_LayerBase*,_R_A0 pOS_Layer*,_R_A1 pOS_LayerClip*);
  UBYTE _d57[8];
  VOID (*pOS_AddLayerInfoHook_func)(_R_LB pOS_LayerBase*,_R_A0 pOS_LayerInfo*,_R_A1 pOS_Callback*,_R_D0 ULONG);
  UBYTE _d56[8];
  VOID (*pOS_RemLayerInfoHook_func)(_R_LB pOS_LayerBase*,_R_A0 pOS_LayerInfo*,_R_A1 pOS_Callback*,_R_D0 ULONG);
  UBYTE _d55[8];
  VOID (*pOS_ConstructLayerInfo_func)(_R_LB pOS_LayerBase*,_R_A0 pOS_LayerInfo*);
  UBYTE _d54[8];
  VOID (*pOS_DestructLayerInfo_func)(_R_LB pOS_LayerBase*,_R_A0 pOS_LayerInfo*);
  UBYTE _d53[8];
  __ARID__ pOS_LayerInfo* (*pOS_CreateLayerInfo_func)(_R_LB pOS_LayerBase*);
  UBYTE _d52[8];
  VOID (*pOS_DeleteLayerInfo_func)(_R_LB pOS_LayerBase*,_R_A0 __ARID__ pOS_LayerInfo*);
  UBYTE _d51[8];
  VOID (*pOS_ConstructLayer_func)(_R_LB pOS_LayerBase*,_R_A0 pOS_Layer*);
  UBYTE _d50[8];

/** 50 **/
  VOID (*pOS_DestructLayer_func)(_R_LB pOS_LayerBase*,_R_A0 pOS_Layer*);
  UBYTE _d49[8];
  __ARID__ pOS_Layer* (*pOS_CreateBehindLayer_func)(_R_LB pOS_LayerBase*,_R_A0 pOS_LayerInfo*,
            _R_A1 pOS_GfxMap*,_R_A2 const pOS_Rectangle*,_R_D0 ULONG,_R_A3 pOS_GfxMap*);
  UBYTE _d48[8];
  __ARID__ pOS_Layer* (*pOS_CreateUpfrontLayer_func)(_R_LB pOS_LayerBase*,_R_A0 pOS_LayerInfo*,
            _R_A1 pOS_GfxMap*,_R_A2 const pOS_Rectangle*,_R_D0 ULONG,_R_A3 pOS_GfxMap*);
  UBYTE _d47[8];
  BOOL (*pOS_DeleteLayer_func)(_R_LB pOS_LayerBase*,_R_A0 __ARID__ pOS_Layer*);
  UBYTE _d46[8];
  VOID (*pOS_LockLayer_func)(_R_LB pOS_LayerBase*,_R_A0 pOS_Layer*);
  UBYTE _d45[8];
  VOID (*pOS_UnlockLayer_func)(_R_LB pOS_LayerBase*,_R_A0 pOS_Layer*);
  UBYTE _d44[8];
  VOID (*pOS_LockLayerInfo_func)(_R_LB pOS_LayerBase*,_R_A0 pOS_LayerInfo*);
  UBYTE _d43[8];
  VOID (*pOS_UnlockLayerInfo_func)(_R_LB pOS_LayerBase*,_R_A0 pOS_LayerInfo*);
  UBYTE _d42[8];
  BOOL (*pOS_DamageLayerInfo_func)(_R_LB pOS_LayerBase*,_R_A0 pOS_LayerInfo*,
            _R_A1 const pOS_Rectangle*,_R_A2 const pOS_Layer*,_R_A3 const pOS_Layer*);
  UBYTE _d41[8];
  BOOL (*pOS_DamageLayerInfoList_func)(_R_LB pOS_LayerBase*,_R_A0 pOS_LayerInfo*,
            _R_A1 const pOS_List*,_R_A2 const pOS_Layer*,_R_A3 const pOS_Layer*);
  UBYTE _d40[8];

/** 40 **/
  BOOL (*pOS_MoveSizeLayer_func)(_R_LB pOS_LayerBase*,_R_A0 pOS_Layer*,_R_D0 SLONG,_R_D1 SLONG,_R_D2 SLONG,_R_D3 SLONG);
  UBYTE _d39[8];
  pOS_Layer* (*pOS_WhichLayer_func)(_R_LB pOS_LayerBase*,_R_A0 pOS_LayerInfo*,_R_D0 SLONG x,_R_D1 SLONG y);
  UBYTE _d38[8];
  VOID (*pOS_LockLayers_func)(_R_LB pOS_LayerBase*,_R_A0 pOS_LayerInfo*);
  UBYTE _d37[8];
  VOID (*pOS_UnlockLayers_func)(_R_LB pOS_LayerBase*,_R_A0 pOS_LayerInfo*);
  UBYTE _d36[8];
  BOOL (*pOS_BehindLayer_func)(_R_LB pOS_LayerBase*,_R_A0 pOS_Layer*);
  UBYTE _d35[8];
  BOOL (*pOS_UpfrontLayer_func)(_R_LB pOS_LayerBase*,_R_A0 pOS_Layer*);
  UBYTE _d34[8];
  VOID (*pOS_AddLayerHook_func)(_R_LB pOS_LayerBase*,_R_A0 pOS_Layer*,_R_A1 pOS_Callback*,_R_D0 ULONG);
  UBYTE _d33[8];
  VOID (*pOS_RemLayerHook_func)(_R_LB pOS_LayerBase*,_R_A0 pOS_Layer*,_R_A1 pOS_Callback*);
  UBYTE _d32[8];
  BOOL (*pOS_BeginLayerUpdate_func)(_R_LB pOS_LayerBase*,_R_A0 pOS_Layer*,_R_A1 const pOS_List*);
  UBYTE _d31[8];
  BOOL (*pOS_EndLayerUpdate_func)(_R_LB pOS_LayerBase*,_R_A0 pOS_Layer*,_R_D0 ULONG);
  UBYTE _d30[8];


/** 30 **/
  BOOL (*pOS_CreateViClipListFrom_func)(_R_LB pOS_LayerBase*,_R_A0 pOS_LayerInfo*,_R_A1 const pOS_Layer*,
            _R_D0 BOOL,_R_A2 const pOS_Rectangle*);
  UBYTE _d29[8];
  VOID (*pOS_DeleteViClipList_func)(_R_LB pOS_LayerBase*,_R_A0 pOS_LayerInfo*,_R_A1 const pOS_Layer*,_R_D0 BOOL);
  UBYTE _d28[8];
  pOS_Region* (*pOS_InstallClipRegion_func)(_R_LB pOS_LayerBase*,_R_A0 pOS_Layer*,_R_A1 const pOS_Region*);
  UBYTE _d27[8];
  __ARID__ pOS_Layer* (*pOS_CreateChildLayer_func)(_R_LB pOS_LayerBase*,_R_A0 pOS_GfxMap*,
            _R_A1 const pOS_Rectangle*,_R_D0 ULONG,_R_A2 pOS_Layer*,_R_A3 pOS_GfxMap*);
  UBYTE _d26[8];
  BOOL (*pOS_MoveLayerBehindOf_func)(_R_LB pOS_LayerBase*,_R_A0 pOS_Layer*,_R_A1 const pOS_Layer*);
  UBYTE _d25[8];
  VOID (*pOS_ScrollLayer_func)(_R_LB pOS_LayerBase*,_R_A0 pOS_Layer*,_R_D0 SLONG,_R_D1 SLONG);
  UBYTE _d24[8];
  VOID (*pOS_CopySupToLayer_func)(_R_LB pOS_LayerBase*,_R_A0 pOS_Layer*);
  UBYTE _d23[8];
  VOID (*pOS_CopyLayerToSup_func)(_R_LB pOS_LayerBase*,_R_A0 pOS_Layer*);
  UBYTE _d22[8];
  BOOL (*pOS_LockHideLayer_func)(_R_LB pOS_LayerBase*,_R_A0 pOS_Layer*,_R_A1 pOS_LayerHide*,_R_D0 ULONG);
  UBYTE _d21[8];
  VOID (*pOS_UnlockHideLayer_func)(_R_LB pOS_LayerBase*,_R_A0 pOS_Layer*,_R_A1 pOS_LayerHide*);
  UBYTE _d20[8];

/** 20 **/
  BOOL (*pOS_CheckVisibleRect_func)(_R_LB pOS_LayerBase*,_R_A0 const pOS_Layer*,_R_A1 const pOS_Rectangle*);
  UBYTE _d19[8];
  VOID (*pOS_ConstructRegion_func)(_R_LB pOS_LayerBase*,_R_A0 pOS_Region*);
  UBYTE _d18[8];
  VOID (*pOS_DestructRegion_func)(_R_LB pOS_LayerBase*,_R_A0 pOS_Region*);
  UBYTE _d17[8];
  __ARID__ pOS_Region* (*pOS_CreateRegion_func)(_R_LB pOS_LayerBase*);
  UBYTE _d16[8];
  VOID (*pOS_DeleteRegion_func)(_R_LB pOS_LayerBase*,_R_A0 __ARID__ pOS_Region*);
  UBYTE _d15[8];
  BOOL (*pOS_OrRectRegionILst_func)(_R_LB pOS_LayerBase*,_R_A0 pOS_Region*,
               _R_A1 const pOS_Rectangle*,_R_A2 pOS_List*);
  UBYTE _d14[8];
  BOOL (*pOS_OrRectRegion_func)(_R_LB pOS_LayerBase*,_R_A0 pOS_Region*,_R_A1 const pOS_Rectangle*);
  UBYTE _d13[8];
  BOOL (*pOS_OrRegionRegion_func)(_R_LB pOS_LayerBase*,_R_A0 const pOS_Region*,_R_A1 pOS_Region*);
  UBYTE _d12[8];
  BOOL (*pOS_AndRectRegion_func)(_R_LB pOS_LayerBase*,_R_A0 pOS_Region*,_R_A1 const pOS_Rectangle*);
  UBYTE _d11[8];
  BOOL (*pOS_AndRegionRegion_func)(_R_LB pOS_LayerBase*,_R_A0 const pOS_Region*,_R_A1 pOS_Region*);
  UBYTE _d10[8];

/** 10 **/
  BOOL (*pOS_NAndRectRegion_func)(_R_LB pOS_LayerBase*,_R_A0 pOS_Region*,_R_A1 const pOS_Rectangle*);
  UBYTE _d9[8];
  VOID (*pOS_MoveRegion_func)(_R_LB pOS_LayerBase*,_R_A0 pOS_Region*,_R_D0 SLONG,_R_D1 SLONG);
  UBYTE _d8[8];
  VOID (*pOS_MoveRegionLst_func)(_R_LB pOS_LayerBase*,_R_A0 pOS_List*,_R_D0 SLONG,_R_D1 SLONG);
  UBYTE _d7[8];
  BOOL (*pOS_NAndRegionRegion_func)(_R_LB pOS_LayerBase*,_R_A0 const pOS_Region*,_R_A1 pOS_Region*);
  UBYTE _d6[8];
  BOOL (*pOS_XOrRectRegion_func)(_R_LB pOS_LayerBase*,_R_A0 pOS_Region*,_R_A1 const pOS_Rectangle*);
  UBYTE _d5[8];
  VOID (*pOS_ClearRegion_func)(_R_LB pOS_LayerBase*,_R_A0 pOS_Region*,_R_A1 pOS_List*);
  UBYTE _d4[8];
  BOOL (*pOS_AndRegionRegionLst_func)(_R_LB pOS_LayerBase*,_R_A0 const pOS_List*,
               _R_A1 const pOS_List*,_R_A2 pOS_List*,_R_A3 pOS_MemPool*);
  UBYTE _d3[8];
  VOID (*pOS_NewSizeRegion_func)(_R_LB pOS_LayerBase*,_R_A0 pOS_Region*);
  UBYTE _d2[8];
  VOID (*pOS_SortRegionLst_func)(_R_LB pOS_LayerBase*,_R_A0 pOS_List*,_R_D0 SLONG,_R_D1 SLONG);
  UBYTE _d1[8];
  BOOL (*pOS_CloneRegion_func)(_R_LB pOS_LayerBase*,_R_A0 const pOS_List*,_R_A1 pOS_Region*);
  UBYTE _d0[8];

  pOS_StdLibraryFunction StdLib;
}; /* => Base */


#endif
