NES Nametable & PPU Viewer fix ups

This commit is contained in:
andres.delikat 2011-08-27 21:07:09 +00:00
parent 8e7e3eb1e5
commit e75052923a
7 changed files with 187 additions and 95 deletions

View File

@ -29,7 +29,6 @@
private void InitializeComponent()
{
this.groupBox1 = new System.Windows.Forms.GroupBox();
this.NameTableView = new BizHawk.MultiClient.NameTableViewer();
this.menuStrip1 = new System.Windows.Forms.MenuStrip();
this.optionsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.autoloadToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
@ -37,16 +36,26 @@
this.toolStripSeparator1 = new System.Windows.Forms.ToolStripSeparator();
this.exitToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.txtScanline = new System.Windows.Forms.TextBox();
this.label1 = new System.Windows.Forms.Label();
this.rbNametableNW = new System.Windows.Forms.RadioButton();
this.rbNametableNE = new System.Windows.Forms.RadioButton();
this.rbNametableSW = new System.Windows.Forms.RadioButton();
this.rbNametableSE = new System.Windows.Forms.RadioButton();
this.label2 = new System.Windows.Forms.Label();
this.rbNametableAll = new System.Windows.Forms.RadioButton();
this.NameTableView = new BizHawk.MultiClient.NameTableViewer();
this.groupBox2 = new System.Windows.Forms.GroupBox();
this.groupBox3 = new System.Windows.Forms.GroupBox();
this.groupBox4 = new System.Windows.Forms.GroupBox();
this.label1 = new System.Windows.Forms.Label();
this.label2 = new System.Windows.Forms.Label();
this.label3 = new System.Windows.Forms.Label();
this.TileIDLabel = new System.Windows.Forms.Label();
this.XYLabel = new System.Windows.Forms.Label();
this.PPUAddressLabel = new System.Windows.Forms.Label();
this.groupBox1.SuspendLayout();
this.menuStrip1.SuspendLayout();
this.groupBox2.SuspendLayout();
this.groupBox3.SuspendLayout();
this.groupBox4.SuspendLayout();
this.SuspendLayout();
//
// groupBox1
@ -58,14 +67,6 @@
this.groupBox1.TabIndex = 0;
this.groupBox1.TabStop = false;
//
// NameTableView
//
this.NameTableView.BackColor = System.Drawing.Color.White;
this.NameTableView.Location = new System.Drawing.Point(17, 19);
this.NameTableView.Name = "NameTableView";
this.NameTableView.Size = new System.Drawing.Size(512, 480);
this.NameTableView.TabIndex = 0;
//
// menuStrip1
//
this.menuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
@ -117,26 +118,17 @@
//
// txtScanline
//
this.txtScanline.Location = new System.Drawing.Point(578, 64);
this.txtScanline.Location = new System.Drawing.Point(4, 19);
this.txtScanline.Name = "txtScanline";
this.txtScanline.Size = new System.Drawing.Size(60, 20);
this.txtScanline.TabIndex = 2;
this.txtScanline.Text = "0";
this.txtScanline.TextChanged += new System.EventHandler(this.txtScanline_TextChanged);
//
// label1
//
this.label1.AutoSize = true;
this.label1.Location = new System.Drawing.Point(579, 45);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(48, 13);
this.label1.TabIndex = 3;
this.label1.Text = "Scanline";
//
// rbNametableNW
//
this.rbNametableNW.AutoSize = true;
this.rbNametableNW.Location = new System.Drawing.Point(592, 115);
this.rbNametableNW.Location = new System.Drawing.Point(6, 19);
this.rbNametableNW.Name = "rbNametableNW";
this.rbNametableNW.Size = new System.Drawing.Size(14, 13);
this.rbNametableNW.TabIndex = 4;
@ -146,7 +138,7 @@
// rbNametableNE
//
this.rbNametableNE.AutoSize = true;
this.rbNametableNE.Location = new System.Drawing.Point(612, 115);
this.rbNametableNE.Location = new System.Drawing.Point(56, 19);
this.rbNametableNE.Name = "rbNametableNE";
this.rbNametableNE.Size = new System.Drawing.Size(14, 13);
this.rbNametableNE.TabIndex = 5;
@ -156,7 +148,7 @@
// rbNametableSW
//
this.rbNametableSW.AutoSize = true;
this.rbNametableSW.Location = new System.Drawing.Point(592, 134);
this.rbNametableSW.Location = new System.Drawing.Point(6, 57);
this.rbNametableSW.Name = "rbNametableSW";
this.rbNametableSW.Size = new System.Drawing.Size(14, 13);
this.rbNametableSW.TabIndex = 6;
@ -166,27 +158,18 @@
// rbNametableSE
//
this.rbNametableSE.AutoSize = true;
this.rbNametableSE.Location = new System.Drawing.Point(612, 134);
this.rbNametableSE.Location = new System.Drawing.Point(56, 57);
this.rbNametableSE.Name = "rbNametableSE";
this.rbNametableSE.Size = new System.Drawing.Size(14, 13);
this.rbNametableSE.TabIndex = 7;
this.rbNametableSE.UseVisualStyleBackColor = true;
this.rbNametableSE.CheckedChanged += new System.EventHandler(this.rbNametable_CheckedChanged);
//
// label2
//
this.label2.AutoSize = true;
this.label2.Location = new System.Drawing.Point(579, 99);
this.label2.Name = "label2";
this.label2.Size = new System.Drawing.Size(58, 13);
this.label2.TabIndex = 8;
this.label2.Text = "Nametable";
//
// rbNametableAll
//
this.rbNametableAll.AutoSize = true;
this.rbNametableAll.Checked = true;
this.rbNametableAll.Location = new System.Drawing.Point(582, 153);
this.rbNametableAll.Location = new System.Drawing.Point(31, 38);
this.rbNametableAll.Name = "rbNametableAll";
this.rbNametableAll.Size = new System.Drawing.Size(14, 13);
this.rbNametableAll.TabIndex = 9;
@ -194,39 +177,133 @@
this.rbNametableAll.UseVisualStyleBackColor = true;
this.rbNametableAll.CheckedChanged += new System.EventHandler(this.rbNametable_CheckedChanged);
//
// NameTableView
//
this.NameTableView.BackColor = System.Drawing.Color.Black;
this.NameTableView.Location = new System.Drawing.Point(17, 19);
this.NameTableView.Name = "NameTableView";
this.NameTableView.Size = new System.Drawing.Size(512, 480);
this.NameTableView.TabIndex = 0;
this.NameTableView.MouseMove += new System.Windows.Forms.MouseEventHandler(this.NameTableView_MouseMove);
//
// groupBox2
//
this.groupBox2.Controls.Add(this.rbNametableNW);
this.groupBox2.Controls.Add(this.rbNametableNE);
this.groupBox2.Controls.Add(this.rbNametableAll);
this.groupBox2.Controls.Add(this.rbNametableSW);
this.groupBox2.Controls.Add(this.rbNametableSE);
this.groupBox2.Location = new System.Drawing.Point(563, 94);
this.groupBox2.Name = "groupBox2";
this.groupBox2.Size = new System.Drawing.Size(76, 79);
this.groupBox2.TabIndex = 11;
this.groupBox2.TabStop = false;
this.groupBox2.Text = "Nametable";
//
// groupBox3
//
this.groupBox3.Controls.Add(this.txtScanline);
this.groupBox3.Location = new System.Drawing.Point(563, 36);
this.groupBox3.Name = "groupBox3";
this.groupBox3.Size = new System.Drawing.Size(76, 52);
this.groupBox3.TabIndex = 12;
this.groupBox3.TabStop = false;
this.groupBox3.Text = "Scanline";
//
// groupBox4
//
this.groupBox4.Controls.Add(this.PPUAddressLabel);
this.groupBox4.Controls.Add(this.XYLabel);
this.groupBox4.Controls.Add(this.TileIDLabel);
this.groupBox4.Controls.Add(this.label3);
this.groupBox4.Controls.Add(this.label2);
this.groupBox4.Controls.Add(this.label1);
this.groupBox4.Location = new System.Drawing.Point(563, 179);
this.groupBox4.Name = "groupBox4";
this.groupBox4.Size = new System.Drawing.Size(99, 100);
this.groupBox4.TabIndex = 13;
this.groupBox4.TabStop = false;
this.groupBox4.Text = "Properties";
//
// label1
//
this.label1.AutoSize = true;
this.label1.Location = new System.Drawing.Point(6, 26);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(41, 13);
this.label1.TabIndex = 0;
this.label1.Text = "Tile ID:";
//
// label2
//
this.label2.AutoSize = true;
this.label2.Location = new System.Drawing.Point(6, 43);
this.label2.Name = "label2";
this.label2.Size = new System.Drawing.Size(35, 13);
this.label2.TabIndex = 1;
this.label2.Text = "X / Y:";
//
// label3
//
this.label3.AutoSize = true;
this.label3.Location = new System.Drawing.Point(602, 153);
this.label3.Location = new System.Drawing.Point(6, 60);
this.label3.Name = "label3";
this.label3.Size = new System.Drawing.Size(30, 13);
this.label3.TabIndex = 10;
this.label3.Text = "<- All";
this.label3.Size = new System.Drawing.Size(57, 13);
this.label3.TabIndex = 2;
this.label3.Text = "PPU Addr:";
//
// TileIDLabel
//
this.TileIDLabel.AutoSize = true;
this.TileIDLabel.Location = new System.Drawing.Point(66, 26);
this.TileIDLabel.Name = "TileIDLabel";
this.TileIDLabel.Size = new System.Drawing.Size(22, 13);
this.TileIDLabel.TabIndex = 3;
this.TileIDLabel.Text = " ";
//
// XYLabel
//
this.XYLabel.AutoSize = true;
this.XYLabel.Location = new System.Drawing.Point(66, 43);
this.XYLabel.Name = "XYLabel";
this.XYLabel.Size = new System.Drawing.Size(22, 13);
this.XYLabel.TabIndex = 4;
this.XYLabel.Text = " ";
//
// PPUAddressLabel
//
this.PPUAddressLabel.AutoSize = true;
this.PPUAddressLabel.Location = new System.Drawing.Point(66, 60);
this.PPUAddressLabel.Name = "PPUAddressLabel";
this.PPUAddressLabel.Size = new System.Drawing.Size(22, 13);
this.PPUAddressLabel.TabIndex = 5;
this.PPUAddressLabel.Text = " ";
//
// NESNameTableViewer
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(668, 561);
this.Controls.Add(this.label3);
this.Controls.Add(this.rbNametableAll);
this.Controls.Add(this.label2);
this.Controls.Add(this.rbNametableSE);
this.Controls.Add(this.rbNametableSW);
this.Controls.Add(this.rbNametableNE);
this.Controls.Add(this.rbNametableNW);
this.Controls.Add(this.label1);
this.Controls.Add(this.txtScanline);
this.Controls.Add(this.groupBox4);
this.Controls.Add(this.groupBox3);
this.Controls.Add(this.groupBox2);
this.Controls.Add(this.groupBox1);
this.Controls.Add(this.menuStrip1);
this.MainMenuStrip = this.menuStrip1;
this.Name = "NESNameTableViewer";
this.ShowIcon = false;
this.Text = "NES Nametable Viewer";
this.Load += new System.EventHandler(this.NESNameTableViewer_Load);
this.FormClosed += new System.Windows.Forms.FormClosedEventHandler(this.NESNameTableViewer_FormClosed);
this.Load += new System.EventHandler(this.NESNameTableViewer_Load);
this.groupBox1.ResumeLayout(false);
this.menuStrip1.ResumeLayout(false);
this.menuStrip1.PerformLayout();
this.groupBox2.ResumeLayout(false);
this.groupBox2.PerformLayout();
this.groupBox3.ResumeLayout(false);
this.groupBox3.PerformLayout();
this.groupBox4.ResumeLayout(false);
this.groupBox4.PerformLayout();
this.ResumeLayout(false);
this.PerformLayout();
@ -243,13 +320,19 @@
private System.Windows.Forms.ToolStripSeparator toolStripSeparator1;
private System.Windows.Forms.ToolStripMenuItem exitToolStripMenuItem;
private System.Windows.Forms.TextBox txtScanline;
private System.Windows.Forms.Label label1;
private System.Windows.Forms.RadioButton rbNametableNW;
private System.Windows.Forms.RadioButton rbNametableNE;
private System.Windows.Forms.RadioButton rbNametableSW;
private System.Windows.Forms.RadioButton rbNametableSE;
private System.Windows.Forms.Label label2;
private System.Windows.Forms.RadioButton rbNametableAll;
private System.Windows.Forms.GroupBox groupBox2;
private System.Windows.Forms.GroupBox groupBox3;
private System.Windows.Forms.GroupBox groupBox4;
private System.Windows.Forms.Label PPUAddressLabel;
private System.Windows.Forms.Label XYLabel;
private System.Windows.Forms.Label TileIDLabel;
private System.Windows.Forms.Label label3;
private System.Windows.Forms.Label label2;
private System.Windows.Forms.Label label1;
}
}

