]> git.saurik.com Git - wxWidgets.git/blob - include/wx/gtk/win_gtk.h
move misc surface helpers to wxIDirectFBSurface class
[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_xoffset;
54 guint m_yoffset;
55
56 gint m_width;
57
58 GdkWindow *bin_window;
59
60 gboolean external_expose;
61 };
62
63 struct _GtkPizzaClass
64 {
65 GtkContainerClass parent_class;
66
67 void (*set_scroll_adjustments) (GtkPizza *pizza,
68 GtkAdjustment *hadjustment,
69 GtkAdjustment *vadjustment);
70 };
71
72 WXDLLIMPEXP_CORE
73 GtkType gtk_pizza_get_type (void);
74 WXDLLIMPEXP_CORE
75 GtkWidget* gtk_pizza_new (void);
76
77 /* accessors */
78
79 WXDLLIMPEXP_CORE
80 gint gtk_pizza_get_xoffset (GtkPizza *pizza);
81 WXDLLIMPEXP_CORE
82 gint gtk_pizza_get_yoffset (GtkPizza *pizza);
83 WXDLLIMPEXP_CORE
84 void gtk_pizza_set_xoffset (GtkPizza *pizza, gint xoffset);
85 WXDLLIMPEXP_CORE
86 void gtk_pizza_set_yoffset (GtkPizza *pizza, gint yoffset);
87
88
89 WXDLLIMPEXP_CORE
90 void gtk_pizza_set_shadow_type (GtkPizza *pizza,
91 GtkMyShadowType type);
92
93 WXDLLIMPEXP_CORE
94 void gtk_pizza_set_external (GtkPizza *pizza,
95 gboolean expose);
96
97 WXDLLIMPEXP_CORE
98 void gtk_pizza_scroll (GtkPizza *pizza,
99 gint dx,
100 gint dy);
101
102 WXDLLIMPEXP_CORE
103 void gtk_pizza_put (GtkPizza *pizza,
104 GtkWidget *widget,
105 gint x,
106 gint y,
107 gint width,
108 gint height);
109
110 WXDLLIMPEXP_CORE
111 void gtk_pizza_set_size (GtkPizza *pizza,
112 GtkWidget *widget,
113 gint x,
114 gint y,
115 gint width,
116 gint height);
117 #ifdef __cplusplus
118 }
119 #endif /* __cplusplus */
120
121
122 #endif /* __GTK_PIZZA_H__ */