X-Git-Url: http://pileus.org/git/?a=blobdiff_plain;f=gtk%2Fgtklayout.h;h=0d2e6bcf542b9d97a9eb3e070f71c295049b4ab9;hb=e9a240cd52270992249223485714649d7ddb44f3;hp=d42718e2210c06d1c401bf63dddf7977c07c1ebc;hpb=5e836af8846c44a253270c8925381d2922a203c7;p=~andy%2Fgtk diff --git a/gtk/gtklayout.h b/gtk/gtklayout.h index d42718e22..0d2e6bcf5 100644 --- a/gtk/gtklayout.h +++ b/gtk/gtklayout.h @@ -2,16 +2,16 @@ * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald * * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Library General Public + * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. + * Lesser General Public License for more details. * - * You should have received a copy of the GNU Library General Public + * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the * Free Software Foundation, Inc., 59 Temple Place - Suite 330, * Boston, MA 02111-1307, USA. @@ -21,74 +21,96 @@ * Copyright Owen Taylor, 1998 */ -#ifndef __GTK_LAYOUT_H -#define __GTK_LAYOUT_H +/* + * Modified by the GTK+ Team and others 1997-2000. See the AUTHORS + * file for a list of people on the GTK+ Team. See the ChangeLog + * files for a list of changes. These files are distributed with + * GTK+ at ftp://ftp.gtk.org/pub/gtk/. + */ + +#if defined(GTK_DISABLE_SINGLE_INCLUDES) && !defined (__GTK_H_INSIDE__) && !defined (GTK_COMPILATION) +#error "Only can be included directly." +#endif + +#ifndef __GTK_LAYOUT_H__ +#define __GTK_LAYOUT_H__ + -#include #include #include -#ifdef __cplusplus -extern "C" { -#endif /* __cplusplus */ + +G_BEGIN_DECLS #define GTK_TYPE_LAYOUT (gtk_layout_get_type ()) -#define GTK_LAYOUT(obj) (GTK_CHECK_CAST ((obj), GTK_TYPE_LAYOUT, GtkLayout)) -#define GTK_LAYOUT_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass), GTK_TYPE_LAYOUT, GtkLayoutClass)) -#define GTK_IS_LAYOUT(obj) (GTK_CHECK_TYPE ((obj), GTK_TYPE_LAYOUT)) -#define GTK_IS_LAYOUT_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), GTK_TYPE_LAYOUT)) +#define GTK_LAYOUT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_LAYOUT, GtkLayout)) +#define GTK_LAYOUT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_LAYOUT, GtkLayoutClass)) +#define GTK_IS_LAYOUT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_LAYOUT)) +#define GTK_IS_LAYOUT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_LAYOUT)) +#define GTK_LAYOUT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_LAYOUT, GtkLayoutClass)) + typedef struct _GtkLayout GtkLayout; typedef struct _GtkLayoutClass GtkLayoutClass; -struct _GtkLayout { - GtkContainer container; +struct _GtkLayout +{ + GtkContainer GSEAL (container); - GList *children; + GList *GSEAL (children); - guint width; - guint height; + guint GSEAL (width); + guint GSEAL (height); - guint xoffset; - guint yoffset; + GtkAdjustment *GSEAL (hadjustment); + GtkAdjustment *GSEAL (vadjustment); - GtkAdjustment *hadjustment; - GtkAdjustment *vadjustment; - - GdkWindow *bin_window; + /*< public >*/ + GdkWindow *GSEAL (bin_window); - GdkVisibilityState visibility; - gulong configure_serial; - gint scroll_x; - gint scroll_y; + /*< private >*/ + GdkVisibilityState GSEAL (visibility); + gint GSEAL (scroll_x); + gint GSEAL (scroll_y); - guint freeze_count; + guint GSEAL (freeze_count); }; -struct _GtkLayoutClass { +struct _GtkLayoutClass +{ GtkContainerClass parent_class; void (*set_scroll_adjustments) (GtkLayout *layout, GtkAdjustment *hadjustment, GtkAdjustment *vadjustment); + + /* Padding for future expansion */ + void (*_gtk_reserved1) (void); + void (*_gtk_reserved2) (void); + void (*_gtk_reserved3) (void); + void (*_gtk_reserved4) (void); }; -GtkType gtk_layout_get_type (void); +GType gtk_layout_get_type (void) G_GNUC_CONST; GtkWidget* gtk_layout_new (GtkAdjustment *hadjustment, GtkAdjustment *vadjustment); -void gtk_layout_put (GtkLayout *layout, - GtkWidget *widget, - gint x, +GdkWindow* gtk_layout_get_bin_window (GtkLayout *layout); +void gtk_layout_put (GtkLayout *layout, + GtkWidget *child_widget, + gint x, gint y); - -void gtk_layout_move (GtkLayout *layout, - GtkWidget *widget, - gint x, + +void gtk_layout_move (GtkLayout *layout, + GtkWidget *child_widget, + gint x, gint y); - -void gtk_layout_set_size (GtkLayout *layout, + +void gtk_layout_set_size (GtkLayout *layout, guint width, guint height); +void gtk_layout_get_size (GtkLayout *layout, + guint *width, + guint *height); GtkAdjustment* gtk_layout_get_hadjustment (GtkLayout *layout); GtkAdjustment* gtk_layout_get_vadjustment (GtkLayout *layout); @@ -97,6 +119,8 @@ void gtk_layout_set_hadjustment (GtkLayout *layout, void gtk_layout_set_vadjustment (GtkLayout *layout, GtkAdjustment *adjustment); + +#ifndef GTK_DISABLE_DEPRECATED /* These disable and enable moving and repainting the scrolling window * of the GtkLayout, respectively. If you want to update the layout's * offsets but do not want it to repaint itself, you should use these @@ -107,9 +131,8 @@ void gtk_layout_set_vadjustment (GtkLayout *layout, */ void gtk_layout_freeze (GtkLayout *layout); void gtk_layout_thaw (GtkLayout *layout); +#endif /* GTK_DISABLE_DEPRECATED */ -#ifdef __cplusplus -} -#endif /* __cplusplus */ +G_END_DECLS -#endif /* __GTK_LAYOUT_H */ +#endif /* __GTK_LAYOUT_H__ */