#ifndef GRAPHICS_PICTURES_H
#define GRAPHICS_PICTURES_H TRUE

/*
**  $VER: pictures.h V0.9B
**
**  Picture Definitions.
**
**  (C) Copyright 1996-1997 DreamWorld Productions.
**      All Rights Reserved
*/

#ifndef DPKERNEL_H
#include <dpkernel/dpkernel.h>
#endif

/**************************************************************************/

#define PALETTE ((ID_PALETTE<<24)|(01<<16))

/***************************************************************************
** The picture structure for loading and depacking of pictures
*/

#define PICVERSION   1
#define TAGS_PICTURE ((ID_SPCTAGS<<16)|ID_PICTURE)

struct Picture {
  struct Head Head;      /* [00] Standard header structure */
  struct Bitmap *Bitmap; /* [12] Bitmap details */
  APTR   Header;         /* [16] Information header */
  LONG   Options;        /* [20] IMG_VIDEOMEM, IMG_REMAP ... */
  LONG   *Palette;       /* [24] Original palette */
  APTR   Source;         /* [28] Filename for this picture, if any */
  WORD   ScrMode;        /* [32] Intended screen mode for picture */
  WORD   ScrHeight;      /* [34] Screen height */
  WORD   ScrWidth;       /* [36] Screen width */

  /*** Private flags below ***/

  BYTE prvAFlags;      /* Private */
  BYTE prvPad;         /* Private */
};

/*** Picture Tags ***/

#define PCA_Bitmap     (TAPTR|12)
#define PCA_Header     (TAPTR|16)
#define PCA_Options    (TLONG|20)
#define PCA_Palette    (TAPTR|24)
#define PCA_Source     (TAPTR|28)
#define PCA_ScrMode    (TWORD|32)
#define PCA_ScrHeight  (TWORD|34)
#define PCA_ScrWidth   (TWORD|36)
#define PCA_BitmapTags (TSTEPIN|12)

/*** Image Flags ***/

#define IMG_RESIZEX     0x00000001   /* Allow resize on X axis */
#define IMG_            0x00000002   /* */
#define IMG_REMAP       0x00000004   /* Allow remapping */
#define IMG_RESIZEY     0x00000008   /* Allow resize on Y axis */
#define IMG_INITIALISED 0x80000000   /* This structure has been initialised */
#define IMG_RESIZE      (IMG_RESIZEX|IMG_RESIZEY)

#endif /* GRAPHICS_PICTURES_H */
