1 /***************************************************************************
2  *            brasero-layout-object.h
3  *
4  *  dim oct 15 17:15:58 2006
5  *  Copyright  2006  Philippe Rouquier
6  *  bonfire-app@wanadoo.fr
7  ***************************************************************************/
8 
9 /*
10  *  Brasero is free software; you can redistribute it and/or modify
11  *  it under the terms of the GNU General Public License as published by
12  *  the Free Software Foundation; either version 2 of the License, or
13  *  (at your option) any later version.
14  *
15  *  Brasero is distributed in the hope that it will be useful,
16  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
17  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18  *  GNU Library General Public License for more details.
19  *
20  *  You should have received a copy of the GNU General Public License
21  *  along with this program; if not, write to:
22  * 	The Free Software Foundation, Inc.,
23  * 	51 Franklin Street, Fifth Floor
24  * 	Boston, MA  02110-1301, USA.
25  */
26 
27 #ifndef BRASERO_LAYOUT_OBJECT_H
28 #define BRASERO_LAYOUT_OBJECT_H
29 
30 #include <glib.h>
31 #include <glib-object.h>
32 
33 #include "brasero-layout.h"
34 
35 G_BEGIN_DECLS
36 
37 #define BRASERO_TYPE_LAYOUT_OBJECT         (brasero_layout_object_get_type ())
38 #define BRASERO_LAYOUT_OBJECT(o)           (G_TYPE_CHECK_INSTANCE_CAST ((o), BRASERO_TYPE_LAYOUT_OBJECT, BraseroLayoutObject))
39 #define BRASERO_IS_LAYOUT_OBJECT(o)        (G_TYPE_CHECK_INSTANCE_TYPE ((o), BRASERO_TYPE_LAYOUT_OBJECT))
40 #define BRASERO_LAYOUT_OBJECT_GET_IFACE(o) (G_TYPE_INSTANCE_GET_INTERFACE ((o), BRASERO_TYPE_LAYOUT_OBJECT, BraseroLayoutObjectIFace))
41 
42 typedef struct _BraseroLayoutObject BraseroLayoutObject;
43 typedef struct _BraseroLayoutIFace BraseroLayoutObjectIFace;
44 
45 struct _BraseroLayoutIFace {
46 	GTypeInterface g_iface;
47 
48 	void	(*get_proportion)	(BraseroLayoutObject *self,
49 					 gint *header,
50 					 gint *center,
51 					 gint *footer);
52 	void	(*set_context)		(BraseroLayoutObject *self,
53 					 BraseroLayoutType type);
54 };
55 
56 GType brasero_layout_object_get_type (void);
57 
58 void brasero_layout_object_get_proportion (BraseroLayoutObject *self,
59 					   gint *header,
60 					   gint *center,
61 					   gint *footer);
62 
63 void brasero_layout_object_set_context (BraseroLayoutObject *self,
64 					BraseroLayoutType type);
65 
66 G_END_DECLS
67 
68 #endif /* BRASERO_LAYOUT_OBJECT_H */
69