NESPPU - implement right-click to remember selection
This commit is contained in:
parent
2f5571e4da
commit
f2e6babd71
|
@ -64,10 +64,14 @@
|
|||
this.txtScanline = new System.Windows.Forms.TextBox();
|
||||
this.groupBox1 = new System.Windows.Forms.GroupBox();
|
||||
this.Value3Label = new System.Windows.Forms.Label();
|
||||
this.ZoomBox = new System.Windows.Forms.PictureBox();
|
||||
this.SpriteView = new BizHawk.MultiClient.SpriteViewer();
|
||||
this.PaletteView = new BizHawk.MultiClient.PaletteViewer();
|
||||
this.PatternView = new BizHawk.MultiClient.PatternViewer();
|
||||
this.ZoomBox = new System.Windows.Forms.PictureBox();
|
||||
this.label1 = new System.Windows.Forms.Label();
|
||||
this.Value4Label = new System.Windows.Forms.Label();
|
||||
this.Value5Label = new System.Windows.Forms.Label();
|
||||
this.label2 = new System.Windows.Forms.Label();
|
||||
this.PatternGroup.SuspendLayout();
|
||||
this.PalettesGroup.SuspendLayout();
|
||||
this.DetailsBox.SuspendLayout();
|
||||
|
@ -119,6 +123,10 @@
|
|||
//
|
||||
// DetailsBox
|
||||
//
|
||||
this.DetailsBox.Controls.Add(this.label2);
|
||||
this.DetailsBox.Controls.Add(this.Value5Label);
|
||||
this.DetailsBox.Controls.Add(this.Value4Label);
|
||||
this.DetailsBox.Controls.Add(this.label1);
|
||||
this.DetailsBox.Controls.Add(this.ZoomBox);
|
||||
this.DetailsBox.Controls.Add(this.Value3Label);
|
||||
this.DetailsBox.Controls.Add(this.Value2Label);
|
||||
|
@ -134,7 +142,7 @@
|
|||
// Value2Label
|
||||
//
|
||||
this.Value2Label.AutoSize = true;
|
||||
this.Value2Label.Location = new System.Drawing.Point(8, 84);
|
||||
this.Value2Label.Location = new System.Drawing.Point(10, 148);
|
||||
this.Value2Label.Name = "Value2Label";
|
||||
this.Value2Label.Size = new System.Drawing.Size(43, 13);
|
||||
this.Value2Label.TabIndex = 3;
|
||||
|
@ -143,7 +151,7 @@
|
|||
// ValueLabel
|
||||
//
|
||||
this.ValueLabel.AutoSize = true;
|
||||
this.ValueLabel.Location = new System.Drawing.Point(8, 56);
|
||||
this.ValueLabel.Location = new System.Drawing.Point(10, 120);
|
||||
this.ValueLabel.Name = "ValueLabel";
|
||||
this.ValueLabel.Size = new System.Drawing.Size(43, 13);
|
||||
this.ValueLabel.TabIndex = 2;
|
||||
|
@ -152,7 +160,7 @@
|
|||
// AddressLabel
|
||||
//
|
||||
this.AddressLabel.AutoSize = true;
|
||||
this.AddressLabel.Location = new System.Drawing.Point(8, 28);
|
||||
this.AddressLabel.Location = new System.Drawing.Point(10, 92);
|
||||
this.AddressLabel.Name = "AddressLabel";
|
||||
this.AddressLabel.Size = new System.Drawing.Size(45, 13);
|
||||
this.AddressLabel.TabIndex = 1;
|
||||
|
@ -384,12 +392,20 @@
|
|||
// Value3Label
|
||||
//
|
||||
this.Value3Label.AutoSize = true;
|
||||
this.Value3Label.Location = new System.Drawing.Point(8, 112);
|
||||
this.Value3Label.Location = new System.Drawing.Point(176, 92);
|
||||
this.Value3Label.Name = "Value3Label";
|
||||
this.Value3Label.Size = new System.Drawing.Size(43, 13);
|
||||
this.Value3Label.TabIndex = 5;
|
||||
this.Value3Label.Text = "Value 3";
|
||||
//
|
||||
// ZoomBox
|
||||
//
|
||||
this.ZoomBox.Location = new System.Drawing.Point(196, 16);
|
||||
this.ZoomBox.Name = "ZoomBox";
|
||||
this.ZoomBox.Size = new System.Drawing.Size(64, 64);
|
||||
this.ZoomBox.TabIndex = 6;
|
||||
this.ZoomBox.TabStop = false;
|
||||
//
|
||||
// SpriteView
|
||||
//
|
||||
this.SpriteView.BackColor = System.Drawing.Color.Transparent;
|
||||
|
@ -397,6 +413,7 @@
|
|||
this.SpriteView.Name = "SpriteView";
|
||||
this.SpriteView.Size = new System.Drawing.Size(256, 96);
|
||||
this.SpriteView.TabIndex = 0;
|
||||
this.SpriteView.MouseClick += new System.Windows.Forms.MouseEventHandler(this.SpriteView_MouseClick);
|
||||
this.SpriteView.MouseEnter += new System.EventHandler(this.SpriteView_MouseEnter);
|
||||
this.SpriteView.MouseLeave += new System.EventHandler(this.SpriteView_MouseLeave);
|
||||
this.SpriteView.MouseMove += new System.Windows.Forms.MouseEventHandler(this.SpriteView_MouseMove);
|
||||
|
@ -408,6 +425,7 @@
|
|||
this.PaletteView.Name = "PaletteView";
|
||||
this.PaletteView.Size = new System.Drawing.Size(257, 34);
|
||||
this.PaletteView.TabIndex = 0;
|
||||
this.PaletteView.MouseClick += new System.Windows.Forms.MouseEventHandler(this.PaletteView_MouseClick);
|
||||
this.PaletteView.MouseEnter += new System.EventHandler(this.PaletteView_MouseEnter);
|
||||
this.PaletteView.MouseLeave += new System.EventHandler(this.PaletteView_MouseLeave);
|
||||
this.PaletteView.MouseMove += new System.Windows.Forms.MouseEventHandler(this.PaletteView_MouseMove);
|
||||
|
@ -424,13 +442,41 @@
|
|||
this.PatternView.MouseLeave += new System.EventHandler(this.PatternView_MouseLeave);
|
||||
this.PatternView.MouseMove += new System.Windows.Forms.MouseEventHandler(this.PatternView_MouseMove);
|
||||
//
|
||||
// ZoomBox
|
||||
// label1
|
||||
//
|
||||
this.ZoomBox.Location = new System.Drawing.Point(196, 16);
|
||||
this.ZoomBox.Name = "ZoomBox";
|
||||
this.ZoomBox.Size = new System.Drawing.Size(64, 64);
|
||||
this.ZoomBox.TabIndex = 6;
|
||||
this.ZoomBox.TabStop = false;
|
||||
this.label1.AutoSize = true;
|
||||
this.label1.Location = new System.Drawing.Point(6, 16);
|
||||
this.label1.Name = "label1";
|
||||
this.label1.Size = new System.Drawing.Size(152, 13);
|
||||
this.label1.TabIndex = 7;
|
||||
this.label1.Text = "Hover over item to view details";
|
||||
//
|
||||
// Value4Label
|
||||
//
|
||||
this.Value4Label.AutoSize = true;
|
||||
this.Value4Label.Location = new System.Drawing.Point(176, 120);
|
||||
this.Value4Label.Name = "Value4Label";
|
||||
this.Value4Label.Size = new System.Drawing.Size(43, 13);
|
||||
this.Value4Label.TabIndex = 8;
|
||||
this.Value4Label.Text = "Value 4";
|
||||
//
|
||||
// Value5Label
|
||||
//
|
||||
this.Value5Label.AutoSize = true;
|
||||
this.Value5Label.Location = new System.Drawing.Point(176, 148);
|
||||
this.Value5Label.Name = "Value5Label";
|
||||
this.Value5Label.Size = new System.Drawing.Size(43, 13);
|
||||
this.Value5Label.TabIndex = 9;
|
||||
this.Value5Label.Text = "Value 5";
|
||||
//
|
||||
// label2
|
||||
//
|
||||
this.label2.AutoSize = true;
|
||||
this.label2.Location = new System.Drawing.Point(6, 31);
|
||||
this.label2.Name = "label2";
|
||||
this.label2.Size = new System.Drawing.Size(163, 13);
|
||||
this.label2.TabIndex = 10;
|
||||
this.label2.Text = "Right-click to remember selection";
|
||||
//
|
||||
// NESPPU
|
||||
//
|
||||
|
@ -449,6 +495,7 @@
|
|||
this.Text = "NES PPU Viewer";
|
||||
this.FormClosed += new System.Windows.Forms.FormClosedEventHandler(this.NESPPU_FormClosed);
|
||||
this.Load += new System.EventHandler(this.NESPPU_Load);
|
||||
this.MouseClick += new System.Windows.Forms.MouseEventHandler(this.NESPPU_MouseClick);
|
||||
this.PatternGroup.ResumeLayout(false);
|
||||
this.PatternGroup.PerformLayout();
|
||||
this.PalettesGroup.ResumeLayout(false);
|
||||
|
@ -506,5 +553,9 @@
|
|||
private System.Windows.Forms.GroupBox groupBox1;
|
||||
private System.Windows.Forms.Label Value3Label;
|
||||
private System.Windows.Forms.PictureBox ZoomBox;
|
||||
private System.Windows.Forms.Label Value5Label;
|
||||
private System.Windows.Forms.Label Value4Label;
|
||||
private System.Windows.Forms.Label label1;
|
||||
private System.Windows.Forms.Label label2;
|
||||
}
|
||||
}
|
|
@ -22,6 +22,7 @@ namespace BizHawk.MultiClient
|
|||
//Sprite viewer
|
||||
//Nametable viewer
|
||||
|
||||
Bitmap ZoomBoxDefaultImage = new Bitmap(64, 64);
|
||||
int defaultWidth; //For saving the default size of the dialog, so the user can restore if desired
|
||||
int defaultHeight;
|
||||
NES Nes;
|
||||
|
@ -163,7 +164,6 @@ namespace BizHawk.MultiClient
|
|||
{
|
||||
if (!this.IsHandleCreated || this.IsDisposed) return;
|
||||
if (!(Global.Emulator is NES)) return;
|
||||
//NES.PPU ppu = (Global.Emulator as NES).ppu;
|
||||
Nes.ppu.PPUViewCallback = Callback;
|
||||
}
|
||||
|
||||
|
@ -181,7 +181,9 @@ namespace BizHawk.MultiClient
|
|||
ValueLabel.Text = "";
|
||||
Value2Label.Text = "";
|
||||
Value3Label.Text = "";
|
||||
ZoomBox.Image = new Bitmap(64, 64);
|
||||
Value4Label.Text = "";
|
||||
Value5Label.Text = "";
|
||||
ZoomBox.Image = ZoomBoxDefaultImage;
|
||||
}
|
||||
|
||||
private void PaletteView_MouseLeave(object sender, EventArgs e)
|
||||
|
@ -243,17 +245,21 @@ namespace BizHawk.MultiClient
|
|||
|
||||
private void PatternView_Click(object sender, MouseEventArgs e)
|
||||
{
|
||||
if (e.X < PatternView.Width / 2)
|
||||
if (e.Button == MouseButtons.Left)
|
||||
{
|
||||
PatternView.Pal0++;
|
||||
if (PatternView.Pal0 > 7) PatternView.Pal0 = 0;
|
||||
if (e.X < PatternView.Width / 2)
|
||||
{
|
||||
PatternView.Pal0++;
|
||||
if (PatternView.Pal0 > 7) PatternView.Pal0 = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
PatternView.Pal1++;
|
||||
if (PatternView.Pal1 > 7) PatternView.Pal1 = 0;
|
||||
}
|
||||
UpdateTableLabels();
|
||||
}
|
||||
else
|
||||
{
|
||||
PatternView.Pal1++;
|
||||
if (PatternView.Pal1 > 7) PatternView.Pal1 = 0;
|
||||
}
|
||||
UpdateTableLabels();
|
||||
HandleDefaultImage(e);
|
||||
}
|
||||
|
||||
private void UpdateTableLabels()
|
||||
|
@ -459,5 +465,28 @@ namespace BizHawk.MultiClient
|
|||
|
||||
ZoomBox.Image = Section(SpriteView.sprites, new Rectangle(new Point((e.X / 8) * 8, (e.Y / 8) * 8), new Size(8, 8)));
|
||||
}
|
||||
|
||||
private void PaletteView_MouseClick(object sender, MouseEventArgs e)
|
||||
{
|
||||
HandleDefaultImage(e);
|
||||
}
|
||||
|
||||
private void SpriteView_MouseClick(object sender, MouseEventArgs e)
|
||||
{
|
||||
HandleDefaultImage(e);
|
||||
}
|
||||
|
||||
private void HandleDefaultImage(MouseEventArgs e)
|
||||
{
|
||||
if (e.Button == MouseButtons.Right)
|
||||
{
|
||||
ZoomBoxDefaultImage = ZoomBox.Image as Bitmap;
|
||||
}
|
||||
}
|
||||
|
||||
private void NESPPU_MouseClick(object sender, MouseEventArgs e)
|
||||
{
|
||||
ZoomBox.Image = new Bitmap(64, 64);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue