]> git.saurik.com Git - wxWidgets.git/blame_incremental - include/wx/gtk/win_gtk.h
finished wxWindow for MGL
[wxWidgets.git] / include / wx / gtk / win_gtk.h
... / ...
CommitLineData
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
22extern "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 */
30typedef enum
31{
32 GTK_MYSHADOW_NONE,
33 GTK_MYSHADOW_THIN,
34 GTK_MYSHADOW_IN,
35 GTK_MYSHADOW_OUT
36} GtkMyShadowType;
37
38typedef struct _GtkPizzaChild GtkPizzaChild;
39typedef struct _GtkPizza GtkPizza;
40typedef struct _GtkPizzaClass GtkPizzaClass;
41
42struct _GtkPizzaChild
43{
44 GtkWidget *widget;
45 gint x;
46 gint y;
47 gint width;
48 gint height;
49};
50
51struct _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
75struct _GtkPizzaClass
76{
77 GtkContainerClass parent_class;
78
79 void (*set_scroll_adjustments) (GtkPizza *pizza,
80 GtkAdjustment *hadjustment,
81 GtkAdjustment *vadjustment);
82};
83
84guint gtk_pizza_get_type (void);
85GtkWidget* gtk_pizza_new (void);
86
87void gtk_pizza_set_shadow_type (GtkPizza *pizza,
88 GtkMyShadowType type);
89
90void gtk_pizza_set_clear (GtkPizza *pizza,
91 gboolean clear);
92
93void gtk_pizza_set_filter (GtkPizza *pizza,
94 gboolean use);
95
96void gtk_pizza_set_external (GtkPizza *pizza,
97 gboolean expose);
98
99void gtk_pizza_scroll (GtkPizza *pizza,
100 gint dx,
101 gint dy);
102
103gint gtk_pizza_child_resized (GtkPizza *pizza,
104 GtkWidget *widget);
105
106void gtk_pizza_put (GtkPizza *pizza,
107 GtkWidget *widget,
108 gint x,
109 gint y,
110 gint width,
111 gint height);
112
113void gtk_pizza_move (GtkPizza *pizza,
114 GtkWidget *widget,
115 gint x,
116 gint y );
117
118void gtk_pizza_resize (GtkPizza *pizza,
119 GtkWidget *widget,
120 gint width,
121 gint height );
122
123void 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__ */