]> git.saurik.com Git - wxWidgets.git/blob - include/wx/gtk/win_gtk.h
move frame decorations drawing to the base class
[wxWidgets.git] / include / wx / gtk / win_gtk.h
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
15 extern "C" {
16 #endif /* __cplusplus */
17
18 #include <gtk/gtkcontainer.h>
19
20 #include "wx/dlimpexp.h"
21
22 #define GTK_PIZZA(obj) GTK_CHECK_CAST (obj, gtk_pizza_get_type (), GtkPizza)
23 #define GTK_IS_PIZZA(obj) GTK_CHECK_TYPE (obj, gtk_pizza_get_type ())
24
25 /* Shadow types */
26 typedef enum
27 {
28 GTK_MYSHADOW_NONE,
29 GTK_MYSHADOW_THIN,
30 GTK_MYSHADOW_IN,
31 GTK_MYSHADOW_OUT
32 } GtkMyShadowType;
33
34 typedef struct _GtkPizzaChild GtkPizzaChild;
35 typedef struct _GtkPizza GtkPizza;
36 typedef struct _GtkPizzaClass GtkPizzaClass;
37
38 struct _GtkPizzaChild
39 {
40 GtkWidget *widget;
41 gint x;
42 gint y;
43 gint width;
44 gint height;
45 };
46
47 struct _GtkPizza
48 {
49 GtkContainer container;
50 GList *children;
51 GtkMyShadowType shadow_type;
52
53 guint m_xoffset;
54 guint m_yoffset;
55
56 gint m_width;
57
58 GdkWindow *bin_window;
59 };
60
61 struct _GtkPizzaClass
62 {
63 GtkContainerClass parent_class;
64
65 void (*set_scroll_adjustments) (GtkPizza *pizza,
66 GtkAdjustment *hadjustment,
67 GtkAdjustment *vadjustment);
68 };
69
70 WXDLLIMPEXP_CORE
71 GtkType gtk_pizza_get_type (void);
72 WXDLLIMPEXP_CORE
73 GtkWidget* gtk_pizza_new (void);
74
75 /* accessors */
76
77 WXDLLIMPEXP_CORE
78 gint gtk_pizza_get_xoffset (GtkPizza *pizza);
79 WXDLLIMPEXP_CORE
80 gint gtk_pizza_get_yoffset (GtkPizza *pizza);
81 WXDLLIMPEXP_CORE
82 void gtk_pizza_set_xoffset (GtkPizza *pizza, gint xoffset);
83 WXDLLIMPEXP_CORE
84 void gtk_pizza_set_yoffset (GtkPizza *pizza, gint yoffset);
85
86
87 WXDLLIMPEXP_CORE
88 gint gtk_pizza_get_rtl_offset (GtkPizza *pizza);
89
90 WXDLLIMPEXP_CORE
91 void gtk_pizza_set_shadow_type (GtkPizza *pizza,
92 GtkMyShadowType type);
93
94 WXDLLIMPEXP_CORE
95 void gtk_pizza_scroll (GtkPizza *pizza,
96 gint dx,
97 gint dy);
98
99 WXDLLIMPEXP_CORE
100 void gtk_pizza_put (GtkPizza *pizza,
101 GtkWidget *widget,
102 gint x,
103 gint y,
104 gint width,
105 gint height);
106
107 WXDLLIMPEXP_CORE
108 void gtk_pizza_set_size (GtkPizza *pizza,
109 GtkWidget *widget,
110 gint x,
111 gint y,
112 gint width,
113 gint height);
114 #ifdef __cplusplus
115 }
116 #endif /* __cplusplus */
117
118
119 #endif /* __GTK_PIZZA_H__ */