1/*
2 * Copyright (c) 2013 Red Hat, Inc.
3 *
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU Lesser General Public License as published by
6 * the Free Software Foundation; either version 2 of the License, or (at your
7 * option) any later version.
8 *
9 * This program is distributed in the hope that it will be useful, but
10 * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
11 * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
12 * License for more details.
13 *
14 * You should have received a copy of the GNU Lesser General Public License
15 * along with this program; if not, write to the Free Software Foundation,
16 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
17 *
18 * Author: Alexander Larsson <alexl@redhat.com>
19 *
20 */
21
22#ifndef __GTK_REVEALER_H__
23#define __GTK_REVEALER_H__
24
25#include <gtk/gtkwidget.h>
26
27G_BEGIN_DECLS
28
29
30#define GTK_TYPE_REVEALER (gtk_revealer_get_type ())
31#define GTK_REVEALER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_REVEALER, GtkRevealer))
32#define GTK_IS_REVEALER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_REVEALER))
33
34typedef struct _GtkRevealer GtkRevealer;
35
36typedef enum {
37 GTK_REVEALER_TRANSITION_TYPE_NONE,
38 GTK_REVEALER_TRANSITION_TYPE_CROSSFADE,
39 GTK_REVEALER_TRANSITION_TYPE_SLIDE_RIGHT,
40 GTK_REVEALER_TRANSITION_TYPE_SLIDE_LEFT,
41 GTK_REVEALER_TRANSITION_TYPE_SLIDE_UP,
42 GTK_REVEALER_TRANSITION_TYPE_SLIDE_DOWN,
43 GTK_REVEALER_TRANSITION_TYPE_SWING_RIGHT,
44 GTK_REVEALER_TRANSITION_TYPE_SWING_LEFT,
45 GTK_REVEALER_TRANSITION_TYPE_SWING_UP,
46 GTK_REVEALER_TRANSITION_TYPE_SWING_DOWN
47} GtkRevealerTransitionType;
48
49GDK_AVAILABLE_IN_ALL
50GType gtk_revealer_get_type (void) G_GNUC_CONST;
51GDK_AVAILABLE_IN_ALL
52GtkWidget* gtk_revealer_new (void);
53GDK_AVAILABLE_IN_ALL
54gboolean gtk_revealer_get_reveal_child (GtkRevealer *revealer);
55GDK_AVAILABLE_IN_ALL
56void gtk_revealer_set_reveal_child (GtkRevealer *revealer,
57 gboolean reveal_child);
58GDK_AVAILABLE_IN_ALL
59gboolean gtk_revealer_get_child_revealed (GtkRevealer *revealer);
60GDK_AVAILABLE_IN_ALL
61guint gtk_revealer_get_transition_duration (GtkRevealer *revealer);
62GDK_AVAILABLE_IN_ALL
63void gtk_revealer_set_transition_duration (GtkRevealer *revealer,
64 guint duration);
65GDK_AVAILABLE_IN_ALL
66void gtk_revealer_set_transition_type (GtkRevealer *revealer,
67 GtkRevealerTransitionType transition);
68GDK_AVAILABLE_IN_ALL
69GtkRevealerTransitionType gtk_revealer_get_transition_type (GtkRevealer *revealer);
70
71GDK_AVAILABLE_IN_ALL
72void gtk_revealer_set_child (GtkRevealer *revealer,
73 GtkWidget *child);
74GDK_AVAILABLE_IN_ALL
75GtkWidget * gtk_revealer_get_child (GtkRevealer *revealer);
76
77G_END_DECLS
78
79#endif /* __GTK_REVEALER_H__ */
80

source code of gtk/gtk/gtkrevealer.h