1 /* gtkscrollable.h 2 * Copyright (C) 2008 Tadej Borovšak <tadeboro@gmail.com> 3 * 4 * This library is free software; you can redistribute it and/or 5 * modify it under the terms of the GNU Lesser General Public 6 * License as published by the Free Software Foundation; either 7 * version 2 of the License, or (at your option) any later version. 8 * 9 * This library is distributed in the hope that it will be useful, 10 * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 * Lesser General Public License for more details. 13 * 14 * You should have received a copy of the GNU Lesser General Public 15 * License along with this library. If not, see <http://www.gnu.org/licenses/>. 16 */ 17 18 #ifndef __GTK_SCROLLABLE_H__ 19 #define __GTK_SCROLLABLE_H__ 20 21 #if !defined (__GTK_H_INSIDE__) && !defined (GTK_COMPILATION) 22 #error "Only <gtk/gtk.h> can be included directly." 23 #endif 24 25 #include <gdk/gdk.h> 26 #include <gtk/gtkenums.h> 27 #include <gtk/gtktypes.h> 28 #include <gtk/gtkborder.h> 29 30 G_BEGIN_DECLS 31 32 #define GTK_TYPE_SCROLLABLE (gtk_scrollable_get_type ()) 33 #define GTK_SCROLLABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_SCROLLABLE, GtkScrollable)) 34 #define GTK_IS_SCROLLABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_SCROLLABLE)) 35 #define GTK_SCROLLABLE_GET_IFACE(inst) (G_TYPE_INSTANCE_GET_INTERFACE ((inst), GTK_TYPE_SCROLLABLE, GtkScrollableInterface)) 36 37 typedef struct _GtkScrollable GtkScrollable; /* Dummy */ 38 typedef struct _GtkScrollableInterface GtkScrollableInterface; 39 40 struct _GtkScrollableInterface 41 { 42 GTypeInterface base_iface; 43 44 gboolean (* get_border) (GtkScrollable *scrollable, 45 GtkBorder *border); 46 }; 47 48 /* Public API */ 49 GDK_AVAILABLE_IN_ALL 50 GType gtk_scrollable_get_type (void) G_GNUC_CONST; 51 GDK_AVAILABLE_IN_ALL 52 GtkAdjustment *gtk_scrollable_get_hadjustment (GtkScrollable *scrollable); 53 GDK_AVAILABLE_IN_ALL 54 void gtk_scrollable_set_hadjustment (GtkScrollable *scrollable, 55 GtkAdjustment *hadjustment); 56 GDK_AVAILABLE_IN_ALL 57 GtkAdjustment *gtk_scrollable_get_vadjustment (GtkScrollable *scrollable); 58 GDK_AVAILABLE_IN_ALL 59 void gtk_scrollable_set_vadjustment (GtkScrollable *scrollable, 60 GtkAdjustment *vadjustment); 61 GDK_AVAILABLE_IN_ALL 62 GtkScrollablePolicy gtk_scrollable_get_hscroll_policy (GtkScrollable *scrollable); 63 GDK_AVAILABLE_IN_ALL 64 void gtk_scrollable_set_hscroll_policy (GtkScrollable *scrollable, 65 GtkScrollablePolicy policy); 66 GDK_AVAILABLE_IN_ALL 67 GtkScrollablePolicy gtk_scrollable_get_vscroll_policy (GtkScrollable *scrollable); 68 GDK_AVAILABLE_IN_ALL 69 void gtk_scrollable_set_vscroll_policy (GtkScrollable *scrollable, 70 GtkScrollablePolicy policy); 71 72 GDK_AVAILABLE_IN_3_16 73 gboolean gtk_scrollable_get_border (GtkScrollable *scrollable, 74 GtkBorder *border); 75 76 G_END_DECLS 77 78 #endif /* __GTK_SCROLLABLE_H__ */ 79