View File

@ -169,5 +169,10 @@ namespace BizHawk.MultiClient
if (rbNametableSE.Checked) NameTableView.Which = NameTableViewer.WhichNametable.NT_2C00;
if (rbNametableAll.Checked) NameTableView.Which = NameTableViewer.WhichNametable.NT_ALL;
}
private void NameTableView_MouseMove(object sender, MouseEventArgs e)
{
}
}
}

View File

@ -112,12 +112,12 @@
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<metadata name="menuStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<metadata name="menuStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
</root>

View File

@ -62,16 +62,17 @@
this.Table1P6 = new System.Windows.Forms.ToolStripMenuItem();
this.Table1P7 = new System.Windows.Forms.ToolStripMenuItem();
this.SpriteViewerBox = new System.Windows.Forms.GroupBox();
this.txtScanline = new System.Windows.Forms.TextBox();
this.SpriteView = new BizHawk.MultiClient.SpriteViewer();
this.PaletteView = new BizHawk.MultiClient.PaletteViewer();
this.PatternView = new BizHawk.MultiClient.PatternViewer();
this.label1 = new System.Windows.Forms.Label();
this.txtScanline = new System.Windows.Forms.TextBox();
this.groupBox1 = new System.Windows.Forms.GroupBox();
this.PatternGroup.SuspendLayout();
this.PalettesGroup.SuspendLayout();
this.DetailsBox.SuspendLayout();
this.toolStrip1.SuspendLayout();
this.SpriteViewerBox.SuspendLayout();
this.groupBox1.SuspendLayout();
this.SuspendLayout();
//
// PatternGroup
@ -165,6 +166,7 @@
//
// toolStrip1
//
this.toolStrip1.ClickThrough = true;
this.toolStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.toolStripDropDownButton1,
this.toolStripDropDownButton2});
@ -366,6 +368,15 @@
this.SpriteViewerBox.TabStop = false;
this.SpriteViewerBox.Text = "Sprites";
//
// txtScanline
//
this.txtScanline.Location = new System.Drawing.Point(7, 16);
this.txtScanline.Name = "txtScanline";
this.txtScanline.Size = new System.Drawing.Size(60, 20);
this.txtScanline.TabIndex = 6;
this.txtScanline.Text = "0";
this.txtScanline.TextChanged += new System.EventHandler(this.txtScanline_TextChanged);
//
// SpriteView
//
this.SpriteView.BackColor = System.Drawing.Color.White;
@ -381,9 +392,9 @@
this.PaletteView.Name = "PaletteView";
this.PaletteView.Size = new System.Drawing.Size(257, 34);
this.PaletteView.TabIndex = 0;
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);
this.PaletteView.MouseEnter += new System.EventHandler(this.PaletteView_MouseEnter);
//
// PatternView
//
@ -392,36 +403,27 @@
this.PatternView.Name = "PatternView";
this.PatternView.Size = new System.Drawing.Size(256, 128);
this.PatternView.TabIndex = 0;
this.PatternView.MouseLeave += new System.EventHandler(this.PatternView_MouseLeave);
this.PatternView.MouseMove += new System.Windows.Forms.MouseEventHandler(this.PatternView_MouseMove);
this.PatternView.MouseClick += new System.Windows.Forms.MouseEventHandler(this.PatternView_Click);
this.PatternView.MouseEnter += new System.EventHandler(this.PatternView_MouseEnter);
this.PatternView.MouseLeave += new System.EventHandler(this.PatternView_MouseLeave);
this.PatternView.MouseMove += new System.Windows.Forms.MouseEventHandler(this.PatternView_MouseMove);
//
// label1
// groupBox1
//
this.label1.AutoSize = true;
this.label1.Location = new System.Drawing.Point(502, 204);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(48, 13);
this.label1.TabIndex = 7;
this.label1.Text = "Scanline";
//
// txtScanline
//
this.txtScanline.Location = new System.Drawing.Point(501, 223);
this.txtScanline.Name = "txtScanline";
this.txtScanline.Size = new System.Drawing.Size(60, 20);
this.txtScanline.TabIndex = 6;
this.txtScanline.Text = "0";
this.txtScanline.TextChanged += new System.EventHandler(this.txtScanline_TextChanged);
this.groupBox1.Controls.Add(this.txtScanline);
this.groupBox1.Location = new System.Drawing.Point(482, 200);
this.groupBox1.Name = "groupBox1";
this.groupBox1.Size = new System.Drawing.Size(75, 52);
this.groupBox1.TabIndex = 8;
this.groupBox1.TabStop = false;
this.groupBox1.Text = "Scanline";
//
// NESPPU
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(587, 317);
this.Controls.Add(this.label1);
this.Controls.Add(this.txtScanline);
this.Controls.Add(this.groupBox1);
this.Controls.Add(this.SpriteViewerBox);
this.Controls.Add(this.toolStrip1);
this.Controls.Add(this.DetailsBox);
@ -430,8 +432,8 @@
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedToolWindow;
this.Name = "NESPPU";
this.Text = "NES PPU Viewer";
this.Load += new System.EventHandler(this.NESPPU_Load);
this.FormClosed += new System.Windows.Forms.FormClosedEventHandler(this.NESPPU_FormClosed);
this.Load += new System.EventHandler(this.NESPPU_Load);
this.PatternGroup.ResumeLayout(false);
this.PatternGroup.PerformLayout();
this.PalettesGroup.ResumeLayout(false);
@ -440,6 +442,8 @@
this.toolStrip1.ResumeLayout(false);
this.toolStrip1.PerformLayout();
this.SpriteViewerBox.ResumeLayout(false);
this.groupBox1.ResumeLayout(false);
this.groupBox1.PerformLayout();
this.ResumeLayout(false);
this.PerformLayout();
@ -482,8 +486,8 @@
private System.Windows.Forms.ToolStripMenuItem Table1P6;
private System.Windows.Forms.ToolStripMenuItem Table1P7;
private System.Windows.Forms.GroupBox SpriteViewerBox;
private SpriteViewer SpriteView;
private System.Windows.Forms.Label label1;
private SpriteViewer SpriteView;
private System.Windows.Forms.TextBox txtScanline;
private System.Windows.Forms.GroupBox groupBox1;
}
}

