diff options
author | Po Lu <luangruo@yahoo.com> | 2021-12-29 09:53:42 +0800 |
---|---|---|
committer | Po Lu <luangruo@yahoo.com> | 2021-12-29 09:59:30 +0800 |
commit | 9249365837c33e18f8504dcbf12b8c3d217f0d43 (patch) | |
tree | 7ead38d4557c0818b02172e82bfa9b4103022ae6 /src/pgtkterm.h | |
parent | 1e6c7cfd0beed5937dfb1ba4ad805666b19ea23e (diff) | |
download | emacs-9249365837c33e18f8504dcbf12b8c3d217f0d43.tar.gz |
Add support for xwidgets to the PGTK port
* src/emacsgtkfixed.c (EMACS_FIXED_GET_CLASS): New function.
(struct GtkFixedPrivateL): New struct.
(emacs_fixed_gtk_widget_size_allocate):
(emacs_fixed_class_init): New functions.
* src/keyboard.h: Declare lispy_function_keys also when
HAVE_PGTK.
* src/pgtkterm.c (x_free_frame_resources): Destroy all xwidget
views.
(pgtk_scroll_run): Move xwidget views that overlap with the
scrolled area.
(pgtk_emacs_to_gtk_modifiers): Expose function.
* src/pgtkterm.h: Wrap in include guard.
(pgtk_emacs_to_gtk_modifiers): New prototype.
* src/xwidget.c (xw_forward_event_translate):
(xw_forward_event_from_view): New functions.
(Fmake_xwidget): Remove obsolete PGTK specific code.
(Fxwidget_perform_lispy_event): Convert modifiers correctly on
PGTK.
(define_cursors): Use GDK functions to define cursors on PGTK.
(xwidget_view_from_window): Disable on non-PGTK builds.
(xwidget_show_view):
(xwidget_hide_view): Implement on PGTK.
(xv_do_draw): Disable on non-PGTK builds.
(offscreen_damage_event): Queue xwidget views for draw.
(xwidget_expose): Disable on non-PGTK builds.
(xwidget_init_view):
(x_draw_xwidget_glyph_string):
(Fdelete_xwidget_view): Implement for PGTK.
(syms_of_xwidget): Don't initialize XID to widget table on PGTK.
(lower_frame_xwidget_views): Disable on PGTK.
* src/xwidget.h (struct xwidget_view): New fields for PGTK
builds.
(kill_frame_xwidget_views): Enable on PGTK.
Diffstat (limited to 'src/pgtkterm.h')
-rw-r--r-- | src/pgtkterm.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/pgtkterm.h b/src/pgtkterm.h index e76411cf021..034e4f3c835 100644 --- a/src/pgtkterm.h +++ b/src/pgtkterm.h @@ -17,6 +17,8 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License along with GNU Emacs. If not, see <https://www.gnu.org/licenses/>. */ +#ifndef _PGTKTERM_H_ +#define _PGTKTERM_H_ #include "dispextern.h" #include "frame.h" @@ -660,5 +662,7 @@ extern bool xg_set_icon_from_xpm_data (struct frame *f, const char **data); extern bool pgtk_text_icon (struct frame *f, const char *icon_name); extern double pgtk_frame_scale_factor (struct frame *); +extern int pgtk_emacs_to_gtk_modifiers (struct pgtk_display_info *, int); #endif /* HAVE_PGTK */ +#endif /* _PGTKTERM_H_ */ |