1 /*	Public domain	*/
2 
3 #ifndef _AGAR_WIDGET_FIXED_H_
4 #define _AGAR_WIDGET_FIXED_H_
5 
6 #include <agar/gui/widget.h>
7 
8 #include <agar/gui/begin.h>
9 
10 typedef struct ag_fixed {
11 	struct ag_widget wid;
12 	Uint flags;
13 #define AG_FIXED_HFILL		0x01	/* Expand to fill available width */
14 #define AG_FIXED_VFILL		0x02	/* Expand to fill available height */
15 #define AG_FIXED_NO_UPDATE	0x04	/* Don't call WINDOW_UPDATE() */
16 #define AG_FIXED_FILLBG		0x08	/* Fill background */
17 #define AG_FIXED_BOX		0x10	/* Draw a box */
18 #define AG_FIXED_INVBOX		0x20	/* Draw a box */
19 #define AG_FIXED_FRAME		0x40	/* Draw a frame */
20 #define AG_FIXED_EXPAND		(AG_FIXED_HFILL|AG_FIXED_VFILL)
21 	int wPre, hPre;			/* User geometry */
22 } AG_Fixed;
23 
24 __BEGIN_DECLS
25 extern AG_WidgetClass agFixedClass;
26 
27 AG_Fixed *AG_FixedNew(void *, Uint);
28 void	  AG_FixedSizeHint(AG_Fixed *, int, int);
29 #define	  AG_FixedPrescale AG_FixedSizeHint
30 
31 void	  AG_FixedDrawBg(void *);
32 void	  AG_FixedDrawBox(void *);
33 void	  AG_FixedDrawInvBox(void *);
34 void	  AG_FixedDrawFrame(void *);
35 
36 void	  AG_FixedPut(AG_Fixed *, void *, int, int);
37 void	  AG_FixedDel(AG_Fixed *, void *);
38 void	  AG_FixedSize(AG_Fixed *, void *, int, int);
39 void	  AG_FixedMove(AG_Fixed *, void *, int, int);
40 __END_DECLS
41 
42 #include <agar/gui/close.h>
43 #endif /* _AGAR_WIDGET_FIXED_H_ */
44