Merge from trunk.
[bpt/emacs.git] / src / emacsgtkfixed.h
1 /* A Gtk Widget that inherits GtkFixed, but can be shrinked.
2
3 Copyright (C) 2011 Free Software Foundation, Inc.
4
5 This file is part of GNU Emacs.
6
7 GNU Emacs is free software: you can redistribute it and/or modify
8 it under the terms of the GNU General Public License as published by
9 the Free Software Foundation, either version 3 of the License, or
10 (at your option) any later version.
11
12 GNU Emacs 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
15 GNU General Public License for more details.
16
17 You should have received a copy of the GNU General Public License
18 along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
19
20 #ifndef EMACSGTKFIXED_H
21 #define EMACSGTKFIXED_H
22
23 #include <gtk/gtk.h>
24
25 G_BEGIN_DECLS
26
27 #define EMACS_TYPE_FIXED (emacs_fixed_get_type ())
28 #define EMACS_FIXED(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), EMACS_TYPE_FIXED, EmacsFixed))
29 #define EMACS_FIXED_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), EMACS_TYPE_FIXED, EmacsFixedClass))
30 #define EMACS_IS_FIXED(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), EMACS_TYPE_FIXED))
31 #define EMACS_IS_FIXED_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), EMACS_TYPE_FIXED))
32 #define EMACS_FIXED_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), EMACS_TYPE_FIXED, EmacsFixedClass))
33
34 typedef struct _EmacsFixed EmacsFixed;
35 typedef struct _EmacsFixedPrivate EmacsFixedPrivate;
36 typedef struct _EmacsFixedClass EmacsFixedClass;
37
38 struct _EmacsFixed
39 {
40 GtkFixed container;
41
42 /*< private >*/
43 EmacsFixedPrivate *priv;
44 };
45
46
47 struct _EmacsFixedClass
48 {
49 GtkFixedClass parent_class;
50 };
51
52 extern GtkWidget *emacs_fixed_new (void);
53 extern void emacs_fixed_set_min_size (EmacsFixed *widget, int width, int height);
54 extern GType emacs_fixed_get_type (void);
55
56 G_END_DECLS
57
58 #endif /* EMACSGTKFIXED_H */