// art.h

#ifndef HEADER_ARTEMIS
#define HEADER_ARTEMIS

  /* イメージボックス型部品 */

	typedef	struct {
		unsigned int	atr ;
		FRAME			fr ;
		COLOR			clr ;
		unsigned char	atrm ;				/* ここまではハイパに同じ. */
	  /* 表示更新用関数 */
		int				(*func)();
	} IMGBOX ;	/* イメージボックス型構造体 */

	#ifndef MODULE_IMGBOX
		extern int MJ_IMGBOX;
	#endif
	int MMI_initImageBox(void);
	int IMGBOX_makePrototype(int *objId);

#ifndef MODULE_MAIN
	extern	char	*guiEgbPtr ;			/*	EGB のワークアドレス	*/
	extern	unsigned int *guiColTbl;		/*  色変換テーブルのアドレス  */

	extern  int			 IMGBOXproto;
	extern  int			 IMGBTNproto;
	extern	int			scrPixelSize;
	extern  int  paramNizimi;
	extern  int  paramKosuri;
	extern  char dirExec[];
#endif

int desktop_createNewPicture(void);

#define	SHADOW		0
#define	DARKGRAY	9
#define	GRAY		6
#define	LIGHT		14
#define	WHITE		15
#define	BLACK		8

#define	X		lupx
#define	Y		lupy
#define	X2		rdwx
#define	Y2		rdwy
#define	WID		rdwx
#define	HT		rdwy

#define	OBJHYP(objId)			(*(HYPER *)TL_getObjectPtr(objId)->data)
#define	OBJDATA(type,objId)		(*(type *)TL_getObjectPtr(objId)->data)

BOOL art_IntersectRect(FRAME* frDest, FRAME* fr1, FRAME* fr2);
	// (x,y,wid,ht) で表された FRAME の intersect を得る

#define SWAP_INT(a,b)  { int t; t=(a); (a)=(b); (b)=t; }

typedef unsigned int uint;
typedef unsigned short ushort;

#endif HEADER_ARTEMIS
