]> git.saurik.com Git - wxWidgets.git/blob - include/wx/gtk/win_gtk.h
b873dffa5df6f7e55b4071b656ba44b4e31b530b
[wxWidgets.git] / include / wx / gtk / win_gtk.h
1 /* ///////////////////////////////////////////////////////////////////////////
2 // Name: win_gtk.h
3 // Purpose: wxWidgets's GTK base widget = GtkPizza
4 // Author: Robert Roebling
5 // Id: $Id$
6 // Copyright: (c) 1998 Robert Roebling
7 // Licence: wxWindows licence
8 /////////////////////////////////////////////////////////////////////////// */
9
10
11 #ifndef __GTK_PIZZA_H__
12 #define __GTK_PIZZA_H__
13
14 #ifdef __cplusplus
15 extern "C" {
16 #endif /* __cplusplus */
17
18 #include <gtk/gtkcontainer.h>
19
20 #include "wx/dlimpexp.h"
21
22 #define GTK_PIZZA(obj) GTK_CHECK_CAST (obj, gtk_pizza_get_type (), GtkPizza)
23 #define GTK_IS_PIZZA(obj) GTK_CHECK_TYPE (obj, gtk_pizza_get_type ())
24
25 /* Shadow types */
26 typedef enum
27 {
28 GTK_MYSHADOW_NONE,
29 GTK_MYSHADOW_THIN,
30 GTK_MYSHADOW_IN,
31 GTK_MYSHADOW_OUT
32 } GtkMyShadowType;
33
34 typedef struct _GtkPizzaChild GtkPizzaChild;
35 typedef struct _GtkPizza GtkPizza;
36 typedef struct _GtkPizzaClass GtkPizzaClass;
37
38 struct _GtkPizzaChild
39 {
40 GtkWidget *widget;
41 gint x;
42 gint y;
43 gint width;
44 gint height;
45 };
46
47 struct _GtkPizza
48 {
49 GtkContainer container;
50 GList *children;
51 GtkMyShadowType shadow_type;
52
53 guint m_width;
54 guint m_height;
55
56 guint m_xoffset;
57 guint m_yoffset;
58
59 GdkWindow *bin_window;
60
61 gboolean external_expose;
62 };
63
64 struct _GtkPizzaClass
65 {
66 GtkContainerClass parent_class;
67
68 void (*set_scroll_adjustments) (GtkPizza *pizza,
69 GtkAdjustment *hadjustment,
70 GtkAdjustment *vadjustment);
71 };
72
73 WXDLLIMPEXP_CORE
74 GtkType gtk_pizza_get_type (void);
75 WXDLLIMPEXP_CORE
76 GtkWidget* gtk_pizza_new (void);
77
78 /* accessors */
79
80 WXDLLIMPEXP_CORE
81 gint gtk_pizza_get_width (GtkPizza *pizza);
82 WXDLLIMPEXP_CORE
83 gint gtk_pizza_get_height (GtkPizza *pizza);
84 WXDLLIMPEXP_CORE
85 gint gtk_pizza_get_xoffset (GtkPizza *pizza);
86 WXDLLIMPEXP_CORE
87 gint gtk_pizza_get_yoffset (GtkPizza *pizza);
88 WXDLLIMPEXP_CORE
89 void gtk_pizza_set_xoffset (GtkPizza *pizza, gint xoffset);
90 WXDLLIMPEXP_CORE
91 void gtk_pizza_set_yoffset (GtkPizza *pizza, gint yoffset);
92
93
94 WXDLLIMPEXP_CORE
95 void gtk_pizza_set_shadow_type (GtkPizza *pizza,
96 GtkMyShadowType type);
97
98 WXDLLIMPEXP_CORE
99 void gtk_pizza_set_external (GtkPizza *pizza,
100 gboolean expose);
101
102 WXDLLIMPEXP_CORE
103 void gtk_pizza_scroll (GtkPizza *pizza,
104 gint dx,
105 gint dy);
106
107 WXDLLIMPEXP_CORE
108 void gtk_pizza_put (GtkPizza *pizza,
109 GtkWidget *widget,
110 gint x,
111 gint y,
112 gint width,
113 gint height);
114
115 WXDLLIMPEXP_CORE
116 void gtk_pizza_set_size (GtkPizza *pizza,
117 GtkWidget *widget,
118 gint x,
119 gint y,
120 gint width,
121 gint height);
122 #ifdef __cplusplus
123 }
124 #endif /* __cplusplus */
125
126
127 #endif /* __GTK_PIZZA_H__ */