InputRoll - fix logic in vertical view that was not drawing text in a column if any pixel of the column went off screen, save HorizontalOrientation in settings
This commit is contained in:
parent
560a04e20a
commit
97721ddcc3
|
@ -421,16 +421,39 @@ namespace BizHawk.Client.EmuHawk
|
||||||
|
|
||||||
public string UserSettingsSerialized()
|
public string UserSettingsSerialized()
|
||||||
{
|
{
|
||||||
// TODO: More than just columns
|
var settings = ConfigService.SaveWithType(Settings);
|
||||||
var settings = ConfigService.SaveWithType(_columns);
|
|
||||||
return settings;
|
return settings;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void LoadSettingsSerialized(string settingsJson)
|
public void LoadSettingsSerialized(string settingsJson)
|
||||||
{
|
{
|
||||||
// TODO: more than just columns
|
|
||||||
var settings = ConfigService.LoadWithType(settingsJson);
|
var settings = ConfigService.LoadWithType(settingsJson);
|
||||||
_columns = (RollColumns)settings;
|
|
||||||
|
// TODO: don't silently fail, inform the user somehow
|
||||||
|
if (settings is InputRollSettings)
|
||||||
|
{
|
||||||
|
_columns = (settings as InputRollSettings).Columns;
|
||||||
|
HorizontalOrientation = (settings as InputRollSettings).HorizontalOrientation;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private InputRollSettings Settings
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
return new InputRollSettings
|
||||||
|
{
|
||||||
|
Columns = _columns,
|
||||||
|
HorizontalOrientation = HorizontalOrientation
|
||||||
|
};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public class InputRollSettings
|
||||||
|
{
|
||||||
|
public RollColumns Columns { get; set; }
|
||||||
|
public bool HorizontalOrientation { get; set; }
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
@ -716,10 +739,11 @@ namespace BizHawk.Client.EmuHawk
|
||||||
for (int j = 0; j < columns.Count; j++) // Horizontal
|
for (int j = 0; j < columns.Count; j++) // Horizontal
|
||||||
{
|
{
|
||||||
var col = columns[j];
|
var col = columns[j];
|
||||||
if (col.Left.Value < 0 || col.Right.Value > DrawWidth)
|
if (col.Left.Value < 0 || col.Left.Value > DrawWidth)
|
||||||
{
|
{
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
string text;
|
string text;
|
||||||
var point = new Point(col.Left.Value + xPadding, RowsToPixels(i) + CellHeightPadding);
|
var point = new Point(col.Left.Value + xPadding, RowsToPixels(i) + CellHeightPadding);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue