Double the speed of InputRoll when scrollbars are visible

This commit is contained in:
adelikat 2014-08-27 22:33:27 +00:00
parent 1170b5cd06
commit e11cc198a9
1 changed files with 16 additions and 2 deletions

View File

@ -356,17 +356,23 @@ namespace BizHawk.Client.EmuHawk
{ {
if (NeedsHScrollbar) if (NeedsHScrollbar)
{ {
_programmaticallyUpdatingScrollBarValues = true;
HBar.Value = value; HBar.Value = value;
_programmaticallyUpdatingScrollBarValues = false;
} }
} }
if (NeedsVScrollbar) if (NeedsVScrollbar)
{ {
_programmaticallyUpdatingScrollBarValues = true;
VBar.Value = value; VBar.Value = value;
_programmaticallyUpdatingScrollBarValues = false;
} }
} }
} }
private bool _programmaticallyUpdatingScrollBarValues = false;
public int LastVisibleIndex public int LastVisibleIndex
{ {
get get
@ -919,12 +925,18 @@ namespace BizHawk.Client.EmuHawk
private void VerticalBar_ValueChanged(object sender, EventArgs e) private void VerticalBar_ValueChanged(object sender, EventArgs e)
{ {
Refresh(); if (!_programmaticallyUpdatingScrollBarValues)
{
Refresh();
}
} }
private void HorizontalBar_ValueChanged(object sender, EventArgs e) private void HorizontalBar_ValueChanged(object sender, EventArgs e)
{ {
Refresh(); if (!_programmaticallyUpdatingScrollBarValues)
{
Refresh();
}
} }
private void ColumnChangedCallback() private void ColumnChangedCallback()
@ -950,7 +962,9 @@ namespace BizHawk.Client.EmuHawk
if (VBar.Value > max) if (VBar.Value > max)
{ {
_programmaticallyUpdatingScrollBarValues = true;
VBar.Value = max; VBar.Value = max;
_programmaticallyUpdatingScrollBarValues = false;
} }
VBar.Maximum = max + VBar.LargeChange; // TODO: why can't it be 1? VBar.Maximum = max + VBar.LargeChange; // TODO: why can't it be 1?