1/* gtkoverlaylayout.h: Overlay layout manager
2 *
3 * SPDX-License-Identifier: LGPL-2.1-or-later
4 *
5 * Copyright 2019 Red Hat, Inc.
6 *
7 * This library is free software; you can redistribute it and/or
8 * modify it under the terms of the GNU Lesser General Public
9 * License as published by the Free Software Foundation; either
10 * version 2 of the License, or (at your option) any later version.
11 *
12 * This library is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15 * Lesser General Public License for more details.
16 *
17 * You should have received a copy of the GNU Lesser General Public
18 * License along with this library. If not, see <http://www.gnu.org/licenses/>.
19 */
20
21#pragma once
22
23#include <gtk/gtklayoutmanager.h>
24
25G_BEGIN_DECLS
26
27#define GTK_TYPE_OVERLAY_LAYOUT (gtk_overlay_layout_get_type ())
28#define GTK_TYPE_OVERLAY_LAYOUT_CHILD (gtk_overlay_layout_child_get_type ())
29
30/* GtkOverlayLayout */
31
32GDK_AVAILABLE_IN_ALL
33G_DECLARE_FINAL_TYPE (GtkOverlayLayout, gtk_overlay_layout, GTK, OVERLAY_LAYOUT, GtkLayoutManager)
34
35GDK_AVAILABLE_IN_ALL
36GtkLayoutManager * gtk_overlay_layout_new (void);
37
38/* GtkOverlayLayoutChild */
39
40GDK_AVAILABLE_IN_ALL
41G_DECLARE_FINAL_TYPE (GtkOverlayLayoutChild, gtk_overlay_layout_child, GTK, OVERLAY_LAYOUT_CHILD, GtkLayoutChild)
42
43GDK_AVAILABLE_IN_ALL
44void gtk_overlay_layout_child_set_measure (GtkOverlayLayoutChild *child,
45 gboolean measure);
46
47GDK_AVAILABLE_IN_ALL
48gboolean gtk_overlay_layout_child_get_measure (GtkOverlayLayoutChild *child);
49
50GDK_AVAILABLE_IN_ALL
51void gtk_overlay_layout_child_set_clip_overlay (GtkOverlayLayoutChild *child,
52 gboolean clip_overlay);
53
54GDK_AVAILABLE_IN_ALL
55gboolean gtk_overlay_layout_child_get_clip_overlay (GtkOverlayLayoutChild *child);
56
57G_END_DECLS
58

source code of gtk/gtk/gtkoverlaylayout.h