aboutsummaryrefslogtreecommitdiff
path: root/src/web.cc
diff options
context:
space:
mode:
authorRodrigo Arias Mallo <rodarima@gmail.com>2024-06-09 21:52:14 +0200
committerRodrigo Arias Mallo <rodarima@gmail.com>2024-06-25 20:45:21 +0200
commit06f9083bdeb085b7b9de762fa029f6519e142dbe (patch)
treeb3efca1e52e04f11a2087696d643d3ccfb84993d /src/web.cc
parent52d9a4726da51b78bc5ed445588efb17f5f4e637 (diff)
Add support for zoom factor
Allows zooming in and out of pages by changing the size of all elements, including font size, images and tables. The initial zoom is specified in the "zoom_factor" option of dillorc. Use the new shortcuts Ctrl+ and Ctrl- to adjust the zoom of the current page and Ctrl 0 to reset it to 100%. When a new tab or window is opened, the current zoom factor is inherited. Each tab retains its own zoom factor. Fixes: https://github.com/dillo-browser/dillo/issues/21
Diffstat (limited to 'src/web.cc')
-rw-r--r--src/web.cc8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/web.cc b/src/web.cc
index 5266c6e6..6f808b02 100644
--- a/src/web.cc
+++ b/src/web.cc
@@ -2,6 +2,7 @@
* File: web.cc
*
* Copyright 2005-2007 Jorge Arellano Cid <jcid@dillo.org>
+ * Copyright 2024 Rodrigo Arias Mallo <rodarima@gmail.com>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -53,9 +54,10 @@ int a_Web_dispatch_by_type (const char *Type, DilloWeb *Web,
_MSG("a_Web_dispatch_by_type\n");
- dReturn_val_if_fail(Web->bw != NULL, -1);
+ BrowserWindow *bw = Web->bw;
+ dReturn_val_if_fail(bw != NULL, -1);
- Layout *layout = (Layout*)Web->bw->render_layout;
+ Layout *layout = (Layout*)bw->render_layout;
Viewer_t viewer = a_Mime_get_viewer(Type);
if (viewer == NULL)
@@ -73,7 +75,7 @@ int a_Web_dispatch_by_type (const char *Type, DilloWeb *Web,
style::createPerLength (0));
/* Set a style for the widget */
- StyleEngine styleEngine (layout, Web->url, Web->url);
+ StyleEngine styleEngine (layout, Web->url, Web->url, bw->zoom);
styleEngine.startElement ("body", Web->bw);
dw = (Widget*) viewer(Type, Web, Call, Data);