diff options
author | Ricardo Wurmus <rekado@elephly.net> | 2016-10-25 23:00:35 -0700 |
---|---|---|
committer | Paul Eggert <eggert@cs.ucla.edu> | 2016-10-25 23:07:13 -0700 |
commit | e443eab6bf2b7b6e2f6a9ab06b1c5618b19ae653 (patch) | |
tree | c8062ae848fa5e031d1cf06663c86e6b7cf6ca13 /src/xwidget.c | |
parent | a9785bd5c2e27e949040342e441c1a65a5b650d0 (diff) | |
download | emacs-e443eab6bf2b7b6e2f6a9ab06b1c5618b19ae653.tar.gz |
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.
Diffstat (limited to 'src/xwidget.c')
-rw-r--r-- | src/xwidget.c | 20 |
1 files changed, 20 insertions, 0 deletions
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"); |