Fix treeview code's inconsistant application of the plot origin. (Fixes various redraw glitches.)

This commit is contained in:
Michael Drake 2013-08-16 10:05:21 +01:00
parent 8a87058dc2
commit c3ca5ab979
1 changed files with 7 additions and 7 deletions

View File

@ -450,21 +450,21 @@ void ro_treeview_redraw_loop(wimp_draw *redraw, ro_treeview *tv, osbool more)
}; };
while (more) { while (more) {
ro_plot_origin_x = redraw->box.x0 - redraw->xscroll; ro_plot_origin_x = redraw->box.x0 + tv->origin.x -
ro_plot_origin_y = redraw->box.y1 - redraw->yscroll; redraw->xscroll;
ro_plot_origin_y = redraw->box.y1 + tv->origin.y -
redraw->yscroll;
if (tv != NULL && tv->tree != NULL) { if (tv != NULL && tv->tree != NULL) {
struct rect clip; struct rect clip;
clip.x0 = (redraw->clip.x0 - clip.x0 = (redraw->clip.x0 - ro_plot_origin_x) / 2;
(ro_plot_origin_x + tv->origin.x)) / 2; clip.y0 = (ro_plot_origin_y - redraw->clip.y1) / 2;
clip.y0 = ((ro_plot_origin_y + tv->origin.y) -
redraw->clip.y1) / 2;
/* Treeview text alwyas has flat background colour, /* Treeview text alwyas has flat background colour,
* so disable unnecessary background blending */ * so disable unnecessary background blending */
no_font_blending = true; no_font_blending = true;
tree_draw(tv->tree, tv->origin.x/2, -(tv->origin.y/2), tree_draw(tv->tree, 0, 0,
clip.x0, clip.y0, clip.x0, clip.y0,
(redraw->clip.x1 - redraw->clip.x0)/2, (redraw->clip.x1 - redraw->clip.x0)/2,
(redraw->clip.y1 - redraw->clip.y0)/2, (redraw->clip.y1 - redraw->clip.y0)/2,