~gnome3-team/mutter/trunk

« back to all changes in this revision

Viewing changes to clutter/clutter/clutter-grid-layout.h

  • Committer: Rui Matos
  • Date: 2016-04-27 16:34:03 UTC
  • mfrom: (0.1.7560)
  • Revision ID: git-v1:a7b5d790ac66477ad9e3d940527c198332a03695
Merge clutter's master branch into mutter

https://bugzilla.gnome.org/show_bug.cgi?id=760439

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/*
 
2
 * Clutter.
 
3
 *
 
4
 * An OpenGL based 'interactive canvas' library.
 
5
 *
 
6
 * Copyright (C) 2010 Red Hat, Inc.
 
7
 * Copyright (C) 2012 Bastian Winkler <buz@netbuz.org>
 
8
 *
 
9
 * This library is free software; you can redistribute it and/or
 
10
 * modify it under the terms of the GNU Lesser General Public
 
11
 * License as published by the Free Software Foundation; either
 
12
 * version 2 of the License, or (at your option) any later version.
 
13
 *
 
14
 * This library is distributed in the hope that it will be useful,
 
15
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 
16
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 
17
 * Lesser General Public License for more details.
 
18
 *
 
19
 * You should have received a copy of the GNU Lesser General Public
 
20
 * License along with this library. If not, see <http://www.gnu.org/licenses/>.
 
21
 *
 
22
 * Author:
 
23
 *   Bastian Winkler <buz@netbuz.org>
 
24
 *
 
25
 * Based on GtkGrid widget by:
 
26
 *   Matthias Clasen
 
27
 */
 
28
 
 
29
#ifndef __CLUTTER_GRID_LAYOUT_H__
 
30
#define __CLUTTER_GRID_LAYOUT_H__
 
31
 
 
32
#if !defined(__CLUTTER_H_INSIDE__) && !defined(CLUTTER_COMPILATION)
 
33
#error "Only <clutter/clutter.h> can be included directly."
 
34
#endif
 
35
 
 
36
#include <clutter/clutter-layout-manager.h>
 
37
 
 
38
G_BEGIN_DECLS
 
39
 
 
40
#define CLUTTER_TYPE_GRID_LAYOUT                 (clutter_grid_layout_get_type ())
 
41
#define CLUTTER_GRID_LAYOUT(obj)                 (G_TYPE_CHECK_INSTANCE_CAST ((obj), CLUTTER_TYPE_GRID_LAYOUT, ClutterGridLayout))
 
42
#define CLUTTER_IS_GRID_LAYOUT(obj)              (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CLUTTER_TYPE_GRID_LAYOUT))
 
43
#define CLUTTER_GRID_LAYOUT_CLASS(klass)         (G_TYPE_CHECK_CLASS_CAST ((klass), CLUTTER_TYPE_GRID_LAYOUT, ClutterGridLayoutClass))
 
44
#define CLUTTER_IS_GRID_LAYOUT_CLASS(klass)      (G_TYPE_CHECK_CLASS_TYPE ((klass), CLUTTER_TYPE_GRID_LAYOUT))
 
45
#define CLUTTER_GRID_LAYOUT_GET_CLASS(obj)       (G_TYPE_INSTANCE_GET_CLASS ((obj), CLUTTER_TYPE_GRID_LAYOUT, ClutterGridLayoutClass))
 
46
 
 
47
typedef struct _ClutterGridLayout                ClutterGridLayout;
 
48
typedef struct _ClutterGridLayoutPrivate         ClutterGridLayoutPrivate;
 
49
typedef struct _ClutterGridLayoutClass           ClutterGridLayoutClass;
 
50
 
 
51
/**
 
52
 * ClutterGridLayout:
 
53
 *
 
54
 * The #ClutterGridLayout structure contains only private data
 
55
 * and should be accessed using the provided API
 
56
 *
 
57
 * Since: 1.12
 
58
 */
 
59
struct _ClutterGridLayout
 
60
{
 
61
  /*< private >*/
 
62
  ClutterLayoutManager parent_instance;
 
63
 
 
64
  ClutterGridLayoutPrivate *priv;
 
65
};
 
66
 
 
67
/**
 
68
 * ClutterGridLayoutClass:
 
69
 *
 
70
 * The #ClutterGridLayoutClass structure contains only private
 
71
 * data and should be accessed using the provided API
 
72
 *
 
73
 * Since: 1.12
 
74
 */
 
75
struct _ClutterGridLayoutClass
 
