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