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