Mesen-SX/UI/Config/DebugInfo.cs

85 lines
2.2 KiB
C#

using System;
using System.Collections.Generic;
using System.Drawing;
using System.Drawing.Imaging;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Xml;
using System.Xml.Serialization;
using Mesen.GUI.Debugger;
using Mesen.GUI.Controls;
using Mesen.GUI.Utilities;
namespace Mesen.GUI.Config
{
public class TraceLoggerOptions
{
public bool ShowByteCode;
public bool ShowRegisters;
public bool ShowCpuCycles;
public bool ShowPpuCycles;
public bool ShowPpuScanline;
public bool ShowPpuFrames;
public bool ShowExtraInfo;
public bool IndentCode;
public bool ShowEffectiveAddresses;
public bool ShowMemoryValues;
public bool UseLabels;
public bool ExtendZeroPage;
public bool UseWindowsEol = !Program.IsMono;
public StatusFlagFormat StatusFormat;
public bool OverrideFormat;
public string Format;
}
public class DebugInfo
{
public bool ShowSelectionLength = false;
public XmlColor EventViewerBreakpointColor = ColorTranslator.FromHtml("#1898E4");
public XmlColor AssemblerOpcodeColor = Color.FromArgb(22, 37, 37);
public XmlColor AssemblerLabelDefinitionColor = Color.Blue;
public XmlColor AssemblerImmediateColor = Color.Chocolate;
public XmlColor AssemblerAddressColor = Color.DarkRed;
public XmlColor AssemblerCommentColor = Color.Green;
public XmlColor CodeEffectiveAddressColor = Color.SteelBlue;
public TraceLoggerOptions TraceLoggerOptions;
public bool TraceAutoRefresh = true;
public int TraceLineCount = 1000;
public Size TraceLoggerSize = new Size(0, 0);
public Point TraceLoggerLocation;
public string TraceFontFamily = BaseControl.MonospaceFontFamily;
public FontStyle TraceFontStyle = FontStyle.Regular;
public float TraceFontSize = BaseControl.DefaultFontSize;
public int TraceTextZoom = 100;
public DebugInfo()
{
TraceLoggerOptions = new TraceLoggerOptions() {
ShowByteCode = true,
ShowCpuCycles = true,
ShowEffectiveAddresses = true,
ShowExtraInfo = true,
ShowPpuFrames = false,
ShowPpuCycles = true,
ShowPpuScanline = true,
ShowRegisters = true,
UseLabels = false,
StatusFormat = StatusFlagFormat.Hexadecimal
};
}
}
public enum StatusFlagFormat
{
Hexadecimal = 0,
Text = 1,
CompactText = 2
}
}