/*
**      $VER: ImagePool.h 0.4 (13.6.99)
**
**      (C) Copyright 1999 Linus McCabe.
**      All Rights Reserved.
*/

#ifndef IMAGEPOOL_IMAGEPOOL_H
#define IMAGEPOOL_IMAGEPOOL_H

#ifndef EXEC_SEMAPHORES_H
#include <exec/semaphores.h>
#endif

#ifndef INTUITION_CLASSUSR_H
#include <intuition/classusr.h>
#endif

#define ImagePool_Screen		TAG_USER|0x06660001
#define ImagePool_Precision	TAG_USER|0x06660002

//next 3

struct IP_Image 
{
	struct BitMap				*BMP;							/* The Image's BitMap 			*/
	ULONG							Width,						/* Original width, 				*/
									Height,						/*   height,					 	*/
									Depth;						/*   and depth of the image 	*/
	STRPTR						Name;							/* Full filename of the image */
	struct SignalSemaphore	Semaphore;					/* Semaphore for the Image 	*/

	struct IP_Image			*PrevImage, *NextImage;	/* Previous and next image 	*/
	Object 						*DataTypeObj;				/* The Image's datatypeobj 	*/
	struct Screen				*Screen;						/* What screen the Image is remapped for */
	ULONG							OpenCount;					/* Number of users 				*/
	long							Memory;						/* Estimated amount of mem used */
};

#endif /* IMAGEPOOL_IMAGEPOOL_H */
