From e443eab6bf2b7b6e2f6a9ab06b1c5618b19ae653 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 25 Oct 2016 23:00:35 -0700 Subject: Implement zoom for WebKit widget. * src/xwidget.c (xwidget-webkit-zoom): New procedure. * lisp/xwidget.el: Bind "+" and "-" to zoom in and out, respectively. (xwidget-webkit-zoom): Declare procedure. (xwidget-webkit-zoom-in, xwidget-webkit-zoom-out): New procedures. --- src/xwidget.c | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'src/xwidget.c') diff --git a/src/xwidget.c b/src/xwidget.c index dbd8fc18ad7..8105b3d825d 100644 --- a/src/xwidget.c +++ b/src/xwidget.c @@ -681,6 +681,25 @@ DEFUN ("xwidget-webkit-goto-uri", return Qnil; } +DEFUN ("xwidget-webkit-zoom", + Fxwidget_webkit_zoom, Sxwidget_webkit_zoom, + 2, 2, 0, + doc: /* Change the zoom factor of the xwidget webkit instance +referenced by XWIDGET. */) + (Lisp_Object xwidget, Lisp_Object factor) +{ + WEBKIT_FN_INIT (); + if (FLOATP (factor)) + { + double zoom_change = XFLOAT_DATA (factor); + webkit_web_view_set_zoom_level + (WEBKIT_WEB_VIEW (xw->widget_osr), + webkit_web_view_get_zoom_level + (WEBKIT_WEB_VIEW (xw->widget_osr)) + zoom_change); + } + return Qnil; +} + DEFUN ("xwidget-webkit-execute-script", Fxwidget_webkit_execute_script, Sxwidget_webkit_execute_script, @@ -953,6 +972,7 @@ syms_of_xwidget (void) defsubr (&Sset_xwidget_query_on_exit_flag); defsubr (&Sxwidget_webkit_goto_uri); + defsubr (&Sxwidget_webkit_zoom); defsubr (&Sxwidget_webkit_execute_script); DEFSYM (Qwebkit, "webkit"); -- cgit v1.2.1