summaryrefslogtreecommitdiff
path: root/src/pgtkterm.h
diff options
context:
space:
mode:
authorPo Lu <luangruo@yahoo.com>2021-12-29 09:53:42 +0800
committerPo Lu <luangruo@yahoo.com>2021-12-29 09:59:30 +0800
commit9249365837c33e18f8504dcbf12b8c3d217f0d43 (patch)
tree7ead38d4557c0818b02172e82bfa9b4103022ae6 /src/pgtkterm.h
parent1e6c7cfd0beed5937dfb1ba4ad805666b19ea23e (diff)
downloademacs-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.h4
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_ */