InputRoll cleanups
This commit is contained in:
parent
74b2cca967
commit
19dde8018a
|
@ -10,14 +10,14 @@ namespace BizHawk.Client.EmuHawk
|
|||
{
|
||||
protected override void OnPaint(PaintEventArgs e)
|
||||
{
|
||||
using (var LCK = Gdi.LockGraphics(e.Graphics))
|
||||
using (_gdi.LockGraphics(e.Graphics))
|
||||
{
|
||||
Gdi.StartOffScreenBitmap(Width, Height);
|
||||
_gdi.StartOffScreenBitmap(Width, Height);
|
||||
|
||||
// White Background
|
||||
Gdi.SetBrush(Color.White);
|
||||
Gdi.SetSolidPen(Color.White);
|
||||
Gdi.FillRectangle(0, 0, Width, Height);
|
||||
_gdi.SetBrush(Color.White);
|
||||
_gdi.SetSolidPen(Color.White);
|
||||
_gdi.FillRectangle(0, 0, Width, Height);
|
||||
|
||||
// Lag frame calculations
|
||||
SetLagFramesArray();
|
||||
|
@ -26,22 +26,21 @@ namespace BizHawk.Client.EmuHawk
|
|||
|
||||
if (visibleColumns.Any())
|
||||
{
|
||||
|
||||
DrawColumnBg(e, visibleColumns);
|
||||
DrawColumnText(e, visibleColumns);
|
||||
}
|
||||
|
||||
//Background
|
||||
// Background
|
||||
DrawBg(e, visibleColumns);
|
||||
|
||||
//Foreground
|
||||
// Foreground
|
||||
DrawData(e, visibleColumns);
|
||||
|
||||
DrawColumnDrag(e);
|
||||
DrawCellDrag(e);
|
||||
|
||||
Gdi.CopyToScreen();
|
||||
Gdi.EndOffScreenBitmap();
|
||||
_gdi.CopyToScreen();
|
||||
_gdi.EndOffScreenBitmap();
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -59,41 +58,35 @@ namespace BizHawk.Client.EmuHawk
|
|||
int x2 = x1 + _columnDown.Width.Value;
|
||||
int y2 = y1 + CellHeight;
|
||||
|
||||
Gdi.SetSolidPen(_backColor);
|
||||
Gdi.DrawRectangle(x1, y1, x2, y2);
|
||||
Gdi.PrepDrawString(NormalFont, _foreColor);
|
||||
Gdi.DrawString(_columnDown.Text, new Point(x1 + CellWidthPadding, y1 + CellHeightPadding));
|
||||
_gdi.SetSolidPen(_backColor);
|
||||
_gdi.DrawRectangle(x1, y1, x2, y2);
|
||||
_gdi.PrepDrawString(_normalFont, _foreColor);
|
||||
_gdi.DrawString(_columnDown.Text, new Point(x1 + CellWidthPadding, y1 + CellHeightPadding));
|
||||
}
|
||||
}
|
||||
|
||||
private void DrawCellDrag(PaintEventArgs e)
|
||||
{
|
||||
if (DraggingCell != null)
|
||||
if (_draggingCell != null)
|
||||
{
|
||||
var text = "";
|
||||
int offsetX = 0;
|
||||
int offsetY = 0;
|
||||
if (QueryItemText != null)
|
||||
{
|
||||
QueryItemText(DraggingCell.RowIndex.Value, DraggingCell.Column, out text, ref offsetX, ref offsetY);
|
||||
}
|
||||
QueryItemText?.Invoke(_draggingCell.RowIndex.Value, _draggingCell.Column, out text, ref offsetX, ref offsetY);
|
||||
|
||||
Color bgColor = _backColor;
|
||||
if (QueryItemBkColor != null)
|
||||
{
|
||||
QueryItemBkColor(DraggingCell.RowIndex.Value, DraggingCell.Column, ref bgColor);
|
||||
}
|
||||
QueryItemBkColor?.Invoke(_draggingCell.RowIndex.Value, _draggingCell.Column, ref bgColor);
|
||||
|
||||
int x1 = _currentX.Value - (DraggingCell.Column.Width.Value / 2);
|
||||
int x1 = _currentX.Value - (_draggingCell.Column.Width.Value / 2);
|
||||
int y1 = _currentY.Value - (CellHeight / 2);
|
||||
int x2 = x1 + DraggingCell.Column.Width.Value;
|
||||
int x2 = x1 + _draggingCell.Column.Width.Value;
|
||||
int y2 = y1 + CellHeight;
|
||||
|
||||
|
||||
Gdi.SetBrush(bgColor);
|
||||
Gdi.FillRectangle(x1, y1, x2 - x1, y2 - y1);
|
||||
Gdi.PrepDrawString(NormalFont, _foreColor);
|
||||
Gdi.DrawString(text, new Point(x1 + CellWidthPadding + offsetX, y1 + CellHeightPadding + offsetY));
|
||||
_gdi.SetBrush(bgColor);
|
||||
_gdi.FillRectangle(x1, y1, x2 - x1, y2 - y1);
|
||||
_gdi.PrepDrawString(_normalFont, _foreColor);
|
||||
_gdi.DrawString(text, new Point(x1 + CellWidthPadding + offsetX, y1 + CellHeightPadding + offsetY));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -101,9 +94,9 @@ namespace BizHawk.Client.EmuHawk
|
|||
{
|
||||
if (HorizontalOrientation)
|
||||
{
|
||||
int start = -VBar.Value;
|
||||
int start = -_vBar.Value;
|
||||
|
||||
Gdi.PrepDrawString(NormalFont, _foreColor);
|
||||
_gdi.PrepDrawString(_normalFont, _foreColor);
|
||||
|
||||
foreach (var column in visibleColumns)
|
||||
{
|
||||
|
@ -111,13 +104,13 @@ namespace BizHawk.Client.EmuHawk
|
|||
|
||||
if (IsHoveringOnColumnCell && column == CurrentCell.Column)
|
||||
{
|
||||
Gdi.PrepDrawString(NormalFont, SystemColors.HighlightText);
|
||||
Gdi.DrawString(column.Text, point);
|
||||
Gdi.PrepDrawString(NormalFont, _foreColor);
|
||||
_gdi.PrepDrawString(_normalFont, SystemColors.HighlightText);
|
||||
_gdi.DrawString(column.Text, point);
|
||||
_gdi.PrepDrawString(_normalFont, _foreColor);
|
||||
}
|
||||
else
|
||||
{
|
||||
Gdi.DrawString(column.Text, point);
|
||||
_gdi.DrawString(column.Text, point);
|
||||
}
|
||||
|
||||
start += CellHeight;
|
||||
|
@ -125,21 +118,21 @@ namespace BizHawk.Client.EmuHawk
|
|||
}
|
||||
else
|
||||
{
|
||||
Gdi.PrepDrawString(NormalFont, _foreColor);
|
||||
_gdi.PrepDrawString(_normalFont, _foreColor);
|
||||
|
||||
foreach (var column in visibleColumns)
|
||||
{
|
||||
var point = new Point(column.Left.Value + 2 * CellWidthPadding - HBar.Value, CellHeightPadding); // TODO: fix this CellPadding issue (2 * CellPadding vs just CellPadding)
|
||||
var point = new Point(column.Left.Value + 2 * CellWidthPadding - _hBar.Value, CellHeightPadding); // TODO: fix this CellPadding issue (2 * CellPadding vs just CellPadding)
|
||||
|
||||
if (IsHoveringOnColumnCell && column == CurrentCell.Column)
|
||||
{
|
||||
Gdi.PrepDrawString(NormalFont, SystemColors.HighlightText);
|
||||
Gdi.DrawString(column.Text, point);
|
||||
Gdi.PrepDrawString(NormalFont, _foreColor);
|
||||
_gdi.PrepDrawString(_normalFont, SystemColors.HighlightText);
|
||||
_gdi.DrawString(column.Text, point);
|
||||
_gdi.PrepDrawString(_normalFont, _foreColor);
|
||||
}
|
||||
else
|
||||
{
|
||||
Gdi.DrawString(column.Text, point);
|
||||
_gdi.DrawString(column.Text, point);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -154,10 +147,10 @@ namespace BizHawk.Client.EmuHawk
|
|||
int startRow = FirstVisibleRow;
|
||||
int range = Math.Min(LastVisibleRow, RowCount - 1) - startRow + 1;
|
||||
|
||||
Gdi.PrepDrawString(NormalFont, _foreColor);
|
||||
_gdi.PrepDrawString(_normalFont, _foreColor);
|
||||
for (int i = 0, f = 0; f < range; i++, f++)
|
||||
{
|
||||
f += lagFrames[i];
|
||||
f += _lagFrames[i];
|
||||
int LastVisible = LastVisibleColumnIndex;
|
||||
for (int j = FirstVisibleColumn; j <= LastVisible; j++)
|
||||
{
|
||||
|
@ -167,16 +160,13 @@ namespace BizHawk.Client.EmuHawk
|
|||
int bitmapOffsetX = 0;
|
||||
int bitmapOffsetY = 0;
|
||||
|
||||
if (QueryItemIcon != null)
|
||||
{
|
||||
QueryItemIcon(f + startRow, visibleColumns[j], ref image, ref bitmapOffsetX, ref bitmapOffsetY);
|
||||
}
|
||||
QueryItemIcon?.Invoke(f + startRow, visibleColumns[j], ref image, ref bitmapOffsetX, ref bitmapOffsetY);
|
||||
|
||||
if (image != null)
|
||||
{
|
||||
x = RowsToPixels(i) + CellWidthPadding + bitmapOffsetX;
|
||||
y = (j * CellHeight) + (CellHeightPadding * 2) + bitmapOffsetY;
|
||||
Gdi.DrawBitmap(image, new Point(x, y), true);
|
||||
_gdi.DrawBitmap(image, new Point(x, y), true);
|
||||
}
|
||||
|
||||
string text;
|
||||
|
@ -185,34 +175,32 @@ namespace BizHawk.Client.EmuHawk
|
|||
QueryItemText(f + startRow, visibleColumns[j], out text, ref strOffsetX, ref strOffsetY);
|
||||
|
||||
// Center Text
|
||||
x = RowsToPixels(i) + (CellWidth - text.Length * _charSize.Width) / 2;
|
||||
y = (j * CellHeight) + CellHeightPadding - VBar.Value;
|
||||
x = RowsToPixels(i) + ((CellWidth - (text.Length * _charSize.Width)) / 2);
|
||||
y = (j * CellHeight) + CellHeightPadding - _vBar.Value;
|
||||
var point = new Point(x + strOffsetX, y + strOffsetY);
|
||||
|
||||
var rePrep = false;
|
||||
if(j==1)
|
||||
if (SelectedItems.Contains(new Cell { Column = visibleColumns[j], RowIndex = i + startRow }))
|
||||
if (j == 1)
|
||||
if (_selectedItems.Contains(new Cell { Column = visibleColumns[j], RowIndex = i + startRow }))
|
||||
{
|
||||
Gdi.PrepDrawString(RotatedFont, SystemColors.HighlightText);
|
||||
_gdi.PrepDrawString(_rotatedFont, SystemColors.HighlightText);
|
||||
rePrep = true;
|
||||
}
|
||||
else if (j == 1)
|
||||
{
|
||||
//1. not sure about this; 2. repreps may be excess, but if we render one column at a time, we do need to change back after rendering the header
|
||||
// 1. not sure about this; 2. repreps may be excess, but if we render one column at a time, we do need to change back after rendering the header
|
||||
rePrep = true;
|
||||
Gdi.PrepDrawString(RotatedFont, _foreColor);
|
||||
_gdi.PrepDrawString(_rotatedFont, _foreColor);
|
||||
}
|
||||
|
||||
|
||||
|
||||
if (!string.IsNullOrWhiteSpace(text))
|
||||
{
|
||||
Gdi.DrawString(text, point);
|
||||
_gdi.DrawString(text, point);
|
||||
}
|
||||
|
||||
if (rePrep)
|
||||
{
|
||||
Gdi.PrepDrawString(NormalFont, _foreColor);
|
||||
_gdi.PrepDrawString(_normalFont, _foreColor);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -222,11 +210,11 @@ namespace BizHawk.Client.EmuHawk
|
|||
int startRow = FirstVisibleRow;
|
||||
int range = Math.Min(LastVisibleRow, RowCount - 1) - startRow + 1;
|
||||
|
||||
Gdi.PrepDrawString(NormalFont, _foreColor);
|
||||
int xPadding = CellWidthPadding + 1 - HBar.Value;
|
||||
_gdi.PrepDrawString(_normalFont, _foreColor);
|
||||
int xPadding = CellWidthPadding + 1 - _hBar.Value;
|
||||
for (int i = 0, f = 0; f < range; i++, f++) // Vertical
|
||||
{
|
||||
f += lagFrames[i];
|
||||
f += _lagFrames[i];
|
||||
int LastVisible = LastVisibleColumnIndex;
|
||||
for (int j = FirstVisibleColumn; j <= LastVisible; j++) // Horizontal
|
||||
{
|
||||
|
@ -241,33 +229,30 @@ namespace BizHawk.Client.EmuHawk
|
|||
int bitmapOffsetX = 0;
|
||||
int bitmapOffsetY = 0;
|
||||
|
||||
if (QueryItemIcon != null)
|
||||
{
|
||||
QueryItemIcon(f + startRow, visibleColumns[j], ref image, ref bitmapOffsetX, ref bitmapOffsetY);
|
||||
}
|
||||
QueryItemIcon?.Invoke(f + startRow, visibleColumns[j], ref image, ref bitmapOffsetX, ref bitmapOffsetY);
|
||||
|
||||
if (image != null)
|
||||
{
|
||||
Gdi.DrawBitmap(image, new Point(point.X + bitmapOffsetX, point.Y + bitmapOffsetY + CellHeightPadding), true);
|
||||
_gdi.DrawBitmap(image, new Point(point.X + bitmapOffsetX, point.Y + bitmapOffsetY + CellHeightPadding), true);
|
||||
}
|
||||
|
||||
QueryItemText(f + startRow, visibleColumns[j], out text, ref strOffsetX, ref strOffsetY);
|
||||
|
||||
bool rePrep = false;
|
||||
if (SelectedItems.Contains(new Cell { Column = visibleColumns[j], RowIndex = f + startRow }))
|
||||
if (_selectedItems.Contains(new Cell { Column = visibleColumns[j], RowIndex = f + startRow }))
|
||||
{
|
||||
Gdi.PrepDrawString(NormalFont, SystemColors.HighlightText);
|
||||
_gdi.PrepDrawString(_normalFont, SystemColors.HighlightText);
|
||||
rePrep = true;
|
||||
}
|
||||
|
||||
if (!string.IsNullOrWhiteSpace(text))
|
||||
{
|
||||
Gdi.DrawString(text, new Point(point.X + strOffsetX, point.Y + strOffsetY));
|
||||
_gdi.DrawString(text, new Point(point.X + strOffsetX, point.Y + strOffsetY));
|
||||
}
|
||||
|
||||
if (rePrep)
|
||||
{
|
||||
Gdi.PrepDrawString(NormalFont, _foreColor);
|
||||
_gdi.PrepDrawString(_normalFont, _foreColor);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -277,25 +262,25 @@ namespace BizHawk.Client.EmuHawk
|
|||
|
||||
private void DrawColumnBg(PaintEventArgs e, List<RollColumn> visibleColumns)
|
||||
{
|
||||
Gdi.SetBrush(SystemColors.ControlLight);
|
||||
Gdi.SetSolidPen(Color.Black);
|
||||
_gdi.SetBrush(SystemColors.ControlLight);
|
||||
_gdi.SetSolidPen(Color.Black);
|
||||
|
||||
if (HorizontalOrientation)
|
||||
{
|
||||
Gdi.FillRectangle(0, 0, ColumnWidth + 1, DrawHeight + 1);
|
||||
Gdi.Line(0, 0, 0, visibleColumns.Count * CellHeight + 1);
|
||||
Gdi.Line(ColumnWidth, 0, ColumnWidth, visibleColumns.Count * CellHeight + 1);
|
||||
_gdi.FillRectangle(0, 0, ColumnWidth + 1, DrawHeight + 1);
|
||||
_gdi.Line(0, 0, 0, visibleColumns.Count * CellHeight + 1);
|
||||
_gdi.Line(ColumnWidth, 0, ColumnWidth, visibleColumns.Count * CellHeight + 1);
|
||||
|
||||
int start = -VBar.Value;
|
||||
int start = -_vBar.Value;
|
||||
foreach (var column in visibleColumns)
|
||||
{
|
||||
Gdi.Line(1, start, ColumnWidth, start);
|
||||
_gdi.Line(1, start, ColumnWidth, start);
|
||||
start += CellHeight;
|
||||
}
|
||||
|
||||
if (visibleColumns.Any())
|
||||
{
|
||||
Gdi.Line(1, start, ColumnWidth, start);
|
||||
_gdi.Line(1, start, ColumnWidth, start);
|
||||
}
|
||||
}
|
||||
else
|
||||
|
@ -303,36 +288,36 @@ namespace BizHawk.Client.EmuHawk
|
|||
int bottomEdge = RowsToPixels(0);
|
||||
|
||||
// Gray column box and black line underneath
|
||||
Gdi.FillRectangle(0, 0, Width + 1, bottomEdge + 1);
|
||||
Gdi.Line(0, 0, TotalColWidth.Value + 1, 0);
|
||||
Gdi.Line(0, bottomEdge, TotalColWidth.Value + 1, bottomEdge);
|
||||
_gdi.FillRectangle(0, 0, Width + 1, bottomEdge + 1);
|
||||
_gdi.Line(0, 0, TotalColWidth.Value + 1, 0);
|
||||
_gdi.Line(0, bottomEdge, TotalColWidth.Value + 1, bottomEdge);
|
||||
|
||||
// Vertical black seperators
|
||||
for (int i = 0; i < visibleColumns.Count; i++)
|
||||
{
|
||||
int pos = visibleColumns[i].Left.Value - HBar.Value;
|
||||
Gdi.Line(pos, 0, pos, bottomEdge);
|
||||
int pos = visibleColumns[i].Left.Value - _hBar.Value;
|
||||
_gdi.Line(pos, 0, pos, bottomEdge);
|
||||
}
|
||||
|
||||
// Draw right most line
|
||||
if (visibleColumns.Any())
|
||||
{
|
||||
int right = TotalColWidth.Value - HBar.Value;
|
||||
Gdi.Line(right, 0, right, bottomEdge);
|
||||
int right = TotalColWidth.Value - _hBar.Value;
|
||||
_gdi.Line(right, 0, right, bottomEdge);
|
||||
}
|
||||
}
|
||||
|
||||
// Emphasis
|
||||
foreach (var column in visibleColumns.Where(c => c.Emphasis))
|
||||
{
|
||||
Gdi.SetBrush(SystemColors.ActiveBorder);
|
||||
_gdi.SetBrush(SystemColors.ActiveBorder);
|
||||
if (HorizontalOrientation)
|
||||
{
|
||||
Gdi.FillRectangle(1, visibleColumns.IndexOf(column) * CellHeight + 1, ColumnWidth - 1, ColumnHeight - 1);
|
||||
_gdi.FillRectangle(1, visibleColumns.IndexOf(column) * CellHeight + 1, ColumnWidth - 1, ColumnHeight - 1);
|
||||
}
|
||||
else
|
||||
{
|
||||
Gdi.FillRectangle(column.Left.Value + 1 - HBar.Value, 1, column.Width.Value - 1, ColumnHeight - 1);
|
||||
_gdi.FillRectangle(column.Left.Value + 1 - _hBar.Value, 1, column.Width.Value - 1, ColumnHeight - 1);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -350,41 +335,42 @@ namespace BizHawk.Client.EmuHawk
|
|||
|
||||
if (CurrentCell.Column.Emphasis)
|
||||
{
|
||||
Gdi.SetBrush(Add(SystemColors.Highlight, 0x00222222));
|
||||
_gdi.SetBrush(Add(SystemColors.Highlight, 0x00222222));
|
||||
}
|
||||
else
|
||||
{
|
||||
Gdi.SetBrush(SystemColors.Highlight);
|
||||
_gdi.SetBrush(SystemColors.Highlight);
|
||||
}
|
||||
|
||||
Gdi.FillRectangle(1, i * CellHeight + 1, ColumnWidth - 1, ColumnHeight - 1);
|
||||
_gdi.FillRectangle(1, i * CellHeight + 1, ColumnWidth - 1, ColumnHeight - 1);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
//TODO multiple selected columns
|
||||
// TODO multiple selected columns
|
||||
for (int i = 0; i < visibleColumns.Count; i++)
|
||||
{
|
||||
if (visibleColumns[i] == CurrentCell.Column)
|
||||
{
|
||||
//Left of column is to the right of the viewable area or right of column is to the left of the viewable area
|
||||
if (visibleColumns[i].Left.Value - HBar.Value > Width || visibleColumns[i].Right.Value - HBar.Value < 0)
|
||||
// Left of column is to the right of the viewable area or right of column is to the left of the viewable area
|
||||
if (visibleColumns[i].Left.Value - _hBar.Value > Width || visibleColumns[i].Right.Value - _hBar.Value < 0)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
int left = visibleColumns[i].Left.Value - HBar.Value;
|
||||
int width = visibleColumns[i].Right.Value - HBar.Value - left;
|
||||
|
||||
int left = visibleColumns[i].Left.Value - _hBar.Value;
|
||||
int width = visibleColumns[i].Right.Value - _hBar.Value - left;
|
||||
|
||||
if (CurrentCell.Column.Emphasis)
|
||||
{
|
||||
Gdi.SetBrush(Add(SystemColors.Highlight, 0x00550000));
|
||||
_gdi.SetBrush(Add(SystemColors.Highlight, 0x00550000));
|
||||
}
|
||||
else
|
||||
{
|
||||
Gdi.SetBrush(SystemColors.Highlight);
|
||||
_gdi.SetBrush(SystemColors.Highlight);
|
||||
}
|
||||
|
||||
Gdi.FillRectangle(left + 1, 1, width - 1, ColumnHeight - 1);
|
||||
_gdi.FillRectangle(left + 1, 1, width - 1, ColumnHeight - 1);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -395,7 +381,6 @@ namespace BizHawk.Client.EmuHawk
|
|||
/// <summary>
|
||||
/// Draw Gridlines and background colors using QueryItemBkColor.
|
||||
/// </summary>
|
||||
/// <param name="e"></param>
|
||||
private void DrawBg(PaintEventArgs e, List<RollColumn> visibleColumns)
|
||||
{
|
||||
if (UseCustomBackground && QueryItemBkColor != null)
|
||||
|
@ -405,20 +390,20 @@ namespace BizHawk.Client.EmuHawk
|
|||
|
||||
if (GridLines)
|
||||
{
|
||||
Gdi.SetSolidPen(SystemColors.ControlLight);
|
||||
_gdi.SetSolidPen(SystemColors.ControlLight);
|
||||
if (HorizontalOrientation)
|
||||
{
|
||||
// Columns
|
||||
for (int i = 1; i < VisibleRows + 1; i++)
|
||||
{
|
||||
int x = RowsToPixels(i);
|
||||
Gdi.Line(x, 1, x, DrawHeight);
|
||||
_gdi.Line(x, 1, x, DrawHeight);
|
||||
}
|
||||
|
||||
// Rows
|
||||
for (int i = 0; i < visibleColumns.Count + 1; i++)
|
||||
{
|
||||
Gdi.Line(RowsToPixels(0) + 1, i * CellHeight - VBar.Value, DrawWidth, i * CellHeight - VBar.Value);
|
||||
_gdi.Line(RowsToPixels(0) + 1, i * CellHeight - _vBar.Value, DrawWidth, i * CellHeight - _vBar.Value);
|
||||
}
|
||||
}
|
||||
else
|
||||
|
@ -428,24 +413,24 @@ namespace BizHawk.Client.EmuHawk
|
|||
int? totalColWidth = TotalColWidth;
|
||||
foreach (var column in visibleColumns)
|
||||
{
|
||||
int x = column.Left.Value - HBar.Value;
|
||||
Gdi.Line(x, y, x, Height - 1);
|
||||
int x = column.Left.Value - _hBar.Value;
|
||||
_gdi.Line(x, y, x, Height - 1);
|
||||
}
|
||||
|
||||
if (visibleColumns.Any())
|
||||
{
|
||||
Gdi.Line(totalColWidth.Value - HBar.Value, y, totalColWidth.Value - HBar.Value, Height - 1);
|
||||
_gdi.Line(totalColWidth.Value - _hBar.Value, y, totalColWidth.Value - _hBar.Value, Height - 1);
|
||||
}
|
||||
|
||||
// Rows
|
||||
for (int i = 1; i < VisibleRows + 1; i++)
|
||||
{
|
||||
Gdi.Line(0, RowsToPixels(i), Width + 1, RowsToPixels(i));
|
||||
_gdi.Line(0, RowsToPixels(i), Width + 1, RowsToPixels(i));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (SelectedItems.Any())
|
||||
if (_selectedItems.Any())
|
||||
{
|
||||
DoSelectionBG(e, visibleColumns);
|
||||
}
|
||||
|
@ -457,11 +442,12 @@ namespace BizHawk.Client.EmuHawk
|
|||
Color rowColor = Color.White;
|
||||
int _lastVisibleRow = LastVisibleRow;
|
||||
int lastRow = -1;
|
||||
foreach (Cell cell in SelectedItems)
|
||||
foreach (Cell cell in _selectedItems)
|
||||
{
|
||||
if (cell.RowIndex > _lastVisibleRow || cell.RowIndex < FirstVisibleRow ||
|
||||
!VisibleColumns.Contains(cell.Column))
|
||||
if (cell.RowIndex > _lastVisibleRow || cell.RowIndex < FirstVisibleRow || !VisibleColumns.Contains(cell.Column))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
Cell relativeCell = new Cell
|
||||
{
|
||||
|
@ -478,6 +464,7 @@ namespace BizHawk.Client.EmuHawk
|
|||
|
||||
Color cellColor = rowColor;
|
||||
QueryItemBkColor(cell.RowIndex.Value, cell.Column, ref cellColor);
|
||||
|
||||
// Alpha layering for cell before selection
|
||||
float alpha = (float)cellColor.A / 255;
|
||||
if (cellColor.A != 255 && cellColor.A != 0)
|
||||
|
@ -486,6 +473,7 @@ namespace BizHawk.Client.EmuHawk
|
|||
rowColor.G - (int)((rowColor.G - cellColor.G) * alpha),
|
||||
rowColor.B - (int)((rowColor.B - cellColor.B) * alpha));
|
||||
}
|
||||
|
||||
// Alpha layering for selection
|
||||
alpha = 0.33f;
|
||||
cellColor = Color.FromArgb(cellColor.R - (int)((cellColor.R - SystemColors.Highlight.R) * alpha),
|
||||
|
@ -506,14 +494,17 @@ namespace BizHawk.Client.EmuHawk
|
|||
{
|
||||
x = RowsToPixels(cell.RowIndex.Value) + 1;
|
||||
w = CellWidth - 1;
|
||||
y = (CellHeight * visibleColumns.IndexOf(cell.Column)) + 1 - VBar.Value; // We can't draw without row and column, so assume they exist and fail catastrophically if they don't
|
||||
y = (CellHeight * visibleColumns.IndexOf(cell.Column)) + 1 - _vBar.Value; // We can't draw without row and column, so assume they exist and fail catastrophically if they don't
|
||||
h = CellHeight - 1;
|
||||
if (x < ColumnWidth) { return; }
|
||||
if (x < ColumnWidth)
|
||||
{
|
||||
return;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
w = cell.Column.Width.Value - 1;
|
||||
x = cell.Column.Left.Value - HBar.Value + 1;
|
||||
x = cell.Column.Left.Value - _hBar.Value + 1;
|
||||
y = RowsToPixels(cell.RowIndex.Value) + 1; // We can't draw without row and column, so assume they exist and fail catastrophically if they don't
|
||||
h = CellHeight - 1;
|
||||
if (y < ColumnHeight)
|
||||
|
@ -527,8 +518,8 @@ namespace BizHawk.Client.EmuHawk
|
|||
return;
|
||||
} // Don't draw if off screen.
|
||||
|
||||
Gdi.SetBrush(color);
|
||||
Gdi.FillRectangle(x, y, w, h);
|
||||
_gdi.SetBrush(color);
|
||||
_gdi.FillRectangle(x, y, w, h);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
@ -545,13 +536,10 @@ namespace BizHawk.Client.EmuHawk
|
|||
{
|
||||
for (int i = 0, f = 0; f < range; i++, f++)
|
||||
{
|
||||
f += lagFrames[i];
|
||||
f += _lagFrames[i];
|
||||
|
||||
Color rowColor = Color.White;
|
||||
if (QueryRowBkColor != null)
|
||||
{
|
||||
QueryRowBkColor(f + startIndex, ref rowColor);
|
||||
}
|
||||
QueryRowBkColor?.Invoke(f + startIndex, ref rowColor);
|
||||
|
||||
for (int j = firstVisibleColumn; j <= lastVisible; j++)
|
||||
{
|
||||
|
@ -561,7 +549,6 @@ namespace BizHawk.Client.EmuHawk
|
|||
{
|
||||
itemColor = rowColor;
|
||||
}
|
||||
|
||||
else if (itemColor.A != 255 && itemColor.A != 0)
|
||||
{
|
||||
float alpha = (float)itemColor.A / 255;
|
||||
|
@ -586,13 +573,10 @@ namespace BizHawk.Client.EmuHawk
|
|||
{
|
||||
for (int i = 0, f = 0; f < range; i++, f++) // Vertical
|
||||
{
|
||||
f += lagFrames[i];
|
||||
f += _lagFrames[i];
|
||||
|
||||
Color rowColor = Color.White;
|
||||
if (QueryRowBkColor != null)
|
||||
{
|
||||
QueryRowBkColor(f + startIndex, ref rowColor);
|
||||
}
|
||||
QueryRowBkColor?.Invoke(f + startIndex, ref rowColor);
|
||||
|
||||
for (int j = FirstVisibleColumn; j <= lastVisible; j++) // Horizontal
|
||||
{
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -150,7 +150,7 @@
|
|||
//
|
||||
this.BranchView.AllowColumnReorder = false;
|
||||
this.BranchView.AllowColumnResize = false;
|
||||
this.BranchView.allowRightClickSelecton = true;
|
||||
this.BranchView.AllowRightClickSelecton = true;
|
||||
this.BranchView.AlwaysScroll = false;
|
||||
this.BranchView.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
|
||||
| System.Windows.Forms.AnchorStyles.Left)
|
||||
|
@ -161,7 +161,7 @@
|
|||
this.BranchView.HideWasLagFrames = false;
|
||||
this.BranchView.HorizontalOrientation = false;
|
||||
this.BranchView.LagFramesToHide = 0;
|
||||
this.BranchView.letKeysModifySelection = false;
|
||||
this.BranchView.LetKeysModifySelection = false;
|
||||
this.BranchView.Location = new System.Drawing.Point(6, 19);
|
||||
this.BranchView.MaxCharactersInHorizontal = 1;
|
||||
this.BranchView.MultiSelect = false;
|
||||
|
@ -170,7 +170,7 @@
|
|||
this.BranchView.ScrollSpeed = 13;
|
||||
this.BranchView.SeekingCutoffInterval = 0;
|
||||
this.BranchView.Size = new System.Drawing.Size(186, 224);
|
||||
this.BranchView.suspendHotkeys = false;
|
||||
this.BranchView.SuspendHotkeys = false;
|
||||
this.BranchView.TabIndex = 0;
|
||||
this.BranchView.PointedCellChanged += new BizHawk.Client.EmuHawk.InputRoll.CellChangeEventHandler(this.BranchView_PointedCellChanged);
|
||||
this.BranchView.CellDropped += new BizHawk.Client.EmuHawk.InputRoll.CellDroppedEvent(this.BranchView_CellDropped);
|
||||
|
|
|
@ -185,7 +185,7 @@
|
|||
//
|
||||
this.MarkerView.AllowColumnReorder = false;
|
||||
this.MarkerView.AllowColumnResize = false;
|
||||
this.MarkerView.allowRightClickSelecton = true;
|
||||
this.MarkerView.AllowRightClickSelecton = true;
|
||||
this.MarkerView.AlwaysScroll = false;
|
||||
this.MarkerView.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
|
||||
| System.Windows.Forms.AnchorStyles.Left)
|
||||
|
|
|
@ -1227,7 +1227,7 @@ namespace BizHawk.Client.EmuHawk
|
|||
//
|
||||
this.TasView.AllowColumnReorder = false;
|
||||
this.TasView.AllowColumnResize = false;
|
||||
this.TasView.allowRightClickSelecton = false;
|
||||
this.TasView.AllowRightClickSelecton = false;
|
||||
this.TasView.AlwaysScroll = false;
|
||||
this.TasView.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
|
||||
| System.Windows.Forms.AnchorStyles.Left)
|
||||
|
@ -1238,7 +1238,7 @@ namespace BizHawk.Client.EmuHawk
|
|||
this.TasView.HideWasLagFrames = false;
|
||||
this.TasView.HorizontalOrientation = false;
|
||||
this.TasView.LagFramesToHide = 0;
|
||||
this.TasView.letKeysModifySelection = true;
|
||||
this.TasView.LetKeysModifySelection = true;
|
||||
this.TasView.Location = new System.Drawing.Point(3, 0);
|
||||
this.TasView.MaxCharactersInHorizontal = 1;
|
||||
this.TasView.MultiSelect = false;
|
||||
|
@ -1247,7 +1247,7 @@ namespace BizHawk.Client.EmuHawk
|
|||
this.TasView.ScrollSpeed = 1;
|
||||
this.TasView.SeekingCutoffInterval = 0;
|
||||
this.TasView.Size = new System.Drawing.Size(289, 528);
|
||||
this.TasView.suspendHotkeys = false;
|
||||
this.TasView.SuspendHotkeys = false;
|
||||
this.TasView.TabIndex = 1;
|
||||
this.TasView.ColumnClick += new BizHawk.Client.EmuHawk.InputRoll.ColumnClickEventHandler(this.TasView_ColumnClick);
|
||||
this.TasView.ColumnRightClick += new BizHawk.Client.EmuHawk.InputRoll.ColumnClickEventHandler(this.TasView_ColumnRightClick);
|
||||
|
|
|
@ -34,7 +34,7 @@ namespace BizHawk.Client.EmuHawk
|
|||
set
|
||||
{
|
||||
_floatEditRow = value;
|
||||
TasView.suspendHotkeys = FloatEditingMode;
|
||||
TasView.SuspendHotkeys = FloatEditingMode;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue