]> git.saurik.com Git - wxWidgets.git/blob - include/wx/gtk/win_gtk.h
Added DECLARE_LOCAL_EVENT_TYPE which doesn't use WXDLLEXPORT. This is
[wxWidgets.git] / include / wx / gtk / win_gtk.h
1 /* ///////////////////////////////////////////////////////////////////////////
2 // Name: win_gtk.h
3 // Purpose: wxWindows'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 #include <gdk/gdk.h>
15 #include <gtk/gtkcontainer.h>
16 #include <gtk/gtkadjustment.h>
17 #ifndef __WXGTK20__
18 #include <gtk/gtkfeatures.h>
19 #endif
20
21 #ifdef __cplusplus
22 extern "C" {
23 #endif /* __cplusplus */
24
25 #define GTK_PIZZA(obj) GTK_CHECK_CAST (obj, gtk_pizza_get_type (), GtkPizza)
26 #define GTK_PIZZA_CLASS(klass) GTK_CHECK_CLASS_CAST (klass, gtk_pizza_get_type (), GtkPizzaClass)
27 #define GTK_IS_PIZZA(obj) GTK_CHECK_TYPE (obj, gtk_pizza_get_type ())
28
29 /* Shadow types */
30 typedef enum
31 {
32 GTK_MYSHADOW_NONE,
33 GTK_MYSHADOW_THIN,
34 GTK_MYSHADOW_IN,
35 GTK_MYSHADOW_OUT
36 } GtkMyShadowType;
37
38 typedef struct _GtkPizzaChild GtkPizzaChild;
39 typedef struct _GtkPizza GtkPizza;
40 typedef struct _GtkPizzaClass GtkPizzaClass;
41
42 struct _GtkPizzaChild
43 {
44 GtkWidget *widget;
45 gint x;
46 gint y;
47 gint width;
48 gint height;
49 };
50
51 struct _GtkPizza
52 {
53 GtkContainer container;
54 GList *children;
55 GtkMyShadowType shadow_type;
56
57 guint width;
58 guint height;
59
60 guint xoffset;
61 guint yoffset;
62
63 GdkWindow *bin_window;
64
65 GdkVisibilityState visibility;
66 gulong configure_serial;
67 gint scroll_x;
68 gint scroll_y;
69
70 gboolean clear_on_draw;
71 gboolean use_filter;
72 gboolean external_expose;
73 };
74
75 struct _GtkPizzaClass
76 {
77 GtkContainerClass parent_class;
78
79 void (*set_scroll_adjustments) (GtkPizza *pizza,
80 GtkAdjustment *hadjustment,
81 GtkAdjustment *vadjustment);
82 };
83
84 guint gtk_pizza_get_type (void);
85 GtkWidget* gtk_pizza_new (void);
86
87 void gtk_pizza_set_shadow_type (GtkPizza *pizza,
88 GtkMyShadowType type);
89
90 void gtk_pizza_set_clear (GtkPizza *pizza,
91 gboolean clear);
92
93 void gtk_pizza_set_filter (GtkPizza *pizza,
94 gboolean use);
95
96 void gtk_pizza_set_external (GtkPizza *pizza,
97 gboolean expose);
98
99 void gtk_pizza_scroll (GtkPizza *pizza,
100 gint dx,
101 gint dy);
102
103 gint gtk_pizza_child_resized (GtkPizza *pizza,
104 GtkWidget *widget);
105
106 void gtk_pizza_put (GtkPizza *pizza,
107 GtkWidget *widget,
108 gint x,
109 gint y,
110 gint width,
111 gint height);
112
113 void gtk_pizza_move (GtkPizza *pizza,
114 GtkWidget *widget,
115 gint x,
116 gint y );
117
118 void gtk_pizza_resize (GtkPizza *pizza,
119 GtkWidget *widget,
120 gint width,
121 gint height );
122
123 void gtk_pizza_set_size (GtkPizza *pizza,
124 GtkWidget *widget,
125 gint x,
126 gint y,
127 gint width,
128 gint height);
129 #ifdef __cplusplus
130 }
131 #endif /* __cplusplus */
132
133
134 #endif /* __GTK_PIZZA_H__ */