99 lines
2.7 KiB
C#
99 lines
2.7 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.ComponentModel;
|
|
using System.Data;
|
|
using System.Drawing;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Windows.Forms;
|
|
|
|
using BizHawk.Client.Common;
|
|
using BizHawk.Emulation.Cores.Calculators;
|
|
|
|
namespace BizHawk.Client.EmuHawk
|
|
{
|
|
public partial class TI83PaletteConfig : Form
|
|
{
|
|
public TI83PaletteConfig()
|
|
{
|
|
InitializeComponent();
|
|
}
|
|
|
|
private void TI83PaletteConfig_Load(object sender, EventArgs e)
|
|
{
|
|
var s = (TI83.TI83Settings)Global.Emulator.GetSettings();
|
|
|
|
// Alpha hack because Winform is lame with colors
|
|
BackgroundPanel.BackColor = Color.FromArgb(255, Color.FromArgb((int)s.BGColor));
|
|
ForeGroundPanel.BackColor = Color.FromArgb(255, Color.FromArgb((int)s.ForeColor));
|
|
}
|
|
|
|
private void OkBtn_Click(object sender, EventArgs e)
|
|
{
|
|
var s = (TI83.TI83Settings)Global.Emulator.GetSettings();
|
|
s.BGColor = (uint)BackgroundPanel.BackColor.ToArgb();
|
|
s.ForeColor = (uint)ForeGroundPanel.BackColor.ToArgb();
|
|
|
|
Global.Emulator.PutSettings(s);
|
|
|
|
DialogResult = DialogResult.OK;
|
|
Close();
|
|
}
|
|
|
|
private void CancelBtn_Click(object sender, EventArgs e)
|
|
{
|
|
DialogResult = DialogResult.Cancel;
|
|
Close();
|
|
}
|
|
|
|
private void BackgroundPanel_Click(object sender, EventArgs e)
|
|
{
|
|
// custom colors are ints, not Color structs?
|
|
// and they don't work right unless the alpha bits are set to 0
|
|
// and the rgb order is switched
|
|
int customColor = BackgroundPanel.BackColor.R | BackgroundPanel.BackColor.G << 8 | BackgroundPanel.BackColor.B << 16;
|
|
|
|
var dlg = new ColorDialog
|
|
{
|
|
AllowFullOpen = true,
|
|
AnyColor = true,
|
|
Color = BackgroundPanel.BackColor,
|
|
CustomColors = new int[] { customColor }
|
|
};
|
|
|
|
if (dlg.ShowDialog() == DialogResult.OK)
|
|
{
|
|
BackgroundPanel.BackColor = dlg.Color;
|
|
}
|
|
}
|
|
|
|
private void ForeGroundPanel_Click(object sender, EventArgs e)
|
|
{
|
|
// custom colors are ints, not Color structs?
|
|
// and they don't work right unless the alpha bits are set to 0
|
|
// and the rgb order is switched
|
|
int customColor = ForeGroundPanel.BackColor.R | ForeGroundPanel.BackColor.G << 8 | ForeGroundPanel.BackColor.B << 16;
|
|
|
|
var dlg = new ColorDialog
|
|
{
|
|
AllowFullOpen = true,
|
|
AnyColor = true,
|
|
Color = ForeGroundPanel.BackColor,
|
|
CustomColors = new int[] { customColor }
|
|
};
|
|
|
|
if (dlg.ShowDialog() == DialogResult.OK)
|
|
{
|
|
ForeGroundPanel.BackColor = dlg.Color;
|
|
}
|
|
}
|
|
|
|
private void DefaultsBtn_Click(object sender, EventArgs e)
|
|
{
|
|
var s = new TI83.TI83Settings();
|
|
BackgroundPanel.BackColor = Color.FromArgb((int)s.BGColor);
|
|
ForeGroundPanel.BackColor = Color.FromArgb((int)s.ForeColor);
|
|
}
|
|
}
|
|
}
|