change browser_window_redraw to use unscaled coordinates
This commit is contained in:
parent
b2f5c80ef8
commit
f21c41a2e5
|
@ -1786,8 +1786,8 @@ bool html_redraw_box(const html_content *html, struct box *box,
|
|||
} else if (box->iframe) {
|
||||
/* Offset is passed to browser window redraw unscaled */
|
||||
browser_window_redraw(box->iframe,
|
||||
(x + padding_left) / scale,
|
||||
(y + padding_top) / scale, &r, ctx);
|
||||
x + padding_left,
|
||||
y + padding_top, &r, ctx);
|
||||
|
||||
} else if (box->gadget && box->gadget->type == GADGET_CHECKBOX) {
|
||||
if (!html_redraw_checkbox(x + padding_left, y + padding_top,
|
||||
|
|
|
@ -1929,6 +1929,9 @@ browser_window_redraw(struct browser_window *bw,
|
|||
struct rect content_clip;
|
||||
nserror res;
|
||||
|
||||
x /= bw->scale;
|
||||
y /= bw->scale;
|
||||
|
||||
if (bw == NULL) {
|
||||
NSLOG(netsurf, INFO, "NULL browser window");
|
||||
return false;
|
||||
|
|
|
@ -357,7 +357,6 @@ fb_redraw(fbtk_widget_t *widget,
|
|||
.plot = &fb_plotters
|
||||
};
|
||||
nsfb_t *nsfb = fbtk_get_nsfb(widget);
|
||||
float scale = browser_window_get_scale(bw);
|
||||
|
||||
x = fbtk_get_absx(widget);
|
||||
y = fbtk_get_absy(widget);
|
||||
|
@ -377,8 +376,8 @@ fb_redraw(fbtk_widget_t *widget,
|
|||
clip.y1 = bwidget->redraw_box.y1;
|
||||
|
||||
browser_window_redraw(bw,
|
||||
(x - bwidget->scrollx) / scale,
|
||||
(y - bwidget->scrolly) / scale,
|
||||
x - bwidget->scrollx,
|
||||
y - bwidget->scrolly,
|
||||
&clip, &ctx);
|
||||
|
||||
if (fbtk_get_caret(widget, &caret_x, &caret_y, &caret_h)) {
|
||||
|
@ -1861,10 +1860,9 @@ static bool
|
|||
gui_window_get_scroll(struct gui_window *g, int *sx, int *sy)
|
||||
{
|
||||
struct browser_widget_s *bwidget = fbtk_get_userpw(g->browser);
|
||||
float scale = browser_window_get_scale(g->bw);
|
||||
|
||||
*sx = bwidget->scrollx / scale;
|
||||
*sy = bwidget->scrolly / scale;
|
||||
*sx = bwidget->scrollx;
|
||||
*sy = bwidget->scrolly;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
@ -1884,12 +1882,11 @@ static nserror
|
|||
gui_window_set_scroll(struct gui_window *gw, const struct rect *rect)
|
||||
{
|
||||
struct browser_widget_s *bwidget = fbtk_get_userpw(gw->browser);
|
||||
float scale = browser_window_get_scale(gw->bw);
|
||||
|
||||
assert(bwidget);
|
||||
|
||||
widget_scroll_x(gw, rect->x0 * scale, true);
|
||||
widget_scroll_y(gw, rect->y0 * scale, true);
|
||||
widget_scroll_x(gw, rect->x0, true);
|
||||
widget_scroll_y(gw, rect->y0, true);
|
||||
|
||||
return NSERROR_OK;
|
||||
}
|
||||
|
|
|
@ -383,8 +383,8 @@ nsws_drawable_paint(struct gui_window *gw, HWND hwnd)
|
|||
*/
|
||||
|
||||
browser_window_redraw(gw->bw,
|
||||
-gw->scrollx / gw->scale,
|
||||
-gw->scrolly / gw->scale,
|
||||
-gw->scrollx,
|
||||
-gw->scrolly,
|
||||
&clip,
|
||||
&ctx);
|
||||
}
|
||||
|
|
|
@ -882,8 +882,8 @@ win32_window_invalidate_area(struct gui_window *gw, const struct rect *rect)
|
|||
if (rect != NULL) {
|
||||
redrawrectp = &redrawrect;
|
||||
|
||||
redrawrect.left = (long)rect->x0 - (gw->scrollx / gw->scale);
|
||||
redrawrect.top = (long)rect->y0 - (gw->scrolly / gw->scale);
|
||||
redrawrect.left = (long)rect->x0 - gw->scrollx;
|
||||
redrawrect.top = (long)rect->y0 - gw->scrolly;
|
||||
redrawrect.right =(long)rect->x1;
|
||||
redrawrect.bottom = (long)rect->y1;
|
||||
|
||||
|
@ -1417,7 +1417,6 @@ win32_window_create(struct browser_window *bw,
|
|||
|
||||
gw->width = 800;
|
||||
gw->height = 600;
|
||||
gw->scale = 1.0;
|
||||
gw->toolbuttonsize = 24;
|
||||
gw->requestscrollx = 0;
|
||||
gw->requestscrolly = 0;
|
||||
|
@ -1609,9 +1608,8 @@ win32_window_place_caret(struct gui_window *w, int x, int y,
|
|||
return;
|
||||
}
|
||||
|
||||
CreateCaret(w->drawingarea, (HBITMAP)NULL, 1, height * w->scale);
|
||||
SetCaretPos(x * w->scale - w->scrollx,
|
||||
y * w->scale - w->scrolly);
|
||||
CreateCaret(w->drawingarea, (HBITMAP)NULL, 1, height );
|
||||
SetCaretPos(x - w->scrollx, y - w->scrolly);
|
||||
ShowCaret(w->drawingarea);
|
||||
}
|
||||
|
||||
|
|
|
@ -62,8 +62,6 @@ struct gui_window {
|
|||
|
||||
HACCEL acceltable; /**< accelerators */
|
||||
|
||||
float scale; /**< scale of content */
|
||||
|
||||
int scrollx; /**< current scroll location */
|
||||
int scrolly; /**< current scroll location */
|
||||
|
||||
|
|
Loading…
Reference in New Issue