]> git.saurik.com Git - wxWidgets.git/blame - include/wx/gtk/win_gtk.h
Native spline drawing.
[wxWidgets.git] / include / wx / gtk / win_gtk.h
CommitLineData
c67daf87 1/* ///////////////////////////////////////////////////////////////////////////
c801d85f 2// Name: win_gtk.h
77ffb593 3// Purpose: wxWidgets's GTK base widget = GtkPizza
c801d85f 4// Author: Robert Roebling
58614078
RR
5// Id: $Id$
6// Copyright: (c) 1998 Robert Roebling
5b12ccee 7// Licence: wxWindows licence
c67daf87 8/////////////////////////////////////////////////////////////////////////// */
c801d85f
KB
9
10
da048e3d
RR
11#ifndef __GTK_PIZZA_H__
12#define __GTK_PIZZA_H__
c801d85f 13
e8106239
VZ
14#ifdef __cplusplus
15extern "C" {
16#endif /* __cplusplus */
17
c801d85f 18#include <gdk/gdk.h>
e8106239 19#include <gdk/gdkx.h>
c801d85f 20#include <gtk/gtkcontainer.h>
034be888 21#include <gtk/gtkadjustment.h>
d42508c2 22#ifndef __WXGTK20__
034be888 23#include <gtk/gtkfeatures.h>
d42508c2 24#endif
c801d85f 25
20123d49
MW
26#include "wx/dlimpexp.h"
27
da048e3d
RR
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 ())
c801d85f 31
5e014a0c
RR
32/* Shadow types */
33typedef enum
34{
0e09f76e
RR
35 GTK_MYSHADOW_NONE,
36 GTK_MYSHADOW_THIN,
37 GTK_MYSHADOW_IN,
38 GTK_MYSHADOW_OUT
5e014a0c 39} GtkMyShadowType;
c801d85f 40
b6fa52db 41typedef struct _GtkPizzaChild GtkPizzaChild;
da048e3d
RR
42typedef struct _GtkPizza GtkPizza;
43typedef struct _GtkPizzaClass GtkPizzaClass;
c801d85f 44
b6fa52db
RR
45struct _GtkPizzaChild
46{
47 GtkWidget *widget;
48 gint x;
49 gint y;
50 gint width;
51 gint height;
52};
53
da048e3d 54struct _GtkPizza
c801d85f 55{
0e09f76e
RR
56 GtkContainer container;
57 GList *children;
58 GtkMyShadowType shadow_type;
5b12ccee 59
0e09f76e
RR
60 guint width;
61 guint height;
ed673c6a 62
0e09f76e
RR
63 guint xoffset;
64 guint yoffset;
ed673c6a 65
0e09f76e 66 GdkWindow *bin_window;
ed673c6a 67
0e09f76e
RR
68 GdkVisibilityState visibility;
69 gulong configure_serial;
70 gint scroll_x;
71 gint scroll_y;
5b12ccee 72
0e09f76e
RR
73 gboolean clear_on_draw;
74 gboolean use_filter;
b420fb6a 75 gboolean external_expose;
c801d85f
KB
76};
77
da048e3d 78struct _GtkPizzaClass
c801d85f
KB
79{
80 GtkContainerClass parent_class;
034be888 81
da048e3d 82 void (*set_scroll_adjustments) (GtkPizza *pizza,
5b12ccee
MW
83 GtkAdjustment *hadjustment,
84 GtkAdjustment *vadjustment);
c801d85f
KB
85};
86
20123d49 87WXDLLIMPEXP_CORE
e1ff9329 88GtkType gtk_pizza_get_type (void);
20123d49 89WXDLLIMPEXP_CORE
da048e3d 90GtkWidget* gtk_pizza_new (void);
147bc491 91
20123d49 92WXDLLIMPEXP_CORE
0e09f76e 93void gtk_pizza_set_shadow_type (GtkPizza *pizza,
5b12ccee
MW
94 GtkMyShadowType type);
95
20123d49 96WXDLLIMPEXP_CORE
0e09f76e 97void gtk_pizza_set_clear (GtkPizza *pizza,
5b12ccee
MW
98 gboolean clear);
99
20123d49 100WXDLLIMPEXP_CORE
0e09f76e 101void gtk_pizza_set_filter (GtkPizza *pizza,
5b12ccee
MW
102 gboolean use);
103
20123d49 104WXDLLIMPEXP_CORE
b420fb6a 105void gtk_pizza_set_external (GtkPizza *pizza,
5b12ccee
MW
106 gboolean expose);
107
20123d49 108WXDLLIMPEXP_CORE
5b12ccee 109void gtk_pizza_scroll (GtkPizza *pizza,
0e09f76e
RR
110 gint dx,
111 gint dy);
8cb9f0d0 112
20123d49 113WXDLLIMPEXP_CORE
8cb9f0d0
RR
114gint gtk_pizza_child_resized (GtkPizza *pizza,
115 GtkWidget *widget);
5b12ccee 116
20123d49 117WXDLLIMPEXP_CORE
0e09f76e
RR
118void gtk_pizza_put (GtkPizza *pizza,
119 GtkWidget *widget,
120 gint x,
121 gint y,
5b12ccee
MW
122 gint width,
123 gint height);
0e09f76e 124
20123d49 125WXDLLIMPEXP_CORE
0e09f76e
RR
126void gtk_pizza_move (GtkPizza *pizza,
127 GtkWidget *widget,
128 gint x,
129 gint y );
5b12ccee 130
20123d49 131WXDLLIMPEXP_CORE
0e09f76e
RR
132void gtk_pizza_resize (GtkPizza *pizza,
133 GtkWidget *widget,
134 gint width,
135 gint height );
5b12ccee 136
20123d49 137WXDLLIMPEXP_CORE
0e09f76e
RR
138void gtk_pizza_set_size (GtkPizza *pizza,
139 GtkWidget *widget,
140 gint x,
141 gint y,
142 gint width,
143 gint height);
c801d85f
KB
144#ifdef __cplusplus
145}
146#endif /* __cplusplus */
147
148
da048e3d 149#endif /* __GTK_PIZZA_H__ */