76
{
 
77
  /*< private >*/
 
78
  ClutterLayoutManagerClass parent_class;
 
79
 
 
80
  gpointer _padding[8];
 
81
};
 
82
 
 
83
CLUTTER_AVAILABLE_IN_1_12
 
84
GType clutter_grid_layout_get_type (void) G_GNUC_CONST;
 
85
 
 
86
CLUTTER_AVAILABLE_IN_1_12
 
87
ClutterLayoutManager *  clutter_grid_layout_new                 (void);
 
88
 
 
89
CLUTTER_AVAILABLE_IN_1_12
 
90
void                clutter_grid_layout_attach                      (ClutterGridLayout *layout,
 
91
                                                                     ClutterActor      *child,
 
92
                                                                     gint               left,
 
93
                                                                     gint               top,
 
94
                                                                     gint               width,
 
95
                                                                     gint               height);
 
96
 
 
97
CLUTTER_AVAILABLE_IN_1_12
 
98
void                clutter_grid_layout_attach_next_to              (ClutterGridLayout   *layout,
 
99
                                                                     ClutterActor        *child,
 
100
                                                                     ClutterActor        *sibling,
 
101
                                                                     ClutterGridPosition  side,
 
102
                                                                     gint                 width,
 
103
                                                                     gint                 height);
 
104
 
 
105
CLUTTER_AVAILABLE_IN_1_12
 
106
ClutterActor *      clutter_grid_layout_get_child_at                (ClutterGridLayout *layout,
 
107
                                                                     gint               left,
 
108
                                                                     gint               top);
 
109
 
 
110
CLUTTER_AVAILABLE_IN_1_12
 
111
void                clutter_grid_layout_insert_row                  (ClutterGridLayout *layout,
 
112
                                                                     gint               position);
 
113
 
 
114
CLUTTER_AVAILABLE_IN_1_12
 
115
void                clutter_grid_layout_insert_column               (ClutterGridLayout *layout,
 
116
                                                                     gint               position);
 
117
 
 
118
CLUTTER_AVAILABLE_IN_1_12
 
119
void                clutter_grid_layout_insert_next_to              (ClutterGridLayout   *layout,
 
120
                                                                     ClutterActor        *sibling,
 
121
                                                                     ClutterGridPosition  side);
 
122
 
 
123
CLUTTER_AVAILABLE_IN_1_12
 
124
void                clutter_grid_layout_set_orientation             (ClutterGridLayout *layout,
 
125
                                                                     ClutterOrientation orientation);
 
126
 
 
127
CLUTTER_AVAILABLE_IN_1_12
 
128
ClutterOrientation  clutter_grid_layout_get_orientation             (ClutterGridLayout *layout);
 
129
 
 
130
CLUTTER_AVAILABLE_IN_1_12
 
131
void                clutter_grid_layout_set_column_spacing          (ClutterGridLayout *layout,
 
132
                                                                     guint              spacing);
 
133
 
 
134
CLUTTER_AVAILABLE_IN_1_12
 
135
guint               clutter_grid_layout_get_column_spacing          (ClutterGridLayout *layout);
 
136
 
 
137
CLUTTER_AVAILABLE_IN_1_12
 
138
void                clutter_grid_layout_set_row_spacing             (ClutterGridLayout *layout,
 
139
                                                                     guint              spacing);
 
140
 
 
141
CLUTTER_AVAILABLE_IN_1_12
 
142
guint               clutter_grid_layout_get_row_spacing             (ClutterGridLayout *layout);
 
143
 
 
144
CLUTTER_AVAILABLE_IN_1_12
 
145
void                clutter_grid_layout_set_column_homogeneous      (ClutterGridLayout *layout,
 
146
                                                                     gboolean           homogeneous);
 
147
 
 
148
CLUTTER_AVAILABLE_IN_1_12
 
149
gboolean            clutter_grid_layout_get_column_homogeneous      (ClutterGridLayout *layout);
 
150
 
 
151
 
 
152
CLUTTER_AVAILABLE_IN_1_12
 
153
void                clutter_grid_layout_set_row_homogeneous         (ClutterGridLayout *layout,
 
154
                                                                     gboolean           homogeneous);
 
155
 
 
156
CLUTTER_AVAILABLE_IN_1_12
 
157
gboolean            clutter_grid_layout_get_row_homogeneous         (ClutterGridLayout *layout);
 
158
 
 
159
G_END_DECLS
 
160
 
 
161
#endif /* __CLUTTER_GRID_LAYOUT_H__ */