Enlightenment CVS committal Author : sebastid Project : e17 Module : proto
Dir : e17/proto/enterminus/src/bin Modified Files: handlers.c smart.c term.c ui.c Log Message: Div. =================================================================== RCS file: /cvsroot/enlightenment/e17/proto/enterminus/src/bin/handlers.c,v retrieving revision 1.10 retrieving revision 1.11 diff -u -3 -r1.10 -r1.11 --- handlers.c 25 Feb 2005 10:00:40 -0000 1.10 +++ handlers.c 25 Feb 2005 11:06:06 -0000 1.11 @@ -1,3 +1,6 @@ +/* + * vim:ts=8:sw=3:sts=8:noexpandtab:cino=>3 + */ #include "term.h" void term_handler_xterm_seq(int op, Term *term) { @@ -142,24 +145,23 @@ * n == 1: Clear to Left (EL1) * n == 2: Clear All */ - DPRINT((stderr, "ESC [ [ n ] K Erase in Line (EL)\n")); - if(narg) { - if(args[0] == 1) { + DPRINT((stderr, "ESC [ [ n ] K Erase in Line (EL) %d %d\n", term->cur_col, term->cur_row)); + if (narg) { + if (args[0] == 1) { /* erase from start of line to cursor */ - term_clear_area(term, 1, term->cur_row, - term->cur_col, term->cur_row); + term_clear_area(term, 1, term->cur_row + 1, + term->cur_col, term->cur_row + 1); } - if(args[0] == 2) { + if (args[0] == 2) { /* erase whole line */ - term_clear_area(term, 1, term->cur_row, - term->tcanvas->cols, term->cur_row); + term_clear_area(term, 1, term->cur_row + 1, + term->tcanvas->cols, term->cur_row + 1); } } else { /* erase from cursor to end of line */ - term_clear_area(term, term->cur_col, - term->cur_row, - term->tcanvas->cols, term->cur_row); + term_clear_area(term, term->cur_col + 1, term->cur_row + 1, + term->tcanvas->cols, term->cur_row + 1); } break; case 'L': =================================================================== RCS file: /cvsroot/enlightenment/e17/proto/enterminus/src/bin/smart.c,v retrieving revision 1.7 retrieving revision 1.8 diff -u -3 -r1.7 -r1.8 --- smart.c 25 Feb 2005 09:21:26 -0000 1.7 +++ smart.c 25 Feb 2005 11:06:06 -0000 1.8 @@ -199,17 +199,29 @@ if ((term->tcanvas->cols == num_chars_w) && (term->tcanvas->rows == num_chars_h)) return; - term->tcanvas->scroll_region_start += (term->tcanvas->rows - num_chars_h); - if (term->tcanvas->scroll_region_start < 0) - term->tcanvas->scroll_region_start += term->tcanvas->scroll_size; - else if (term->tcanvas->scroll_region_start >= term->tcanvas->scroll_size) - term->tcanvas->scroll_region_start -= term->tcanvas->scroll_size; + size = term->tcanvas->rows - num_chars_h; + if (term->cur_row < (term->tcanvas->rows / 2)) { + /* Change at the bottom */ + term->tcanvas->scroll_region_end -= size; + if (term->tcanvas->scroll_region_end < 0) + term->tcanvas->scroll_region_end += term->tcanvas->scroll_size; + if (term->tcanvas->scroll_region_end >= term->tcanvas->scroll_size) + term->tcanvas->scroll_region_end -= term->tcanvas->scroll_size; + } else { + /* Change at the top */ + term->tcanvas->scroll_region_start += size; + if (term->tcanvas->scroll_region_start < 0) + term->tcanvas->scroll_region_start += term->tcanvas->scroll_size; + else if (term->tcanvas->scroll_region_start >= term->tcanvas->scroll_size) + term->tcanvas->scroll_region_start -= term->tcanvas->scroll_size; + } term->tcanvas->grid[0] = realloc(term->tcanvas->grid[0], num_chars_w * term->tcanvas->scroll_size * sizeof(Term_TGlyph)); for (x = 1; x < term->tcanvas->scroll_size; x++) term->tcanvas->grid[x] = &term->tcanvas->grid[x - 1][num_chars_w]; + memset(term->tcanvas->grid[0], 0, num_chars_w * term->tcanvas->scroll_size * sizeof(Term_TGlyph)); /* FIXME: Initialize new characters if we get bigger */ /* Mark all visible characters changed */ =================================================================== RCS file: /cvsroot/enlightenment/e17/proto/enterminus/src/bin/term.c,v retrieving revision 1.14 retrieving revision 1.15 diff -u -3 -r1.14 -r1.15 --- term.c 25 Feb 2005 09:21:26 -0000 1.14 +++ term.c 25 Feb 2005 11:06:06 -0000 1.15 @@ -263,7 +263,7 @@ execute_command(term);//, argc, argv); term->cursor.shape = evas_object_rectangle_add(term->evas); evas_object_resize(term->cursor.shape, term->font.width, term->font.height); - evas_object_color_set(term->cursor.shape, 100,100,100,255); + evas_object_color_set(term->cursor.shape, 100, 100, 100, 255); evas_object_layer_set(term->cursor.shape, 5); evas_object_show(term->cursor.shape); term->cursor.last_reset = ecore_time_get(); =================================================================== RCS file: /cvsroot/enlightenment/e17/proto/enterminus/src/bin/ui.c,v retrieving revision 1.22 retrieving revision 1.23 diff -u -3 -r1.22 -r1.23 --- ui.c 25 Feb 2005 10:00:40 -0000 1.22 +++ ui.c 25 Feb 2005 11:06:06 -0000 1.23 @@ -135,7 +135,7 @@ int term_cursor_move_up(Term *term, int n) { - term->cur_row -= n - 1; + term->cur_row -= n; if (term->cur_row < 0) term->cur_row = 0; return term->cur_row; @@ -145,7 +145,7 @@ int term_cursor_move_down(Term *term, int n) { - term->cur_row += n - 1; + term->cur_row += n; if (term->cur_row >= term->tcanvas->rows) term->cur_row = term->tcanvas->rows - 1; return term->cur_row; @@ -269,8 +269,8 @@ if (x >= term->tcanvas->scroll_size) x -= term->tcanvas->scroll_size; tgl = &term->tcanvas->grid[x][j]; - if (tgl->c != ' ' && tgl->c != '\0') { - tgl->c = '\0'; + if (tgl->c != ' ') { + tgl->c = ' '; tgl->changed = 1; term->tcanvas->changed_rows[x] = 1; } @@ -361,8 +361,8 @@ int term_cursor_anim(Term *term) { int a; - a = 162 + 73 * cos ((ecore_time_get () - term->cursor.last_reset) * 2); - evas_object_color_set (term->cursor.shape, 100, 100, 100, a); + a = 162 + 73 * cos((ecore_time_get () - term->cursor.last_reset) * 2); + evas_object_color_set(term->cursor.shape, 100, 100, 100, a); return 1; } ------------------------------------------------------- SF email is sponsored by - The IT Product Guide Read honest & candid reviews on hundreds of IT Products from real users. Discover which products truly live up to the hype. Start reading now. http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click _______________________________________________ enlightenment-cvs mailing list enlightenment-cvs@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs