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 */