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