Skip to content

Commit

Permalink
some fixes to input roll drawing, but it is massively messed up
Browse files Browse the repository at this point in the history
  • Loading branch information
zeromus committed Sep 8, 2020
1 parent daf6f51 commit 23fcb4c
Showing 1 changed file with 18 additions and 15 deletions.
Expand Up @@ -14,28 +14,31 @@ protected override void OnPaint(PaintEventArgs e)
using (_renderer.LockGraphics(e.Graphics))
{
// White Background
_renderer.SetBrush(Color.White);
_renderer.SetBrush(Color.Red);
_renderer.SetSolidPen(Color.White);
_renderer.FillRectangle(e.ClipRectangle);

// Lag frame calculations
SetLagFramesArray();

List<RollColumn> visibleColumns;
List<RollColumn> dirtyColumns = new List<RollColumn>();

if (HorizontalOrientation)
{
CalculateHorizontalColumnPositions(VisibleColumns.ToList());
visibleColumns = VisibleColumns
dirtyColumns = VisibleColumns
.Take(_horizontalColumnTops.Count(c => c < e.ClipRectangle.Height))
.ToList();
}
else
{
visibleColumns = _columns.VisibleColumns
.Where(c => c.Right > _hBar.Value)
.Where(c => c.Left - _hBar.Value < e.ClipRectangle.Width)
.ToList();
foreach (var c in _columns.VisibleColumns)
{
int vizLeft = c.Left - _hBar.Value;
int vizRight = c.Right - _hBar.Value;
if (vizLeft < e.ClipRectangle.Right && vizRight >= e.ClipRectangle.Left)
dirtyColumns.Add(c);
}
}

var firstVisibleRow = Math.Max(FirstVisibleRow, 0);
Expand All @@ -45,21 +48,21 @@ protected override void OnPaint(PaintEventArgs e)

var lastVisibleRow = firstVisibleRow + visibleRows;

var needsColumnRedraw = HorizontalOrientation || e.ClipRectangle.Y < ColumnHeight;
if (visibleColumns.Any() && needsColumnRedraw)
var needsColumnRedraw = HorizontalOrientation || e.ClipRectangle.Y >= ColumnHeight;
if (dirtyColumns.Any() && needsColumnRedraw)
{
DrawColumnBg(visibleColumns, e.ClipRectangle);
DrawColumnText(visibleColumns);
DrawColumnBg(dirtyColumns, e.ClipRectangle);
DrawColumnText(dirtyColumns);
}

// Background
DrawBg(visibleColumns, e.ClipRectangle, firstVisibleRow, lastVisibleRow);
DrawBg(dirtyColumns, e.ClipRectangle, firstVisibleRow, lastVisibleRow);

// Foreground
DrawData(visibleColumns, firstVisibleRow, lastVisibleRow);
DrawData(dirtyColumns, firstVisibleRow, lastVisibleRow);

DrawColumnDrag(visibleColumns);
DrawCellDrag(visibleColumns);
DrawColumnDrag(dirtyColumns);
DrawCellDrag(dirtyColumns);
}
}

Expand Down

0 comments on commit 23fcb4c

Please sign in to comment.