]> git.saurik.com Git - wxWidgets.git/blame - include/wx/gtk/win_gtk.h
Next try at avoiding too few or too many size events.
[wxWidgets.git] / include / wx / gtk / win_gtk.h
CommitLineData
c67daf87 1/* ///////////////////////////////////////////////////////////////////////////
c801d85f 2// Name: win_gtk.h
da048e3d 3// Purpose: wxWindows's GTK base widget = GtkPizza
c801d85f 4// Author: Robert Roebling
58614078
RR
5// Id: $Id$
6// Copyright: (c) 1998 Robert Roebling
c801d85f 7// Licence: wxWindows licence
c67daf87 8/////////////////////////////////////////////////////////////////////////// */
c801d85f
KB
9
10
da048e3d
RR
11#ifndef __GTK_PIZZA_H__
12#define __GTK_PIZZA_H__
c801d85f 13
c801d85f
KB
14#include <gdk/gdk.h>
15#include <gtk/gtkcontainer.h>
034be888
RR
16#include <gtk/gtkadjustment.h>
17#include <gtk/gtkfeatures.h>
c801d85f
KB
18
19#ifdef __cplusplus
20extern "C" {
21#endif /* __cplusplus */
22
23
da048e3d
RR
24#define GTK_PIZZA(obj) GTK_CHECK_CAST (obj, gtk_pizza_get_type (), GtkPizza)
25#define GTK_PIZZA_CLASS(klass) GTK_CHECK_CLASS_CAST (klass, gtk_pizza_get_type (), GtkPizzaClass)
26#define GTK_IS_PIZZA(obj) GTK_CHECK_TYPE (obj, gtk_pizza_get_type ())
c801d85f 27
5e014a0c
RR
28/* Shadow types */
29typedef enum
30{
31 GTK_MYSHADOW_NONE,
32 GTK_MYSHADOW_THIN,
33 GTK_MYSHADOW_IN,
cf1f0870 34 GTK_MYSHADOW_OUT
5e014a0c 35} GtkMyShadowType;
c801d85f 36
da048e3d
RR
37typedef struct _GtkPizza GtkPizza;
38typedef struct _GtkPizzaClass GtkPizzaClass;
c801d85f 39
da048e3d 40struct _GtkPizza
c801d85f
KB
41{
42 GtkContainer container;
c801d85f 43 GList *children;
5e014a0c 44 GtkMyShadowType shadow_type;
ed673c6a
RR
45
46 guint width;
47 guint height;
48
49 guint xoffset;
50 guint yoffset;
51
52 GdkWindow *bin_window;
53
54 GdkVisibilityState visibility;
55 gulong configure_serial;
56 gint scroll_x;
57 gint scroll_y;
147bc491
RR
58
59 gboolean clear_on_draw;
c801d85f
KB
60};
61
da048e3d 62struct _GtkPizzaClass
c801d85f
KB
63{
64 GtkContainerClass parent_class;
034be888 65
da048e3d 66 void (*set_scroll_adjustments) (GtkPizza *pizza,
034be888
RR
67 GtkAdjustment *hadjustment,
68 GtkAdjustment *vadjustment);
c801d85f
KB
69};
70
da048e3d
RR
71guint gtk_pizza_get_type (void);
72GtkWidget* gtk_pizza_new (void);
147bc491 73
da048e3d 74void gtk_pizza_set_shadow_type (GtkPizza *pizza,
5e014a0c 75 GtkMyShadowType type);
ed673c6a 76
da048e3d 77void gtk_pizza_set_clear (GtkPizza *pizza,
147bc491
RR
78 gboolean clear);
79
da048e3d 80void gtk_pizza_scroll (GtkPizza *pizza,
ed673c6a
RR
81 gint dx,
82 gint dy);
83
da048e3d 84void gtk_pizza_put (GtkPizza *pizza,
c801d85f 85 GtkWidget *widget,
ed673c6a
RR
86 gint x,
87 gint y,
88 gint width,
89 gint height);
fdd3ed7a 90
da048e3d 91void gtk_pizza_move (GtkPizza *pizza,
c801d85f 92 GtkWidget *widget,
ed673c6a
RR
93 gint x,
94 gint y );
fdd3ed7a 95
da048e3d 96void gtk_pizza_resize (GtkPizza *pizza,
fdd3ed7a 97 GtkWidget *widget,
ed673c6a
RR
98 gint width,
99 gint height );
fdd3ed7a 100
da048e3d 101void gtk_pizza_set_size (GtkPizza *pizza,
fdd3ed7a 102 GtkWidget *widget,
ed673c6a
RR
103 gint x,
104 gint y,
105 gint width,
106 gint height);
c801d85f
KB
107#ifdef __cplusplus
108}
109#endif /* __cplusplus */
110
111
da048e3d 112#endif /* __GTK_PIZZA_H__ */