#ifndef LIBRARIES_IMAGE_H
#define LIBRARIES_IMAGE_H

#ifndef GRAPHICS_RASTPORT_H
#include <graphics/rastport.h>
#endif
#ifndef UTILITY_TAGITEM_H
#include <utility/tagitem.h>
#endif
#ifndef GRAPHICS_VIEW_H
#include <graphics/view.h>
#endif

struct ChunkyImg
{
  UWORD ci_Width;        /* Szerokoōź */
  UWORD ci_Height;       /* Wysokoōź */
  UWORD ci_NumColors;    /* Liczba kolorów <= 256 */
  UWORD ci_Flags;        /* Flagi, na razie NULL */
  UBYTE *ci_Palette;     /* Paleta w formacie R0G0B0R1G1B1R2G2B2....RnGnBn n=liczba kolorów - 1 */
  UBYTE *ci_ChunkyData;  /* ChunkyImage w formacie Szerokoōź*Wysokoōź */
};

/* Tags definitions for ChunkyToBitMapA() */
#define CTBM_Dummy      (TAG_USER)
#define CTBM_Precision  (CTBM_Dummy + 0x01)  /* Precyzja doboru kolorów */ 
/* Arg for this tag is the same like for graphics.library/ObtainBestPenA{} */
#define PREC_EXACT PRECISION_EXACT
#define PREC_IMAGE PRECISION_IMAGE
#define PREC_ICON PRECISION_ICON
#define PREC_GUI PRECISION_GUI

/* Tags definitions for DrawTextA() */
#define DT_Dummy    (TAG_USER + 1)
#define DT_FontA    (DT_Dummy + 0x01)  /* Czcionka nr. 1 */ 
#define DT_FontB    (DT_Dummy + 0x02)  /* Czcionka nr. 2 */
#define DT_Texts    (DT_Dummy + 0x03)  /* Tekst do wyōwietlenia */
#define DT_Top      (DT_Dummy + 0x04)  /* Górna krawėdś */
#define DT_Left     (DT_Dummy + 0x05)  /* Lewa krawėdś */
#define DT_Width    (DT_Dummy + 0x06)  /* Szerokoōź */
#define DT_Height   (DT_Dummy + 0x07)  /* Wysokoōź */
#define DT_RastPort (DT_Dummy + 0x08)  /* RastPort */

/* Tags definitions for Draw3DBoxA() */
#define DBA_Dummy       (TAG_USER + 2)
#define DBA_PosX        (DBA_Dummy + 0x01)  /* Pozycja X lewego górnego rogu */
#define DBA_PosY        (DBA_Dummy + 0x02)  /* Pozycja Y lewego górnego rogu */
#define DBA_Width       (DBA_Dummy + 0x03)  /* Szerokoōź */
#define DBA_Height      (DBA_Dummy + 0x04)  /* Wysokoōź */
#define DBA_BrightEdge  (DBA_Dummy + 0x05)  /* Numer koloru jasnej krawėdzi */
#define DBA_DarkEdge    (DBA_Dummy + 0x06)  /* Numer koloru ciemnej krawėdzi */
#define DBA_Align       (DBA_Dummy + 0x07)  /* Rodzaj wyrównania tekstu */
#define DBA_Text        (DBA_Dummy + 0x08)  /* Tekst */

/* Args for tag DBA_Align */
#define ALIGN_LEFT   1  /* Wyrównanie tekstu do lewej strony */
#define ALIGN_CENTER 2  /* Wycentrowanie tekstu */


/* Tags definitions for ScaleBitMapA() */
#define SBA_Dummy       (TAG_USER + 3)
#define SBA_SrcX        (SBA_Dummy + 0x01)  /* Pozycja X lewego górnego rogu śródīa */
#define SBA_SrcY        (SBA_Dummy + 0x02)  /* Pozycja Y lewego górnego rogu śródīa */
#define SBA_SrcWidth    (SBA_Dummy + 0x03)  /* Szerokoōź śródīa */
#define SBA_SrcHeight   (SBA_Dummy + 0x04)  /* Wysokoōź śródīa */
#define SBA_DestWidth   (SBA_Dummy + 0x05)  /* Szerokoōc przeznaczenia */
#define SBA_DestHeight  (SBA_Dummy + 0x06)  /* Wysokoōź przeznaczenia */

/* Tags definitions for ChunkyToHAMA() */
#define CTBH_Dummy      (TAG_USER)
#define CTBH_HamMode  	(CTBM_Dummy + 0x01)  /* Tryb HAM */ 

/* Args for tag CTBH_HamMode */
#define MODE_HAM6   0
#define MODE_HAM8		1

#endif /* LIBRARIES_IMAGE_H */
