CalcScrolledPosition( rect.x, rect.y, &rect.x, &rect.y );
RefreshRect( rect );
-
}
else // !report
{
size_t visibleFrom, visibleTo;
GetVisibleLinesRange(&visibleFrom, &visibleTo);
+
+ wxRect rectLine;
+ wxCoord xOrig, yOrig;
+ CalcUnscrolledPosition(0, 0, &xOrig, &yOrig);
+
for ( size_t line = visibleFrom; line <= visibleTo; line++ )
{
+ rectLine = GetLineRect(line);
+
+ if ( !IsExposed(rectLine.x - xOrig, rectLine.y - yOrig,
+ rectLine.width, rectLine.height) )
+ {
+ // don't redraw unaffected lines to avoid flicker
+ continue;
+ }
+
GetLine(line)->DrawInReportMode( &dc,
- GetLineRect(line),
+ rectLine,
GetLineHighlightRect(line),
IsHighlighted(line) );
}
m_lines.RemoveAt( index );
}
+ m_dirty = TRUE;
RefreshAfter(index);
}
m_lines.Insert( line, id );
+ m_dirty = TRUE;
RefreshLines(id, GetItemCount() - 1);
}