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:
parent
bce0bb3fcc
commit
2627b0bdd7
@ -866,19 +866,21 @@ lm_invalidate_rows_internal( LM lm, int row_start, int row_end,
|
|||||||
int focus_row,
|
int focus_row,
|
||||||
focus_column;
|
focus_column;
|
||||||
BOOLEAN v_scrolled,
|
BOOLEAN v_scrolled,
|
||||||
has_focus;
|
has_focus,
|
||||||
|
optimize;
|
||||||
|
|
||||||
row_end = min( row_end, lmp->nbr_realized_rows - 1 );
|
row_end = min( row_end, lmp->nbr_realized_rows - 1 );
|
||||||
if ( row_start > row_end || row_start < 0 )
|
if ( row_start > row_end || row_start < 0 )
|
||||||
return;
|
return;
|
||||||
has_focus = lm_focus_cell_get( lmp, &focus_row, &focus_column, &v_scrolled );
|
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 ( row = row_start; row <= row_end; row++ )
|
||||||
{
|
{
|
||||||
for ( col = ( column == -1 ) ? 0 : column;
|
for ( col = ( column == -1 ) ? 0 : column;
|
||||||
col < ( ( column == -1 ) ? ( lmp->nbr_columns ) : ( column + 1 ) );
|
col < ( ( column == -1 ) ? ( lmp->nbr_columns ) : ( column + 1 ) );
|
||||||
col++ )
|
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
|
/* 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
|
* not supposed to preserve focus text, then we need to call
|
||||||
|
16
xi/xilm3.c
16
xi/xilm3.c
@ -1465,7 +1465,7 @@ draw_background_rects( LM_DATA * lmp, XinWindow win, ROW_INFO * row_info,
|
|||||||
brush_color = lmp->back_color;
|
brush_color = lmp->back_color;
|
||||||
if ( cell_data->back_color )
|
if ( cell_data->back_color )
|
||||||
brush_color = cell_data->back_color;
|
brush_color = cell_data->back_color;
|
||||||
/*
|
/*
|
||||||
TO OPTIMIZE BACKGROUND DRAWING, USE NEXT TWO LINES
|
TO OPTIMIZE BACKGROUND DRAWING, USE NEXT TWO LINES
|
||||||
if (brush_color == lmp->back_color)
|
if (brush_color == lmp->back_color)
|
||||||
continue;
|
continue;
|
||||||
@ -1509,10 +1509,10 @@ TO OPTIMIZE BACKGROUND DRAWING, USE NEXT TWO LINES
|
|||||||
XinRect rct;
|
XinRect rct;
|
||||||
|
|
||||||
brush_color = lmp->disabled_back_color;
|
brush_color = lmp->disabled_back_color;
|
||||||
/*
|
/*
|
||||||
TO OPTIMIZE BACKGROUND DRAWING, USE NEXT TWO LINES
|
TO OPTIMIZE BACKGROUND DRAWING, USE NEXT TWO LINES
|
||||||
if (brush_color == lmp->back_color)
|
if (brush_color == lmp->back_color)
|
||||||
continue;
|
continue;
|
||||||
*/
|
*/
|
||||||
if ( brush_color != last_brush_color )
|
if ( brush_color != last_brush_color )
|
||||||
{
|
{
|
||||||
@ -1564,10 +1564,10 @@ TO OPTIMIZE BACKGROUND DRAWING, USE NEXT TWO LINES
|
|||||||
brush_color = lmp->disabled_color;
|
brush_color = lmp->disabled_color;
|
||||||
if ( cell_data->back_color && lmp->retain_back_color_on_select )
|
if ( cell_data->back_color && lmp->retain_back_color_on_select )
|
||||||
brush_color = cell_data->back_color;
|
brush_color = cell_data->back_color;
|
||||||
/*
|
/*
|
||||||
TO OPTIMIZE BACKGROUND DRAWING, USE NEXT TWO LINES
|
TO OPTIMIZE BACKGROUND DRAWING, USE NEXT TWO LINES
|
||||||
if (brush_color == lmp->back_color)
|
if (brush_color == lmp->back_color)
|
||||||
continue;
|
continue;
|
||||||
*/
|
*/
|
||||||
if ( brush_color != last_brush_color )
|
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 */
|
/* 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: */
|
/* Used to have the following line as a condition for the "for" loop: */
|
||||||
/* if ( lmp->lm_column_data[col]->suppress_update_cells ) */
|
/* 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;
|
LM_CELL_DATA *cell_data;
|
||||||
|
|
||||||
cell_data = &( lmp->cell_data[row][col] );
|
cell_data = &( lmp->cell_data[row][col] );
|
||||||
|
@ -3570,7 +3570,12 @@ void
|
|||||||
XinWindowDottedRectDraw( XinWindow Win, XinRect * rctp )
|
XinWindowDottedRectDraw( XinWindow Win, XinRect * rctp )
|
||||||
{
|
{
|
||||||
/*END*/
|
/*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*/
|
/*START*/
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user