1 /* A Gtk Widget that inherits GtkFixed, but can be shrunk.
2 This file is only use when compiling with Gtk+ 3.
3
4 Copyright (C) 2011-2023 Free Software Foundation, Inc.
5
6 This file is part of GNU Emacs.
7
8 GNU Emacs is free software: you can redistribute it and/or modify
9 it under the terms of the GNU General Public License as published by
10 the Free Software Foundation, either version 3 of the License, or (at
11 your option) any later version.
12
13 GNU Emacs is distributed in the hope that it will be useful,
14 but WITHOUT ANY WARRANTY; without even the implied warranty of
15 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 GNU General Public License for more details.
17
18 You should have received a copy of the GNU General Public License
19 along with GNU Emacs. If not, see <https://www.gnu.org/licenses/>. */
20
21 #ifndef EMACSGTKFIXED_H
22 #define EMACSGTKFIXED_H
23
24 #include <gtk/gtk.h>
25
26 struct frame;
27
28 G_BEGIN_DECLS
29
30 #ifdef HAVE_PGTK
31 #define EMACS_TYPE_FIXED (emacs_fixed_get_type ())
32 #define EMACS_IS_FIXED(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), EMACS_TYPE_FIXED))
33 #endif
34
35 struct frame;
36
37 typedef struct _EmacsFixedPrivate EmacsFixedPrivate;
38
39 struct _EmacsFixed
40 {
41 GtkFixed container;
42
43 /*< private >*/
44 EmacsFixedPrivate *priv;
45 };
46
47 struct _EmacsFixedClass
48 {
49 GtkFixedClass parent_class;
50 };
51
52 #ifdef HAVE_PGTK
53 extern GType emacs_fixed_get_type (void);
54 #endif
55
56 extern GtkWidget *emacs_fixed_new (struct frame *f);
57
58 G_END_DECLS
59
60 #endif /* EMACSGTKFIXED_H */