1 /* $Header: /home/jcb/MahJong/newmj/RCS/vlazyfixed.h,v 12.0 2009/06/28 20:43:31 jcb Rel $
2  * vlazyfixed.h
3  * Another slight variation on the GTK+ fixed widget.
4  * It doesn't call queue_resize when children are removed, added,
5  * or move, EXCEPT when the first child is added.
6  * This has the consequence that move DOESN'T work, unles you
7  * explicitly call resize. But that's OK, since we only use this
8  * in a situation where we can physically move the child window.
9  */
10 /****************** COPYRIGHT STATEMENT **********************
11  * This file is Copyright (c) 2001 by J. C. Bradfield.       *
12  * This file may be used under the terms of the              *
13  * GNU Lesser General Public License (any version).           *
14  * The moral rights of the author are asserted.              *
15  *                                                           *
16  ***************** DISCLAIMER OF WARRANTY ********************
17  * This code is not warranted fit for any purpose. See the   *
18  * LICENCE file for further information.                     *
19  *                                                           *
20  *************************************************************/
21 
22 
23 #ifndef __VLAZY_FIXED_H__
24 #define __VLAZY_FIXED_H__
25 
26 
27 #include <gtk/gtkfixed.h>
28 #include "sysdep.h"
29 
30 #ifdef __cplusplus
31 extern "C" {
32 #endif /* __cplusplus */
33 
34 
35 #define VLAZY_FIXED(obj)                  (GTK_CHECK_CAST ((obj), vlazy_fixed_get_type(), VlazyFixed))
36 #define VLAZY_FIXED_CLASS(klass)          (GTK_CHECK_CLASS_CAST ((klass), vlazy_fixed_get_type(), VlazyFixedClass))
37 #define IS_VLAZY_FIXED(obj)               (GTK_CHECK_TYPE ((obj), vlazy_fixed_get_type()))
38 
39 typedef struct _VlazyFixed        VlazyFixed;
40 typedef struct _VlazyFixedClass   VlazyFixedClass;
41 
42 struct _VlazyFixed
43 {
44   GtkFixed fixed;
45 };
46 
47 struct _VlazyFixedClass
48 {
49   GtkFixedClass parent_class;
50 };
51 
52 
53 GtkType    vlazy_fixed_get_type          (void);
54 GtkWidget* vlazy_fixed_new               (void);
55 void       vlazy_fixed_put               (VlazyFixed       *fixed,
56                                         GtkWidget      *widget,
57                                         gint16         x,
58                                         gint16         y);
59 void       vlazy_fixed_move              (VlazyFixed       *fixed,
60                                         GtkWidget      *widget,
61                                         gint16         x,
62                                         gint16         y);
63 
64 #ifdef __cplusplus
65 }
66 #endif /* __cplusplus */
67 
68 
69 #endif /* __VLAZY_FIXED_H__ */
70