summaryrefslogtreecommitdiff
path: root/desktop
diff options
context:
space:
mode:
authorMichael Drake <tlsa@netsurf-browser.org>2011-06-15 11:46:07 +0000
committerMichael Drake <tlsa@netsurf-browser.org>2011-06-15 11:46:07 +0000
commitf368c3c84923fd1d99fbbcf6a38ad10ed09a8098 (patch)
treedac450f533b68b13ac911a61a0c99e16589c4e28 /desktop
parent188712d14214fdee7ea68eefb5ea8b70f74b7d8a (diff)
downloadnetsurf-f368c3c84923fd1d99fbbcf6a38ad10ed09a8098.tar.gz
netsurf-f368c3c84923fd1d99fbbcf6a38ad10ed09a8098.tar.bz2
Improve scale with iframes.
svn path=/trunk/netsurf/; revision=12477
Diffstat (limited to 'desktop')
-rw-r--r--desktop/browser.c14
1 files changed, 10 insertions, 4 deletions
diff --git a/desktop/browser.c b/desktop/browser.c
index 049289852..96d5a58d5 100644
--- a/desktop/browser.c
+++ b/desktop/browser.c
@@ -192,8 +192,8 @@ void browser_window_get_position(struct browser_window *bw, bool root,
/* offset comes from its box position in parent bw */
box_coords(bw->box, &x, &y);
- *pos_x += x;
- *pos_y += y;
+ *pos_x += x * bw->scale;
+ *pos_y += y * bw->scale;
break;
}
@@ -760,7 +760,7 @@ void browser_window_get_dimensions(struct browser_window *bw,
case BROWSER_WINDOW_IFRAME:
/* browser window is size of associated box */
box_bounds(bw->box, &rect);
- /* TODO: Handle scale */
+LOG(("SCALED: %s", scaled ? "yes" : "no"));
*width = rect.x1 - rect.x0;
*height = rect.y1 - rect.y0;
break;
@@ -1334,7 +1334,13 @@ void browser_window_reformat(struct browser_window *bw, int width, int height)
if (c == NULL)
return;
- content_reformat(c, width / bw->scale, height / bw->scale);
+ if (bw->browser_window_type != BROWSER_WINDOW_IFRAME) {
+ /* Iframe dimensions are already scaled in parent's layout */
+ width /= bw->scale;
+ height /= bw->scale;
+ }
+
+ content_reformat(c, width, height);
}