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

 $AUT Holger Burkarth
 $DAT >>MonFIB.h<<   25 Jan 1997    09:42:25 - (C) ProDAD
*******************************************************************/
#ifndef __INC_POS_PLAYER_RECT_H
#include <pLayer/Rect.h>
#endif
#ifndef __INC_POS_PGFX_MODEID_H
#include <pGFX/ModeID.h>
#endif
#ifndef __INC_POS_PGFX_GFXBASE_H
#include <pGFX/GFXBase.h>
#endif

/*----------------------------------
-----------------------------------*/
struct pOS_MonInfoBlock
{
  ULONG            mfib_Key[4];       /* private for the handler */

  CHAR             mfib_Name[pOS_MonFileName_MAX];
  UBYTE            mfib_Type;         /* (enum pOS_MonitorInfoType) */
  UBYTE            mfib_Pad0;

  struct pOS_Point mfib_ViewPosition;
  struct pOS_Point mfib_DefaultViewPosition;
  struct pOS_Point mfib_MinPixelResolution;            /* z.B. 320x200 */
  struct pOS_Point mfib_MaxPixelResolution;            /* z.B. 32767x32767 */
  struct pOS_Point mfib_PixelResolution[OSCANTYP_MAX]; /* z.B. 640x512 */

  UBYTE            mfib_RedBits;
  UBYTE            mfib_GreenBits;
  UBYTE            mfib_BlueBits;
  UBYTE            mfib_AlphaBits;

  ULONG            mfib_Colors[24];       /* NULL => End of Array */

  UBYTE            mfib_DefaultColorIdx;  /* Default-Index at mfib_Colors[] */
  UBYTE            mfib_XAspect;
  UBYTE            mfib_YAspect;
  UBYTE            mfib_Pad1;
  ULONG            mfib_GfxMapType;
  ULONG            mfib_ColorMapType;

  ULONG            mfib_PixelFrequence;   /* PixelFreq. in Picohertz */
  ULONG            mfib_FrameFrequence;   /* VBlanks per Sec. * 0x10000 */
  ULONG            mfib_LineFrequence;    /* Lines per Sec */

  UWORD            mfib_SpriteNum;        /* Number of Sprites */
  struct pOS_Point mfib_SpriteResolution; /* */
  ULONG            mfib_SpcFlags;         /* (enum pOS_MonitorInfoSpFlags) */

  UBYTE  mfib_Reserved[32];
};




enum pOS_MonitorInfoType
{
  MONINTYP_Unknown = 0,
  MONINTYP_Dir     = 0x01,      /* Bit 0 */
  MONINTYP_File    = 0x02,      /* Bit 1 */

  MONINTYP_FDMask  = 0x03,      /* MONINTYP_File | MONINTYP_Dir */

  MONINTYP_Node    = 0x10       /* only a mark */
};



enum pOS_MonitorInfoSpFlags /** mfib_SpcFlags **/
{
  MONINSPF_HDrag = 0x0001,      /* horiz. drag able */
  MONINSPF_VDrag = 0x0002       /* vert. drag able */
};




#endif
