diff options
author | Rodrigo Arias Mallo <rodarima@gmail.com> | 2024-06-09 21:52:14 +0200 |
---|---|---|
committer | Rodrigo Arias Mallo <rodarima@gmail.com> | 2024-06-25 20:45:21 +0200 |
commit | 06f9083bdeb085b7b9de762fa029f6519e142dbe (patch) | |
tree | b3efca1e52e04f11a2087696d643d3ccfb84993d /src/web.cc | |
parent | 52d9a4726da51b78bc5ed445588efb17f5f4e637 (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.cc | 8 |
1 files changed, 5 insertions, 3 deletions
@@ -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); |