diff options
author | Yuuki Harano <masm+github@masm11.me> | 2020-09-06 23:27:45 +0900 |
---|---|---|
committer | Jeff Walsh <jeff.walsh@drtusers-MacBook-Pro.local> | 2020-11-24 12:24:40 +1100 |
commit | 28073ba59bbabec1194977d654b471800ce63f45 (patch) | |
tree | 967c439b8f95894da3e573b0897d28b3b4d6c6d2 /src/emacsgtkfixed.h | |
parent | e75ce0302d4c907c8ff56fb15fc7dd12b48e7370 (diff) | |
download | emacs-28073ba59bbabec1194977d654b471800ce63f45.tar.gz emacs-28073ba59bbabec1194977d654b471800ce63f45.tar.bz2 emacs-28073ba59bbabec1194977d654b471800ce63f45.zip |
Re-implement childframe with emacsgtkfixed
* src/emacsgtkfixed.c (G_DEFINE_TYPE): Make emacs_fixed_get_type public.
* src/emacsgtkfixed.h (EMACS_TYPE_FIXED): Make emacs_fixed_get_type public.
* src/gtkutil.c (xg_frame_set_char_size): Call appropriate functions
by whether the frame is a child frame or not.
(xg_create_frame_widgets): Use GTK_WINDOW_TOPLEVEL when creating child frame.
(xg_create_frame_outer_widgets): New function.
(xg_set_skip_taskbar): Call only when top-level frame.
(xg_set_no_accept_focus): See appropriate widget.
* src/gtkutil.h: New declaration.
* src/pgtkfns.c (pgtk_set_name_internal): Do only when top-level frame.
(Fx_create_frame): Reparent the frame.
(frame_geometry): Call appropriate functions
(syms_of_pgtkfns): Port from X code.
* src/pgtkterm.c (x_free_frame_resources): Destroy appropriate widget.
(x_calc_absolute_position): Port from X code.
(x_set_offset): Re-port from X code.
(pgtk_set_window_size): Use appropriate widget.
(pgtk_make_frame_visible): Use appropriate widget.
(pgtk_make_frame_invisible): Use appropriate widget.
(x_set_parent_frame): Reparent the frame.
(x_set_z_group): Process only when top-level frame.
(pgtk_text_icon): Process only when top-level frame.
(set_fullscreen_state): Process only when top-level frame.
(frame_highlight): Hold ref.
(frame_unhighlight): Hold ref.
(pgtk_window_is_of_frame_recursive): Prune child frames.
(pgtk_window_is_of_frame): Prune child frames.
(print_widget_tree_recursive): Don't call this when not debugging.
(pgtk_handle_draw): Don't call this when not debugging.
(pgtk_set_event_handler): expect map-event for edit_widget not outer widget.
* src/pgtkterm.h (FRAME_WIDGET): New macro.
Diffstat (limited to 'src/emacsgtkfixed.h')
-rw-r--r-- | src/emacsgtkfixed.h | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/emacsgtkfixed.h b/src/emacsgtkfixed.h index b230a4d4d8a..f2fb1f269a2 100644 --- a/src/emacsgtkfixed.h +++ b/src/emacsgtkfixed.h @@ -27,6 +27,9 @@ struct frame; G_BEGIN_DECLS +#define EMACS_TYPE_FIXED (emacs_fixed_get_type ()) +#define EMACS_IS_FIXED(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), EMACS_TYPE_FIXED)) + struct frame; typedef struct _EmacsFixedPrivate EmacsFixedPrivate; @@ -44,6 +47,8 @@ struct _EmacsFixedClass GtkFixedClass parent_class; }; +extern GType emacs_fixed_get_type (void); + extern GtkWidget *emacs_fixed_new (struct frame *f); G_END_DECLS |