Merge from trunk
[bpt/emacs.git] / src / emacsgtkfixed.h
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-2012 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
11 (at 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 <http://www.gnu.org/licenses/>. */
20
21 #ifndef EMACSGTKFIXED_H
22 #define EMACSGTKFIXED_H
23
24 #include <gtk/gtk.h>
25
26 G_BEGIN_DECLS
27
28 struct frame;
29
30 #define EMACS_TYPE_FIXED (emacs_fixed_get_type ())
31 #define EMACS_FIXED(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), EMACS_TYPE_FIXED, EmacsFixed))
32 #define EMACS_FIXED_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), EMACS_TYPE_FIXED, EmacsFixedClass))
33 #define EMACS_IS_FIXED(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), EMACS_TYPE_FIXED))
34 #define EMACS_IS_FIXED_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), EMACS_TYPE_FIXED))
35 #define EMACS_FIXED_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), EMACS_TYPE_FIXED, EmacsFixedClass))
36
37 typedef struct _EmacsFixed EmacsFixed;
38 typedef struct _EmacsFixedPrivate EmacsFixedPrivate;
39 typedef struct _EmacsFixedClass EmacsFixedClass;
40
41 struct _EmacsFixed
42 {
43 GtkFixed container;
44
45 /*< private >*/
46 EmacsFixedPrivate *priv;
47 };
48
49
50 struct _EmacsFixedClass
51 {
52 GtkFixedClass parent_class;
53 };
54
55 extern GtkWidget *emacs_fixed_new (struct frame *f);
56 extern GType emacs_fixed_get_type (void);
57
58 G_END_DECLS
59
60 #endif /* EMACSGTKFIXED_H */