#ifndef GRAPHICS_VIEW_H
#define GRAPHICS_VIEW_H

/*******************************************************************
 pOS / Amiga adapt
*******************************************************************/

#ifndef EXEC_TYPES_H
#include <exec/types.h>
#endif
#ifndef __INC_POS_PGFX_VIEW_H
#include <pGFX/View.h>
#endif
#ifndef __INC_POS_PGFX_COLOR_H
#include <pGFX/Color.h>
#endif
#ifndef EXEC_SEMAPHORES_H
#include <exec/semaphores.h>
#endif
#ifndef GRAPHICS_GFX_H
#include <graphics/gfx.h>
#endif
#ifndef GRAPHICS_DISPLAYINFO_H
#include <graphics/displayinfo.h>
#endif
#ifndef HARDWARE_CUSTOM_H
/*#include <hardware/custom.h> */
#endif

struct ViewPort
{
  struct Node         vp_Node;
  struct pOS_MonFile *vp_MonFile;
  UBYTE               vp_Reserved[32];
};


struct View
{
  struct Node v_Node;

  struct List v_VPList;
  SWORD      DxOffset;
  SWORD      DyOffset;
  ULONG      v_Flags;

  UBYTE      v_Reserved[64];
};


struct RasInfo
{
  struct RasInfo *Next;
  struct BitMap  *BitMap;
  SLONG           RxOffset;
  SLONG           RyOffset;
};

struct ColorMap
{
  struct pOS_GfxLibrary  *cm_Base;
  ULONG                   cm_UserData[2];
  UWORD                   cm_Type;
  UWORD                   cm_Pad;
  ULONG                   cm_Flags;
  ULONG                   Count;
  struct pOS_ColorMapEx  *cm_Ex;
  UBYTE                   cm_Reserved[32];
};



#define OBP_Precision _PxA_IGNORE
#define OBP_FailIfBad _PxA_IGNORE


#ifdef __IGNORE_NOT_SUPPORTED__

 #define ECS_SPECIFIC

 #define GENLOCK_VIDEO   0x0002
 #define LACE            0x0004
 #define DOUBLESCAN      0x0008
 #define SUPERHIRES      0x0020
 #define PFBA            0x0040
 #define EXTRA_HALFBRITE 0x0080
 #define GENLOCK_AUDIO   0x0100
 #define DUALPF          0x0400
 #define HAM             0x0800
 #define EXTENDED_MODE   0x1000
 #define VP_HIDE         0x2000
 #define SPRITES         0x4000
 #define HIRES           0x8000

/*\
*** ACHTUNG: Nicht kompatibel
\*/
 #define PENB_EXCLUSIVE   0
 #define PENB_NO_SETCOLOR 1
 #define PENF_EXCLUSIVE   (1l<<PENB_EXCLUSIVE)
 #define PENF_NO_SETCOLOR (1l<<PENB_NO_SETCOLOR)
 #define PEN_EXCLUSIVE    PENF_EXCLUSIVE
 #define PEN_NO_SETCOLOR  PENF_NO_SETCOLOR

 #define PRECISION_EXACT 0
 #define PRECISION_IMAGE 0
 #define PRECISION_ICON  0
 #define PRECISION_GUI   0

#endif /** __IGNORE_NOT_SUPPORTED__ **/





#endif  /* GRAPHICS_VIEW_H */
