1 /* GTK - The GIMP Toolkit 2 * 3 * Copyright (C) 2007 John Stowers, Neil Jagdish Patel. 4 * Copyright (C) 2009 Bastien Nocera, David Zeuthen 5 * 6 * This library is free software; you can redistribute it and/or 7 * modify it under the terms of the GNU Lesser General Public 8 * License as published by the Free Software Foundation; either 9 * version 2 of the License, or (at your option) any later version. 10 * 11 * This library is distributed in the hope that it will be useful, 12 * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 * Lesser General Public License for more details. 15 * 16 * You should have received a copy of the GNU Lesser General Public 17 * License along with this library. If not, see <http://www.gnu.org/licenses/>. 18 * 19 * Code adapted from egg-spinner 20 * by Christian Hergert <christian.hergert@gmail.com> 21 */ 22 23 #ifndef __GTK_SPINNER_H__ 24 #define __GTK_SPINNER_H__ 25 26 #if !defined (__GTK_H_INSIDE__) && !defined (GTK_COMPILATION) 27 #error "Only <gtk/gtk.h> can be included directly." 28 #endif 29 30 #include <gtk/gtkwidget.h> 31 32 G_BEGIN_DECLS 33 34 #define GTK_TYPE_SPINNER (gtk_spinner_get_type ()) 35 #define GTK_SPINNER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_SPINNER, GtkSpinner)) 36 #define GTK_SPINNER_CLASS(obj) (G_TYPE_CHECK_CLASS_CAST ((obj), GTK_TYPE_SPINNER, GtkSpinnerClass)) 37 #define GTK_IS_SPINNER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_SPINNER)) 38 #define GTK_IS_SPINNER_CLASS(obj) (G_TYPE_CHECK_CLASS_TYPE ((obj), GTK_TYPE_SPINNER)) 39 #define GTK_SPINNER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_SPINNER, GtkSpinnerClass)) 40 41 typedef struct _GtkSpinner GtkSpinner; 42 typedef struct _GtkSpinnerClass GtkSpinnerClass; 43 typedef struct _GtkSpinnerPrivate GtkSpinnerPrivate; 44 45 struct _GtkSpinner 46 { 47 GtkWidget parent; 48 49 /*< private >*/ 50 GtkSpinnerPrivate *priv; 51 }; 52 53 struct _GtkSpinnerClass 54 { 55 GtkWidgetClass parent_class; 56 57 /* Padding for future expansion */ 58 void (*_gtk_reserved1) (void); 59 void (*_gtk_reserved2) (void); 60 void (*_gtk_reserved3) (void); 61 void (*_gtk_reserved4) (void); 62 }; 63 64 GDK_AVAILABLE_IN_ALL 65 GType gtk_spinner_get_type (void) G_GNUC_CONST; 66 GDK_AVAILABLE_IN_ALL 67 GtkWidget *gtk_spinner_new (void); 68 GDK_AVAILABLE_IN_ALL 69 void gtk_spinner_start (GtkSpinner *spinner); 70 GDK_AVAILABLE_IN_ALL 71 void gtk_spinner_stop (GtkSpinner *spinner); 72 73 G_END_DECLS 74 75 #endif /* __GTK_SPINNER_H__ */ 76