2011-04-23 00:39:29 +00:00
using System ;
using System.Drawing ;
using System.Windows.Forms ;
2016-12-07 18:32:59 +00:00
using BizHawk.Emulation.Common.IEmulatorExtensions ;
2013-10-25 00:57:23 +00:00
using BizHawk.Client.Common ;
2019-12-21 20:11:49 +00:00
using BizHawk.Client.EmuHawk.WinFormExtensions ;
2013-10-25 00:57:23 +00:00
2013-11-03 03:54:37 +00:00
namespace BizHawk.Client.EmuHawk
2011-04-23 00:39:29 +00:00
{
2011-06-16 02:39:35 +00:00
public partial class MessageConfig : Form
{
2019-12-21 20:16:23 +00:00
private readonly Config _config ;
private MessageOption _fps ;
private MessageOption _frameCounter ;
private MessageOption _lagCounter ;
private MessageOption _inputDisplay ;
private MessageOption _reRecordCounter ;
private MessageOption _multitrackRecorder ;
private MessageOption _messages ;
private MessageOption _autohold ;
private MessageOption _ramWatches ;
private int _messageColor ;
private int _alertColor ;
private int _lastInputColor ;
private int _movieInput ;
2011-07-01 02:43:08 +00:00
2013-11-28 01:33:38 +00:00
private int _px ;
private int _py ;
private bool _mousedown ;
2011-06-16 02:39:35 +00:00
2019-12-21 20:16:23 +00:00
public MessageConfig ( Config config )
2011-06-16 02:39:35 +00:00
{
2019-12-21 20:16:23 +00:00
_config = config ;
_fps = _config . Fps . Clone ( ) ;
_frameCounter = _config . FrameCounter . Clone ( ) ;
_lagCounter = _config . LagCounter . Clone ( ) ;
_inputDisplay = _config . InputDisplay . Clone ( ) ;
_reRecordCounter = _config . ReRecordCounter . Clone ( ) ;
_multitrackRecorder = _config . MultitrackRecorder . Clone ( ) ;
_messages = _config . Messages . Clone ( ) ;
_autohold = _config . Autohold . Clone ( ) ;
_ramWatches = _config . RamWatches . Clone ( ) ;
_messageColor = _config . MessagesColor ;
_alertColor = _config . AlertMessageColor ;
_lastInputColor = _config . LastInputColor ;
_movieInput = _config . MovieInput ;
2011-06-16 02:39:35 +00:00
InitializeComponent ( ) ;
}
private void MessageConfig_Load ( object sender , EventArgs e )
{
2017-05-31 15:28:06 +00:00
SetMaxXy ( ) ;
2013-11-28 01:33:38 +00:00
MessageColorDialog . Color = Color . FromArgb ( _messageColor ) ;
AlertColorDialog . Color = Color . FromArgb ( _alertColor ) ;
LInputColorDialog . Color = Color . FromArgb ( _lastInputColor ) ;
MovieInputColorDialog . Color = Color . FromArgb ( _movieInput ) ;
2011-06-16 02:39:35 +00:00
SetColorBox ( ) ;
SetPositionInfo ( ) ;
2019-12-21 20:16:23 +00:00
StackMessagesCheckbox . Checked = _config . StackOSDMessages ;
2011-06-16 02:39:35 +00:00
}
2017-05-31 15:28:06 +00:00
private void SetMaxXy ( )
2011-06-16 02:39:35 +00:00
{
2016-12-07 18:32:59 +00:00
var video = Global . Emulator . AsVideoProvider ( ) ; // TODO: this is objectively wrong, these are core agnostic settings, why is the current core used here? Also this will crash on a core without a video provider
2015-01-14 22:37:37 +00:00
XNumeric . Maximum = video . BufferWidth - 12 ;
YNumeric . Maximum = video . BufferHeight - 12 ;
PositionPanel . Size = new Size ( video . BufferWidth + 2 , video . BufferHeight + 2 ) ;
2011-06-16 02:39:35 +00:00
2014-12-28 21:59:53 +00:00
PositionGroupBox . Size = new Size (
2015-01-14 22:37:37 +00:00
Math . Max ( video . BufferWidth , UIHelper . ScaleX ( 128 ) ) + UIHelper . ScaleX ( 44 ) ,
video . BufferHeight + UIHelper . ScaleY ( 52 ) ) ;
2011-06-16 02:39:35 +00:00
}
private void SetColorBox ( )
{
2013-11-28 01:33:38 +00:00
_messageColor = MessageColorDialog . Color . ToArgb ( ) ;
2011-06-16 02:39:35 +00:00
ColorPanel . BackColor = MessageColorDialog . Color ;
2017-05-31 15:28:06 +00:00
ColorText . Text = $"{_messageColor:X8}" ;
2011-06-16 02:39:35 +00:00
2013-11-28 01:33:38 +00:00
_alertColor = AlertColorDialog . Color . ToArgb ( ) ;
2011-06-16 02:39:35 +00:00
AlertColorPanel . BackColor = AlertColorDialog . Color ;
2017-05-31 15:28:06 +00:00
AlertColorText . Text = $"{_alertColor:X8}" ;
2011-06-16 02:39:35 +00:00
2013-11-28 01:33:38 +00:00
_lastInputColor = LInputColorDialog . Color . ToArgb ( ) ;
2011-06-16 02:39:35 +00:00
LInputColorPanel . BackColor = LInputColorDialog . Color ;
2017-05-31 15:28:06 +00:00
LInputText . Text = $"{_lastInputColor:X8}" ;
2011-07-01 02:43:08 +00:00
2013-11-28 01:33:38 +00:00
_movieInput = MovieInputColorDialog . Color . ToArgb ( ) ;
2011-07-10 03:13:07 +00:00
MovieInputColor . BackColor = MovieInputColorDialog . Color ;
2017-05-31 15:28:06 +00:00
MovieInputText . Text = $"{_movieInput:X8}" ;
2011-06-16 02:39:35 +00:00
}
private void SetAnchorRadio ( int anchor )
{
switch ( anchor )
{
default :
case 0 :
2017-05-31 15:28:06 +00:00
TL . Checked = true ;
break ;
2011-06-16 02:39:35 +00:00
case 1 :
2017-05-31 15:28:06 +00:00
TR . Checked = true ;
break ;
2011-06-16 02:39:35 +00:00
case 2 :
2017-05-31 15:28:06 +00:00
BL . Checked = true ;
break ;
2011-06-16 02:39:35 +00:00
case 3 :
2017-05-31 15:28:06 +00:00
BR . Checked = true ;
break ;
2011-06-16 02:39:35 +00:00
}
}
2019-12-21 20:11:49 +00:00
private void SetFromOption ( MessageOption option )
{
XNumeric . Value = option . X ;
YNumeric . Value = option . Y ;
_px = option . X ;
_py = option . Y ;
SetAnchorRadio ( option . Anchor ) ;
}
2011-06-16 02:39:35 +00:00
private void SetPositionInfo ( )
{
if ( FPSRadio . Checked )
{
2019-12-21 20:11:49 +00:00
SetFromOption ( _fps ) ;
2011-06-16 02:39:35 +00:00
}
else if ( FrameCounterRadio . Checked )
{
2019-12-21 20:11:49 +00:00
SetFromOption ( _frameCounter ) ;
2011-06-16 02:39:35 +00:00
}
else if ( LagCounterRadio . Checked )
{
2019-12-21 20:11:49 +00:00
SetFromOption ( _lagCounter ) ;
2011-06-16 02:39:35 +00:00
}
else if ( InputDisplayRadio . Checked )
{
2019-12-21 20:11:49 +00:00
SetFromOption ( _inputDisplay ) ;
2011-06-16 02:39:35 +00:00
}
2015-10-01 06:39:22 +00:00
else if ( WatchesRadio . Checked )
{
2019-12-21 20:11:49 +00:00
SetFromOption ( _ramWatches ) ;
2015-10-01 06:39:22 +00:00
}
2011-06-16 02:39:35 +00:00
else if ( MessagesRadio . Checked )
{
2019-12-21 20:11:49 +00:00
SetFromOption ( _messages ) ;
2011-06-16 02:39:35 +00:00
}
2011-07-01 02:00:11 +00:00
else if ( RerecordsRadio . Checked )
{
2019-12-21 20:11:49 +00:00
SetFromOption ( _reRecordCounter ) ;
2011-07-01 02:00:11 +00:00
}
2011-07-10 03:38:46 +00:00
else if ( MultitrackRadio . Checked )
{
2019-12-21 20:11:49 +00:00
SetFromOption ( _multitrackRecorder ) ;
2011-07-10 03:38:46 +00:00
}
2012-09-26 23:25:43 +00:00
else if ( AutoholdRadio . Checked )
{
2019-12-21 20:11:49 +00:00
SetFromOption ( _autohold ) ;
2012-09-26 23:25:43 +00:00
}
2011-06-16 02:39:35 +00:00
PositionPanel . Refresh ( ) ;
2011-06-18 16:22:26 +00:00
XNumeric . Refresh ( ) ;
YNumeric . Refresh ( ) ;
2011-06-16 02:39:35 +00:00
SetPositionLabels ( ) ;
}
2017-05-31 15:28:06 +00:00
private void Ok_Click ( object sender , EventArgs e )
2011-06-16 02:39:35 +00:00
{
2019-12-21 20:16:23 +00:00
_config . Fps = _fps ;
_config . FrameCounter = _frameCounter ;
_config . LagCounter = _lagCounter ;
_config . InputDisplay = _inputDisplay ;
_config . ReRecordCounter = _reRecordCounter ;
_config . MultitrackRecorder = _multitrackRecorder ;
_config . Messages = _messages ;
_config . Autohold = _autohold ;
_config . RamWatches = _ramWatches ;
_config . MessagesColor = _messageColor ;
_config . AlertMessageColor = _alertColor ;
_config . LastInputColor = _lastInputColor ;
_config . MovieInput = _movieInput ;
_config . StackOSDMessages = StackMessagesCheckbox . Checked ;
2019-12-17 20:15:09 +00:00
Close ( ) ;
}
private void Cancel_Click ( object sender , EventArgs e )
{
2013-11-28 01:33:38 +00:00
Close ( ) ;
2011-06-16 02:39:35 +00:00
}
2013-11-28 01:33:38 +00:00
private void MessageTypeRadio_CheckedChanged ( object sender , EventArgs e )
2012-09-26 23:25:43 +00:00
{
SetPositionInfo ( ) ;
}
2011-06-16 02:39:35 +00:00
private void PositionPanel_MouseEnter ( object sender , EventArgs e )
{
2013-11-28 01:33:38 +00:00
Cursor = Cursors . Hand ;
2011-06-16 02:39:35 +00:00
}
private void PositionPanel_MouseLeave ( object sender , EventArgs e )
{
2013-11-28 01:33:38 +00:00
Cursor = Cursors . Default ;
2011-06-16 02:39:35 +00:00
}
private void PositionPanel_Paint ( object sender , PaintEventArgs e )
{
2012-09-26 23:41:11 +00:00
int x = 0 ;
int y = 0 ;
if ( TL . Checked )
{
2013-11-28 01:33:38 +00:00
x = _px ;
y = _py ;
2012-09-26 23:41:11 +00:00
}
else if ( TR . Checked )
{
2013-11-28 01:33:38 +00:00
x = ( int ) XNumeric . Maximum - _px ;
y = _py ;
2012-09-26 23:41:11 +00:00
}
else if ( BL . Checked )
{
2013-11-28 01:33:38 +00:00
x = _px ;
y = ( int ) YNumeric . Maximum - _py ;
2012-09-26 23:41:11 +00:00
}
else if ( BR . Checked )
{
2013-11-28 01:33:38 +00:00
x = ( int ) XNumeric . Maximum - _px ;
y = ( int ) YNumeric . Maximum - _py ;
2012-09-26 23:41:11 +00:00
}
2019-12-21 20:23:43 +00:00
using var p = new Pen ( Color . Black ) ;
2012-09-27 00:52:45 +00:00
e . Graphics . DrawLine ( p , new Point ( x , y ) , new Point ( x + 8 , y + 8 ) ) ;
e . Graphics . DrawLine ( p , new Point ( x + 8 , y ) , new Point ( x , y + 8 ) ) ;
2013-11-28 01:33:38 +00:00
e . Graphics . DrawRectangle ( p , new Rectangle ( x , y , 8 , 8 ) ) ;
2011-06-16 02:39:35 +00:00
}
private void PositionPanel_MouseDown ( object sender , MouseEventArgs e )
{
2013-11-28 01:33:38 +00:00
Cursor = Cursors . Arrow ;
_mousedown = true ;
2011-06-16 02:39:35 +00:00
SetNewPosition ( e . X , e . Y ) ;
}
private void PositionPanel_MouseUp ( object sender , MouseEventArgs e )
{
2013-11-28 01:33:38 +00:00
Cursor = Cursors . Hand ;
_mousedown = false ;
2011-06-16 02:39:35 +00:00
}
private void SetNewPosition ( int mx , int my )
{
if ( mx < 0 ) mx = 0 ;
if ( my < 0 ) my = 0 ;
if ( mx > XNumeric . Maximum ) mx = ( int ) XNumeric . Maximum ;
if ( my > YNumeric . Maximum ) my = ( int ) YNumeric . Maximum ;
2012-09-27 00:04:16 +00:00
if ( TL . Checked )
{
2017-05-31 15:28:06 +00:00
// Do nothing
2012-09-27 00:04:16 +00:00
}
else if ( TR . Checked )
{
mx = ( int ) XNumeric . Maximum - mx ;
}
else if ( BL . Checked )
{
my = ( int ) YNumeric . Maximum - my ;
}
else if ( BR . Checked )
{
mx = ( int ) XNumeric . Maximum - mx ;
my = ( int ) YNumeric . Maximum - my ;
}
2011-06-16 02:39:35 +00:00
XNumeric . Value = mx ;
YNumeric . Value = my ;
2013-11-28 01:33:38 +00:00
_px = mx ;
_py = my ;
2011-06-16 02:39:35 +00:00
PositionPanel . Refresh ( ) ;
SetPositionLabels ( ) ;
}
private void PositionPanel_MouseMove ( object sender , MouseEventArgs e )
{
2013-11-28 01:33:38 +00:00
if ( _mousedown )
2011-06-16 02:39:35 +00:00
{
SetNewPosition ( e . X , e . Y ) ;
}
}
2019-12-21 20:11:49 +00:00
private void SetOptionPosition ( MessageOption option )
{
option . X = _px ;
option . Y = _py ;
}
2011-06-16 02:39:35 +00:00
private void SetPositionLabels ( )
{
if ( FPSRadio . Checked )
{
2019-12-21 20:11:49 +00:00
SetOptionPosition ( _fps ) ;
2011-06-16 02:39:35 +00:00
}
else if ( FrameCounterRadio . Checked )
{
2019-12-21 20:11:49 +00:00
SetOptionPosition ( _frameCounter ) ;
2011-06-16 02:39:35 +00:00
}
else if ( LagCounterRadio . Checked )
{
2019-12-21 20:11:49 +00:00
SetOptionPosition ( _lagCounter ) ;
2011-06-16 02:39:35 +00:00
}
else if ( InputDisplayRadio . Checked )
{
2019-12-21 20:11:49 +00:00
SetOptionPosition ( _inputDisplay ) ;
2011-06-16 02:39:35 +00:00
}
2015-10-01 06:39:22 +00:00
else if ( WatchesRadio . Checked )
{
2019-12-21 20:11:49 +00:00
SetOptionPosition ( _ramWatches ) ;
2015-10-01 06:39:22 +00:00
}
2011-07-01 02:00:11 +00:00
else if ( RerecordsRadio . Checked )
{
2019-12-21 20:11:49 +00:00
SetOptionPosition ( _reRecordCounter ) ;
2011-07-01 02:00:11 +00:00
}
2011-07-10 03:38:46 +00:00
else if ( MultitrackRadio . Checked )
{
2019-12-21 20:11:49 +00:00
SetOptionPosition ( _multitrackRecorder ) ;
2011-07-10 03:38:46 +00:00
}
2012-09-25 04:04:54 +00:00
else if ( MessagesRadio . Checked )
{
2019-12-21 20:11:49 +00:00
SetOptionPosition ( _messages ) ;
2012-09-25 04:04:54 +00:00
}
2012-09-26 23:25:43 +00:00
else if ( AutoholdRadio . Checked )
{
2019-12-21 20:11:49 +00:00
SetOptionPosition ( _autohold ) ;
2012-09-26 23:25:43 +00:00
}
2012-09-25 04:04:54 +00:00
2019-12-21 20:11:49 +00:00
FpsPosLabel . Text = ToCoordinateStr ( _fps ) ;
FCLabel . Text = ToCoordinateStr ( _frameCounter ) ;
LagLabel . Text = ToCoordinateStr ( _lagCounter ) ;
InpLabel . Text = ToCoordinateStr ( _inputDisplay ) ;
WatchesLabel . Text = ToCoordinateStr ( _ramWatches ) ;
RerecLabel . Text = ToCoordinateStr ( _reRecordCounter ) ;
MultitrackLabel . Text = ToCoordinateStr ( _multitrackRecorder ) ;
MessLabel . Text = ToCoordinateStr ( _messages ) ;
AutoholdLabel . Text = ToCoordinateStr ( _autohold ) ;
}
private string ToCoordinateStr ( MessageOption option )
{
return $"{option.X}, {option.Y}" ;
2011-06-16 02:39:35 +00:00
}
private void ResetDefaultsButton_Click ( object sender , EventArgs e )
{
2019-12-21 20:16:23 +00:00
_fps = _config . Fps = DefaultMessageOptions . Fps ;
_frameCounter = _config . FrameCounter = DefaultMessageOptions . FrameCounter ;
_lagCounter = _config . LagCounter = DefaultMessageOptions . LagCounter ;
_inputDisplay = _config . InputDisplay = DefaultMessageOptions . InputDisplay ;
_reRecordCounter = _config . ReRecordCounter = DefaultMessageOptions . ReRecordCounter ;
_multitrackRecorder = _config . MultitrackRecorder = DefaultMessageOptions . MultitrackRecorder ;
_messages = _config . Messages = DefaultMessageOptions . Messages ;
_autohold = _config . Autohold = DefaultMessageOptions . Autohold ;
_ramWatches = _config . RamWatches = DefaultMessageOptions . RamWatches ;
_messageColor = _config . MessagesColor = DefaultMessageOptions . MessagesColor ;
_alertColor = _config . AlertMessageColor = DefaultMessageOptions . AlertMessageColor ;
_lastInputColor = _config . LastInputColor = DefaultMessageOptions . LastInputColor ;
_movieInput = _config . MovieInput = DefaultMessageOptions . MovieInput ;
2015-07-08 23:07:21 +00:00
2017-04-15 20:37:30 +00:00
MessageColorDialog . Color = Color . FromArgb ( _messageColor ) ;
AlertColorDialog . Color = Color . FromArgb ( _alertColor ) ;
LInputColorDialog . Color = Color . FromArgb ( _lastInputColor ) ;
MovieInputColorDialog . Color = Color . FromArgb ( _movieInput ) ;
2012-09-25 04:04:54 +00:00
2017-05-31 15:28:06 +00:00
SetMaxXy ( ) ;
2011-06-16 02:39:35 +00:00
SetColorBox ( ) ;
SetPositionInfo ( ) ;
2012-09-26 04:00:42 +00:00
2019-12-21 20:16:23 +00:00
StackMessagesCheckbox . Checked = _config . StackOSDMessages = true ;
2011-06-16 02:39:35 +00:00
}
2012-09-25 04:04:54 +00:00
private void SetAnchorValue ( int value )
{
if ( FPSRadio . Checked )
{
2019-12-21 20:11:49 +00:00
_fps . Anchor = value ;
2012-09-25 04:04:54 +00:00
}
else if ( FrameCounterRadio . Checked )
{
2019-12-21 20:11:49 +00:00
_frameCounter . Anchor = value ;
2012-09-25 04:04:54 +00:00
}
else if ( LagCounterRadio . Checked )
{
2019-12-21 20:11:49 +00:00
_lagCounter . Anchor = value ;
2012-09-25 04:04:54 +00:00
}
else if ( InputDisplayRadio . Checked )
{
2019-12-21 20:11:49 +00:00
_inputDisplay . Anchor = value ;
2012-09-25 04:04:54 +00:00
}
2015-10-01 06:39:22 +00:00
else if ( WatchesRadio . Checked )
{
2019-12-21 20:11:49 +00:00
_ramWatches . Anchor = value ;
2015-10-01 06:39:22 +00:00
}
2012-09-25 04:04:54 +00:00
else if ( MessagesRadio . Checked )
{
2019-12-21 20:11:49 +00:00
_messages . Anchor = value ;
2012-09-25 04:04:54 +00:00
}
else if ( RerecordsRadio . Checked )
{
2019-12-21 20:11:49 +00:00
_reRecordCounter . Anchor = value ;
2012-09-25 04:04:54 +00:00
}
else if ( MultitrackRadio . Checked )
{
2019-12-21 20:11:49 +00:00
_multitrackRecorder . Anchor = value ;
2012-09-25 04:04:54 +00:00
}
2012-09-26 23:25:43 +00:00
else if ( AutoholdRadio . Checked )
{
2019-12-21 20:11:49 +00:00
_autohold . Anchor = value ;
2012-09-26 23:25:43 +00:00
}
2012-09-25 04:04:54 +00:00
}
2011-06-16 02:39:35 +00:00
private void TL_CheckedChanged ( object sender , EventArgs e )
{
if ( TL . Checked )
{
2012-09-25 04:04:54 +00:00
SetAnchorValue ( 0 ) ;
2011-06-16 02:39:35 +00:00
}
2017-05-31 15:28:06 +00:00
2012-09-26 23:41:11 +00:00
PositionPanel . Refresh ( ) ;
2011-06-16 02:39:35 +00:00
}
private void TR_CheckedChanged ( object sender , EventArgs e )
{
if ( TR . Checked )
{
2012-09-25 04:04:54 +00:00
SetAnchorValue ( 1 ) ;
2011-06-16 02:39:35 +00:00
}
2017-05-31 15:28:06 +00:00
2012-09-26 23:41:11 +00:00
PositionPanel . Refresh ( ) ;
2011-06-16 02:39:35 +00:00
}
private void BL_CheckedChanged ( object sender , EventArgs e )
{
if ( BL . Checked )
{
2012-09-25 04:04:54 +00:00
SetAnchorValue ( 2 ) ;
2011-06-16 02:39:35 +00:00
}
2019-12-21 20:11:49 +00:00
2012-09-26 23:41:11 +00:00
PositionPanel . Refresh ( ) ;
2011-06-16 02:39:35 +00:00
}
private void BR_CheckedChanged ( object sender , EventArgs e )
{
if ( BR . Checked )
{
2012-09-25 04:04:54 +00:00
SetAnchorValue ( 3 ) ;
2011-06-16 02:39:35 +00:00
}
2019-12-21 20:11:49 +00:00
2012-09-26 23:41:11 +00:00
PositionPanel . Refresh ( ) ;
2011-06-16 02:39:35 +00:00
}
2011-06-18 16:22:26 +00:00
2019-12-21 20:21:12 +00:00
private void XNumeric_Changed ( object sender , EventArgs e )
2011-06-18 16:22:26 +00:00
{
2019-12-21 20:21:12 +00:00
_px = ( int ) XNumeric . Value ;
SetPositionLabels ( ) ;
PositionPanel . Refresh ( ) ;
2011-06-18 16:22:26 +00:00
}
2019-12-21 20:21:12 +00:00
private void YNumeric_Changed ( object sender , EventArgs e )
2011-06-18 16:22:26 +00:00
{
2019-12-21 20:21:12 +00:00
_py = ( int ) YNumeric . Value ;
SetPositionLabels ( ) ;
PositionPanel . Refresh ( ) ;
2011-06-18 16:22:26 +00:00
}
2011-07-01 02:43:08 +00:00
2012-09-16 20:28:56 +00:00
private void ColorPanel_Click ( object sender , EventArgs e )
2011-07-01 02:43:08 +00:00
{
2019-12-21 20:11:49 +00:00
if ( MessageColorDialog . ShowDialog ( ) . IsOk ( ) )
2012-09-25 04:04:54 +00:00
{
2012-09-16 20:28:56 +00:00
SetColorBox ( ) ;
2012-09-25 04:04:54 +00:00
}
2012-09-16 20:28:56 +00:00
}
2012-09-16 20:22:22 +00:00
2012-09-16 20:28:56 +00:00
private void AlertColorPanel_Click ( object sender , EventArgs e )
{
2019-12-21 20:11:49 +00:00
if ( AlertColorDialog . ShowDialog ( ) . IsOk ( ) )
2012-09-25 04:04:54 +00:00
{
2012-09-16 20:28:56 +00:00
SetColorBox ( ) ;
2012-09-25 04:04:54 +00:00
}
2011-07-01 02:43:08 +00:00
}
2012-09-16 20:22:22 +00:00
private void LInputColorPanel_Click ( object sender , EventArgs e )
2011-07-01 02:43:08 +00:00
{
2019-12-21 20:11:49 +00:00
if ( LInputColorDialog . ShowDialog ( ) . IsOk ( ) )
2012-09-25 04:04:54 +00:00
{
2012-09-16 20:28:56 +00:00
SetColorBox ( ) ;
2012-09-25 04:04:54 +00:00
}
2011-07-01 02:43:08 +00:00
}
2012-09-16 20:22:22 +00:00
private void MovieInputColor_Click ( object sender , EventArgs e )
2011-07-10 03:13:07 +00:00
{
2019-12-21 20:11:49 +00:00
if ( MovieInputColorDialog . ShowDialog ( ) . IsOk ( ) )
2012-09-25 04:04:54 +00:00
{
2012-09-16 20:28:56 +00:00
SetColorBox ( ) ;
2012-09-25 04:04:54 +00:00
}
2011-07-10 03:13:07 +00:00
}
2011-06-16 02:39:35 +00:00
}
2011-04-23 00:39:29 +00:00
}