Enlightenment CVS committal Author : codewarrior Project : e17 Module : proto
Dir : e17/proto/enterminus/src/bin Modified Files: term.c ui.c Log Message: fixed problem that was causing the last line not to draw. still need to fix wrap around scrolling issue =================================================================== RCS file: /cvsroot/enlightenment/e17/proto/enterminus/src/bin/term.c,v retrieving revision 1.4 retrieving revision 1.5 diff -u -3 -r1.4 -r1.5 --- term.c 4 Feb 2005 18:39:45 -0000 1.4 +++ term.c 4 Feb 2005 19:53:41 -0000 1.5 @@ -28,7 +28,7 @@ gl->fg = term->tcanvas->cur_fg; gl->bg = term->tcanvas->cur_bg; term->tcanvas->changed_rows[term->tcanvas->cur_row] = 1; - term->tcanvas->cur_col++; + term->tcanvas->cur_col++; if(term->tcanvas->cur_col > term->tcanvas->cols) { term->tcanvas->cur_col = 0; @@ -101,7 +101,7 @@ canvas->canvas_id = 1; /* change later */ canvas->rows = 24; /* multiply by a number or scrollback */ canvas->cols = 80; - canvas->scroll_size = 50; /* this means rows * 3 total rows */ + canvas->scroll_size = 3; /* this means rows * 3 total rows */ canvas->cur_row = 0; /* between 0 and rows-1 */ canvas->cur_col = 0; canvas->grid = calloc(canvas->cols * =================================================================== RCS file: /cvsroot/enlightenment/e17/proto/enterminus/src/bin/ui.c,v retrieving revision 1.5 retrieving revision 1.6 diff -u -3 -r1.5 -r1.6 --- ui.c 4 Feb 2005 18:39:46 -0000 1.5 +++ ui.c 4 Feb 2005 19:53:41 -0000 1.6 @@ -43,23 +43,26 @@ /* see what changed chars we have, redraw */ void term_redraw(void *data) { - int i,j; - int ig = 0, jg = 0; + int i,i2,j; + int ig = 0; char c[2]; Term *term = data; Evas_Object *ob; Term_EGlyph *gl; Term_TGlyph *tgl; + + i2 = term->tcanvas->scroll_region_start; - for(i = 0; i < term->tcanvas->rows; i++) { - if(term->tcanvas->changed_rows[i] != 1) { + for(i = 0; i < term->tcanvas->rows; i++) { + if(term->tcanvas->changed_rows[i2] != 1) { + i2++; continue; } - //printf("Rendering c-row %d g-row %d\n",i+ term->tcanvas->scroll_region_start,i); + /* printf("Rendering c-row %d g-row %d\n",i2,i); */ for(j = 0; j < term->tcanvas->cols; j++) { tgl = &term->tcanvas->grid[j + (term->tcanvas->cols * - (i+ term->tcanvas->scroll_region_start) + (i2) )]; if(tgl->changed != 1) { continue; @@ -69,8 +72,6 @@ continue; } - //printf("i=%d term->tcanvas->scroll_region_start=%d term->tcanvas->rows=%d term->tcanvas->scroll_size=%d\n",i,term->tcanvas->scroll_region_start,term->tcanvas->rows,term->tcanvas->scroll_size); - if(i + term->tcanvas->scroll_region_start + 1 < (term->tcanvas->rows - 1)*term->tcanvas->scroll_size) { gl = &term->grid[j + (term->tcanvas->cols * i)]; } else { @@ -81,7 +82,8 @@ c[0] = tgl->c; c[1] = '\0'; evas_object_text_text_set(gl->text, c); - + + /* this is just temp, move it into its own function later */ switch(tgl->fg) { case 0: evas_object_color_set(gl->text, COLOR0, 255); @@ -122,6 +124,7 @@ printf("Overflowing: [cur_row=%d] [start: %d, end: %d] [ig=%d]\n",term->tcanvas->cur_row,term->tcanvas->scroll_region_start,term->tcanvas->scroll_region_end,ig); ig++; } + i2++; term->tcanvas->changed_rows[i] = 0; } } ------------------------------------------------------- This SF.Net email is sponsored by: IntelliVIEW -- Interactive Reporting Tool for open source databases. Create drag-&-drop reports. Save time by over 75%! Publish reports on the web. Export to DOC, XLS, RTF, etc. Download a FREE copy at http://www.intelliview.com/go/osdn_nl _______________________________________________ enlightenment-cvs mailing list enlightenment-cvs@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs