Deleted Added
full compact
34c34
< __FBSDID("$FreeBSD: head/sys/dev/vt/hw/vga/vt_vga.c 270485 2014-08-24 14:39:33Z dumbbell $");
---
> __FBSDID("$FreeBSD: head/sys/dev/vt/hw/vga/vt_vga.c 270613 2014-08-25 19:06:31Z dumbbell $");
559c559
< if (i < vw->vw_offset.tp_col) {
---
> if (i < vw->vw_draw_area.tr_begin.tp_col) {
565c565
< i = vw->vw_offset.tp_col;
---
> i = vw->vw_draw_area.tr_begin.tp_col;
568c568,569
< while (i < x + VT_VGA_PIXELS_BLOCK) {
---
> while (i < x + VT_VGA_PIXELS_BLOCK &&
> i < vw->vw_draw_area.tr_end.tp_col) {
576,577c577,578
< col = (i - vw->vw_offset.tp_col) / vf->vf_width;
< row = (y - vw->vw_offset.tp_row) / vf->vf_height;
---
> col = (i - vw->vw_draw_area.tr_begin.tp_col) / vf->vf_width;
> row = (y - vw->vw_draw_area.tr_begin.tp_row) / vf->vf_height;
608,612c609,617
< src_x = i - (col * vf->vf_width + vw->vw_offset.tp_col);
< x_count = min(
< (col + 1) * vf->vf_width + vw->vw_offset.tp_col,
< x + VT_VGA_PIXELS_BLOCK);
< x_count -= col * vf->vf_width + vw->vw_offset.tp_col;
---
> src_x = i -
> (col * vf->vf_width + vw->vw_draw_area.tr_begin.tp_col);
> x_count = min(min(
> (col + 1) * vf->vf_width +
> vw->vw_draw_area.tr_begin.tp_col,
> x + VT_VGA_PIXELS_BLOCK),
> vw->vw_draw_area.tr_end.tp_col);
> x_count -= col * vf->vf_width +
> vw->vw_draw_area.tr_begin.tp_col;
646,647c651,652
< mx = vd->vd_mx_drawn + vw->vw_offset.tp_col;
< my = vd->vd_my_drawn + vw->vw_offset.tp_row;
---
> mx = vd->vd_mx_drawn + vw->vw_draw_area.tr_begin.tp_col;
> my = vd->vd_my_drawn + vw->vw_draw_area.tr_begin.tp_row;
652,653c657,660
< x_count = min(
< min(cursor->width - src_x, x + VT_VGA_PIXELS_BLOCK - mx),
---
> x_count = min(min(min(
> cursor->width - src_x,
> x + VT_VGA_PIXELS_BLOCK - mx),
> vw->vw_draw_area.tr_end.tp_col - mx),
728c735
< x1 = (int)((col * vf->vf_width + vw->vw_offset.tp_col)
---
> x1 = (int)((col * vf->vf_width + vw->vw_draw_area.tr_begin.tp_col)
731c738
< y1 = row * vf->vf_height + vw->vw_offset.tp_row;
---
> y1 = row * vf->vf_height + vw->vw_draw_area.tr_begin.tp_row;
743c750
< x2 = (int)((col * vf->vf_width + vw->vw_offset.tp_col
---
> x2 = (int)((col * vf->vf_width + vw->vw_draw_area.tr_begin.tp_col
747c754
< y2 = row * vf->vf_height + vw->vw_offset.tp_row;
---
> y2 = row * vf->vf_height + vw->vw_draw_area.tr_begin.tp_row;
749,755c756,758
< /*
< * Clip the area to the screen size.
< *
< * FIXME: Take vw_offset into account.
< */
< x2 = min(x2, vd->vd_width - 1);
< y2 = min(y2, vd->vd_height - 1);
---
> /* Clip the area to the screen size. */
> x2 = min(x2, vw->vw_draw_area.tr_end.tp_col);
> y2 = min(y2, vw->vw_draw_area.tr_end.tp_row);