Patch level : 2.0 230 e piu'

Files correlati     :
Ricompilazione Demo : [ ]
Commento            :

Migliorata velocita' di aggiornamento degli spreadsheet


git-svn-id: svn://10.65.10.50/trunk@10934 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
guy 2003-03-20 10:32:14 +00:00
parent bce0bb3fcc
commit 2627b0bdd7
3 changed files with 18 additions and 11 deletions

@ -866,19 +866,21 @@ lm_invalidate_rows_internal( LM lm, int row_start, int row_end,
int focus_row,
focus_column;
BOOLEAN v_scrolled,
has_focus;
has_focus,
optimize;
row_end = min( row_end, lmp->nbr_realized_rows - 1 );
if ( row_start > row_end || row_start < 0 )
return;
has_focus = lm_focus_cell_get( lmp, &focus_row, &focus_column, &v_scrolled );
optimize = xi_get_pref( XI_PREF_OPTIMIZE_CELL_REQUESTS ) != 0;
for ( row = row_start; row <= row_end; row++ )
{
for ( col = ( column == -1 ) ? 0 : column;
col < ( ( column == -1 ) ? ( lmp->nbr_columns ) : ( column + 1 ) );
col++ )
{
if ( xi_get_pref( XI_PREF_OPTIMIZE_CELL_REQUESTS ) )
if ( optimize )
{
/* if the cell that we are doing cell request for has focus, and we are
* not supposed to preserve focus text, then we need to call

@ -1465,7 +1465,7 @@ draw_background_rects( LM_DATA * lmp, XinWindow win, ROW_INFO * row_info,
brush_color = lmp->back_color;
if ( cell_data->back_color )
brush_color = cell_data->back_color;
/*
/*
TO OPTIMIZE BACKGROUND DRAWING, USE NEXT TWO LINES
if (brush_color == lmp->back_color)
continue;
@ -1509,10 +1509,10 @@ TO OPTIMIZE BACKGROUND DRAWING, USE NEXT TWO LINES
XinRect rct;
brush_color = lmp->disabled_back_color;
/*
/*
TO OPTIMIZE BACKGROUND DRAWING, USE NEXT TWO LINES
if (brush_color == lmp->back_color)
continue;
continue;
*/
if ( brush_color != last_brush_color )
{
@ -1564,10 +1564,10 @@ TO OPTIMIZE BACKGROUND DRAWING, USE NEXT TWO LINES
brush_color = lmp->disabled_color;
if ( cell_data->back_color && lmp->retain_back_color_on_select )
brush_color = cell_data->back_color;
/*
/*
TO OPTIMIZE BACKGROUND DRAWING, USE NEXT TWO LINES
if (brush_color == lmp->back_color)
continue;
continue;
*/
if ( brush_color != last_brush_color )
{
@ -2436,10 +2436,10 @@ draw_cell_range( LM_DATA * lmp, int first_row, int last_row,
/* This used to be for columns with suppress_update_cells, but now applies to all */
/* Used to have the following line as a condition for the "for" loop: */
/* if ( lmp->lm_column_data[col]->suppress_update_cells ) */
for ( col = first_col; col <= last_col; ++col )
for ( row = first_row; row <= last_row; ++row )
{
for ( row = first_row; row <= last_row; ++row )
{
for ( col = first_col; col <= last_col; ++col )
{
LM_CELL_DATA *cell_data;
cell_data = &( lmp->cell_data[row][col] );

@ -3570,7 +3570,12 @@ void
XinWindowDottedRectDraw( XinWindow Win, XinRect * rctp )
{
/*END*/
xvt_dwin_draw_dotted_rect( ( WINDOW ) Win, rctp );
RCT r;
r.left = rctp->left;
r.top = rctp->top;
r.right = rctp->right;
r.bottom = rctp->bottom;
xvt_dwin_draw_dotted_rect( ( WINDOW ) Win, &r );
/*START*/
}