#ifndef GIMMELIB_WINDOW_H
#define GIMMELIB_WINDOW_H

#ifdef I_AM_WINDOW
#define GNW_DETAIL_PEN	    -1		/* use default */
#define GNW_BLOCK_PEN	    -1		/* use default */
#define GNW_MIN_WIDTH	    30
#define GNW_MIN_HEIGHT	    20
#endif I_AM_WINDOW


/* these IDCMP flags can be or'd into the window types below */
#define IDCMP_SYS_GADG	(CLOSEWINDOW | NEWSIZE)
#define IDCMP_MOUSE	(MOUSEMOVE)
#define IDCMP_GADGETS	(GADGETUP | GADGETDOWN)

/* mutually exclusive types of window IDCMP */
#define IDCMP_SIMPLE	(IDCMP_SYS_GADG | ACTIVEWINDOW | REFRESHWINDOW)
#define IDCMP_SMART	(IDCMP_SIMPLE)
#define IDCMP_VSMART	((IDCMP_SMART & ~REFRESHWINDOW))
#define IDCMP_MENUWIN	(IDCMP_VSMART | MENUPICK)


/* these flags can be or'd into the window types below */
#define FLAGS_SYS_GADG	(WINDOWCLOSE | WINDOWDRAG | WINDOWDEPTH | WINDOWSIZING)
#define FLAGS_MOUSE	(REPORTMOUSE)
#define FLAGS_GADGETS	(SIZEBRIGHT | SIZEBBOTTOM)

/* mutually exclusive types of window flags */
#define FLAGS_SIMPLE	(FLAGS_SYS_GADG | SIMPLE_REFRESH | RMBTRAP)
#define FLAGS_SMART	((FLAGS_SIMPLE & ~REFRESHBITS) | SMART_REFRESH)
#define FLAGS_VSMART	(FLAGS_SMART | NOCAREREFRESH)
#define FLAGS_MENUWIN	((FLAGS_VSMART & ~RMBTRAP))


/* defaults use by some gimme Window/Screen routines */
#define IDCMP_DEFAULT	((IDCMP_MENUWIN & ~NEWSIZE) | MENUPICK)
#define FLAGS_DEFAULT	((FLAGS_MENUWIN & ~FLAGS_SYS_GADG) | WINDOWCLOSE \
			    | BACKDROP | BORDERLESS | ACTIVATE)

#endif !GIMMELIB_WINDOW_H