View File

@ -112,15 +112,15 @@
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<metadata name="toolStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<metadata name="toolStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
<assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="toolStripDropDownButton1.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8

View File

@ -27,7 +27,7 @@ namespace BizHawk.MultiClient
public enum WhichNametable
{
NT_2000, NT_2400, NT_2800, NT_2C00, NT_ALL
NT_2000, NT_2400, NT_2800, NT_2C00, NT_ALL, TOPS, BOTTOMS
}
public WhichNametable Which = WhichNametable.NT_ALL;
@ -53,6 +53,14 @@ namespace BizHawk.MultiClient
case WhichNametable.NT_2C00:
g.DrawImage(nametables, new Rectangle(0, 0, 512, 480), 256, 240, 256, 240, GraphicsUnit.Pixel);
break;
//adelikat: Meh, just in case we might want these, someone requested it but I can't remember the justification so I didn't do the UI part
case WhichNametable.TOPS:
g.DrawImage(nametables, new Rectangle(0, 0, 512, 240), 0, 0, 512, 240, GraphicsUnit.Pixel);
break;
case WhichNametable.BOTTOMS:
g.DrawImage(nametables, new Rectangle(0, 240, 512, 240), 0, 240, 512, 240, GraphicsUnit.Pixel);
break;
}
}

View File

@ -21,23 +21,15 @@ namespace BizHawk.MultiClient
pattern = new Bitmap(pSize.Width, pSize.Height);
SetStyle(ControlStyles.AllPaintingInWmPaint, true);
SetStyle(ControlStyles.UserPaint, true);
SetStyle(ControlStyles.DoubleBuffer, true);
SetStyle(ControlStyles.OptimizedDoubleBuffer, true);
this.Size = pSize;
this.BackColor = Color.White;
this.Paint += new System.Windows.Forms.PaintEventHandler(this.PatternViewer_Paint);
}
private void Display(Graphics g)
{
unchecked
{
g.DrawImage(pattern, 1, 1);
}
}
private void PatternViewer_Paint(object sender, PaintEventArgs e)
{
Display(e.Graphics);
e.Graphics.DrawImage(pattern, 1, 1);
}
}
}