2 Commits

Author SHA1 Message Date
Anton Mukhin
3ce38f2e46 Manually drawing the cells 2023-05-02 18:07:16 +03:00
Anton Mukhin
5a0ad1d3d0 Trying to manage miniatures 2023-05-02 10:38:41 +03:00
3 changed files with 378 additions and 273 deletions

View File

@@ -24,10 +24,10 @@
/// </summary>
private void InitializeComponent() {
this.components = new System.ComponentModel.Container();
System.Windows.Forms.ListViewItem listViewItem1 = new System.Windows.Forms.ListViewItem("adasd");
System.Windows.Forms.ListViewItem listViewItem2 = new System.Windows.Forms.ListViewItem("ddddd", 0);
System.Windows.Forms.ListViewItem listViewItem3 = new System.Windows.Forms.ListViewItem("ffff");
System.Windows.Forms.ListViewItem listViewItem4 = new System.Windows.Forms.ListViewItem("");
System.Windows.Forms.ListViewItem listViewItem5 = new System.Windows.Forms.ListViewItem("adasd");
System.Windows.Forms.ListViewItem listViewItem6 = new System.Windows.Forms.ListViewItem("ddddd", 0);
System.Windows.Forms.ListViewItem listViewItem7 = new System.Windows.Forms.ListViewItem("ffff");
System.Windows.Forms.ListViewItem listViewItem8 = new System.Windows.Forms.ListViewItem("");
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(Form1));
this.dotPanel = new System.Windows.Forms.Panel();
this.nudX = new System.Windows.Forms.NumericUpDown();
@@ -48,8 +48,12 @@
this.btnShiftLeft = new System.Windows.Forms.Button();
this.button1 = new System.Windows.Forms.Button();
this.outBox = new System.Windows.Forms.TextBox();
this.listView1 = new System.Windows.Forms.ListView();
this.miniList = new System.Windows.Forms.ListView();
this.imageList1 = new System.Windows.Forms.ImageList(this.components);
this.button2 = new System.Windows.Forms.Button();
this.hScroll = new System.Windows.Forms.HScrollBar();
this.vScroll = new System.Windows.Forms.VScrollBar();
this.label5 = new System.Windows.Forms.Label();
((System.ComponentModel.ISupportInitialize)(this.nudX)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.nudY)).BeginInit();
this.panel1.SuspendLayout();
@@ -60,14 +64,16 @@
this.dotPanel.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.dotPanel.AutoScroll = true;
this.dotPanel.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink;
this.dotPanel.BackColor = System.Drawing.SystemColors.ControlDark;
this.dotPanel.Location = new System.Drawing.Point(12, 12);
this.dotPanel.Name = "dotPanel";
this.dotPanel.Size = new System.Drawing.Size(613, 542);
this.dotPanel.Size = new System.Drawing.Size(593, 518);
this.dotPanel.TabIndex = 0;
this.dotPanel.Scroll += new System.Windows.Forms.ScrollEventHandler(this.dotPanel_Scroll);
this.dotPanel.Paint += new System.Windows.Forms.PaintEventHandler(this.dotPanel_Paint);
this.dotPanel.MouseMove += new System.Windows.Forms.MouseEventHandler(this.dotPanel_MouseMove);
this.dotPanel.Resize += new System.EventHandler(this.cbZoom_SelectedIndexChanged);
//
// nudX
//
@@ -170,6 +176,7 @@
this.cbZoom.Size = new System.Drawing.Size(59, 21);
this.cbZoom.TabIndex = 6;
this.cbZoom.TabStop = false;
this.cbZoom.SelectedIndexChanged += new System.EventHandler(this.cbZoom_SelectedIndexChanged);
//
// label4
//
@@ -308,26 +315,27 @@
this.outBox.TabIndex = 11;
this.outBox.Text = "Output text here";
//
// listView1
// miniList
//
this.listView1.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
this.listView1.HideSelection = false;
this.listView1.Items.AddRange(new System.Windows.Forms.ListViewItem[] {
listViewItem1,
listViewItem2,
listViewItem3,
listViewItem4});
this.listView1.LargeImageList = this.imageList1;
this.listView1.Location = new System.Drawing.Point(634, 325);
this.listView1.MultiSelect = false;
this.listView1.Name = "listView1";
this.listView1.ShowGroups = false;
this.listView1.Size = new System.Drawing.Size(230, 189);
this.listView1.SmallImageList = this.imageList1;
this.listView1.TabIndex = 12;
this.listView1.TabStop = false;
this.listView1.TileSize = new System.Drawing.Size(50, 70);
this.listView1.UseCompatibleStateImageBehavior = false;
this.miniList.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
this.miniList.GridLines = true;
this.miniList.HideSelection = false;
this.miniList.Items.AddRange(new System.Windows.Forms.ListViewItem[] {
listViewItem5,
listViewItem6,
listViewItem7,
listViewItem8});
this.miniList.LargeImageList = this.imageList1;
this.miniList.Location = new System.Drawing.Point(634, 325);
this.miniList.MultiSelect = false;
this.miniList.Name = "miniList";
this.miniList.ShowGroups = false;
this.miniList.Size = new System.Drawing.Size(230, 189);
this.miniList.SmallImageList = this.imageList1;
this.miniList.TabIndex = 12;
this.miniList.TabStop = false;
this.miniList.TileSize = new System.Drawing.Size(50, 70);
this.miniList.UseCompatibleStateImageBehavior = false;
//
// imageList1
//
@@ -335,12 +343,57 @@
this.imageList1.TransparentColor = System.Drawing.Color.Transparent;
this.imageList1.Images.SetKeyName(0, "firmware.png");
//
// button2
//
this.button2.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
this.button2.Location = new System.Drawing.Point(790, 156);
this.button2.Name = "button2";
this.button2.Size = new System.Drawing.Size(75, 23);
this.button2.TabIndex = 13;
this.button2.Text = "button2";
this.button2.UseVisualStyleBackColor = true;
this.button2.Click += new System.EventHandler(this.button2_Click);
//
// hScroll
//
this.hScroll.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.hScroll.Location = new System.Drawing.Point(12, 533);
this.hScroll.Name = "hScroll";
this.hScroll.Size = new System.Drawing.Size(593, 21);
this.hScroll.TabIndex = 14;
this.hScroll.ValueChanged += new System.EventHandler(this.hScroll_ValueChanged);
//
// vScroll
//
this.vScroll.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Right)));
this.vScroll.Location = new System.Drawing.Point(608, 12);
this.vScroll.Name = "vScroll";
this.vScroll.Size = new System.Drawing.Size(21, 518);
this.vScroll.TabIndex = 15;
this.vScroll.ValueChanged += new System.EventHandler(this.vScroll_ValueChanged);
//
// label5
//
this.label5.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
this.label5.AutoSize = true;
this.label5.Location = new System.Drawing.Point(632, 25);
this.label5.Name = "label5";
this.label5.Size = new System.Drawing.Size(35, 13);
this.label5.TabIndex = 16;
this.label5.Text = "label5";
//
// Form1
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(877, 566);
this.Controls.Add(this.listView1);
this.Controls.Add(this.label5);
this.Controls.Add(this.vScroll);
this.Controls.Add(this.hScroll);
this.Controls.Add(this.button2);
this.Controls.Add(this.miniList);
this.Controls.Add(this.outBox);
this.Controls.Add(this.button1);
this.Controls.Add(this.panel1);
@@ -386,8 +439,12 @@
private System.Windows.Forms.Button btnMirrorY;
private System.Windows.Forms.Button button1;
private System.Windows.Forms.TextBox outBox;
private System.Windows.Forms.ListView listView1;
private System.Windows.Forms.ListView miniList;
private System.Windows.Forms.ImageList imageList1;
private System.Windows.Forms.Button button2;
private System.Windows.Forms.HScrollBar hScroll;
private System.Windows.Forms.VScrollBar vScroll;
private System.Windows.Forms.Label label5;
}
}

View File

@@ -20,10 +20,13 @@ namespace McBitFont {
public bool[,] data;
};
FrameMiniature f;
private FrameMiniature f;
private int cellSize = 10;
private int dotWidth, dotHeight;
private Panel[,] dots = new Panel[255,255];
private int pixelOffset = 5;
private int gap;
private int w, h;
//private Panel[,] dots = new Panel[255,255];
public Form1() {
InitializeComponent();
@@ -35,12 +38,10 @@ namespace McBitFont {
dotWidth = (int)nudX.Value;
dotHeight = (int)nudY.Value;
for (i = 0; i < dotWidth; i++) {
for (j = 0; j < dotHeight; j++) {
Panel p = new Panel();
dots[i,j] = NewDot(i, j);
}
}
gap = (cellSize < 5) ? 0 : 1;
w = pixelOffset + dotWidth * (cellSize + gap);
h = pixelOffset + dotHeight * (cellSize + gap);
cbZoom.SelectedIndex = 3;
cbZoom.SelectedIndexChanged += cbZoom_SelectedIndexChanged;
@@ -52,32 +53,17 @@ namespace McBitFont {
}
private Panel NewDot(int i, int j) {
Panel p = new Panel();
p.Parent = dotPanel;
p.Width = cellSize; p.Height = cellSize;
p.BackColor = Color.White;
p.BorderStyle = BorderStyle.None;
p.Left = 5 + i * (cellSize + 1);
p.Top = 5 + j * (cellSize + 1);
p.Tag = i.ToString() + ',' + j.ToString();
p.MouseMove += dot_MouseMove;
p.MouseDown += dot_MouseMove;
//p.Paint += dotPanel_Paint;
return p;
}
private void dot_MouseMove(object sender, MouseEventArgs e) {
Panel p = (Panel)sender;
//Panel p = (Panel)sender;
if (e.Button == MouseButtons.Left && p.BackColor != Color.Black) {
p.BackColor = Color.Black;
}
if (e.Button == MouseButtons.Right && p.BackColor != Color.White) {
p.BackColor = Color.White;
}
label3.Text = "Over: " + p.Tag;
p.Capture = false;
//if (e.Button == MouseButtons.Left && p.BackColor != Color.Black) {
// p.BackColor = Color.Black;
//}
//if (e.Button == MouseButtons.Right && p.BackColor != Color.White) {
// p.BackColor = Color.White;
//}
//label3.Text = "Over: " + p.Tag;
//p.Capture = false;
}
private void nudX_ValueChanged(object sender, EventArgs e) {
@@ -89,198 +75,289 @@ namespace McBitFont {
}
private void dotResize(int w, int h) {
//Width
if (w > dotWidth) {
for (int i = dotWidth; i < w; i++) {
for (int j = 0; j < dotHeight; j++) {
dots[i, j] = NewDot(i, j);
}
}
}
if (w < dotWidth) {
for (int i = w; i < dotWidth; i++) {
for (int j = 0; j < dotHeight; j++) {
dots[i, j].Dispose();
}
}
}
dotWidth = w;
////Width
//if (w > dotWidth) {
// for (int i = dotWidth; i < w; i++) {
// for (int j = 0; j < dotHeight; j++) {
// dots[i, j] = NewDot(i, j);
// }
// }
//}
//if (w < dotWidth) {
// for (int i = w; i < dotWidth; i++) {
// for (int j = 0; j < dotHeight; j++) {
// dots[i, j].Dispose();
// }
// }
//}
//dotWidth = w;
//Height
if (h > dotHeight) {
for (int i = 0; i < dotWidth; i++) {
for (int j = dotHeight; j < h; j++) {
dots[i, j] = NewDot(i, j);
}
}
}
if (h < dotHeight) {
for (int i = 0; i < dotWidth; i++) {
for (int j = h; j < dotHeight; j++) {
dots[i, j].Dispose();
}
}
}
dotHeight = h;
////Height
//if (h > dotHeight) {
// for (int i = 0; i < dotWidth; i++) {
// for (int j = dotHeight; j < h; j++) {
// dots[i, j] = NewDot(i, j);
// }
// }
//}
//if (h < dotHeight) {
// for (int i = 0; i < dotWidth; i++) {
// for (int j = h; j < dotHeight; j++) {
// dots[i, j].Dispose();
// }
// }
//}
//dotHeight = h;
}
private void cbZoom_SelectedIndexChanged(object sender, EventArgs e) {
cellSize = Convert.ToInt32(cbZoom.Text);
dotScale();
gap = (cellSize < 5) ? 0 : 1;
w = pixelOffset + dotWidth * (cellSize + gap);
h = pixelOffset + dotHeight * (cellSize + gap);
if (w <= dotPanel.Width) {
hScroll.Enabled = false;
} else {
hScroll.Maximum = w - dotPanel.Width + 12;
hScroll.Minimum = 0;
hScroll.Enabled = true;
}
if (h <= dotPanel.Height) {
vScroll.Enabled = false;
} else {
vScroll.Maximum = h - dotPanel.Height + 12;
vScroll.Minimum = 0;
vScroll.Enabled = true;
}
//dotPanel.
//dotPanel.ClientSize = s;
dotPanel.Invalidate();
//dotScale();
}
private void btnShiftLeft_Click(object sender, EventArgs e) {
for (int j = 0; j < dotHeight; j++) {
Color c = dots[0, j].BackColor;
for (int i = 0; i < dotWidth; i++) {
if (i == dotWidth - 1) {
dots[i, j].BackColor = c;
} else {
dots[i, j].BackColor = dots[i+1, j].BackColor;
}
}
}
//for (int j = 0; j < dotHeight; j++) {
// Color c = dots[0, j].BackColor;
// for (int i = 0; i < dotWidth; i++) {
// if (i == dotWidth - 1) {
// dots[i, j].BackColor = c;
// } else {
// dots[i, j].BackColor = dots[i+1, j].BackColor;
// }
// }
//}
}
private void btnShiftRight_Click(object sender, EventArgs e) {
for (int j = 0; j < dotHeight; j++) {
Color c = dots[dotWidth - 1, j].BackColor;
for (int i = dotWidth-1; i >= 0; i--) {
if (i == 0) {
dots[i, j].BackColor = c;
} else {
dots[i, j].BackColor = dots[i - 1, j].BackColor;
}
}
}
//for (int j = 0; j < dotHeight; j++) {
// Color c = dots[dotWidth - 1, j].BackColor;
// for (int i = dotWidth-1; i >= 0; i--) {
// if (i == 0) {
// dots[i, j].BackColor = c;
// } else {
// dots[i, j].BackColor = dots[i - 1, j].BackColor;
// }
// }
//}
}
private void dotPanel_MouseMove(object sender, MouseEventArgs e) {
Panel p = (Panel)sender;
p.Capture = false;
if (e.X >= w || e.X <= pixelOffset || e.Y >= h || e.Y <= pixelOffset) return;
label3.Text = e.X.ToString() + ',' + e.Y.ToString();
int i = (e.X - pixelOffset + hScroll.Value) / (cellSize + gap);
int j = (e.Y - pixelOffset + vScroll.Value) / (cellSize + gap);
label5.Text = i.ToString() + ',' + j.ToString();
if (e.Button == MouseButtons.Left && !f.data[i, j]) {
Graphics g = dotPanel.CreateGraphics();
SolidBrush sbb = new SolidBrush(Color.Black);
f.data[i, j] = true;
//dotPanel.Refresh();
int x = pixelOffset + i * (cellSize + gap) - hScroll.Value;
int y = pixelOffset + j * (cellSize + gap) - vScroll.Value;
g.FillRectangle(sbb, x, y, cellSize, cellSize);
}
if (e.Button == MouseButtons.Right && f.data[i, j]) {
Graphics g = dotPanel.CreateGraphics();
SolidBrush sbw = new SolidBrush(Color.White);
f.data[i, j] = false;
//dotPanel.Refresh();
int x = pixelOffset + i * (cellSize + gap) - hScroll.Value;
int y = pixelOffset + j * (cellSize + gap) - vScroll.Value;
g.FillRectangle(sbw, x, y, cellSize, cellSize);
}
}
private void btnShiftUp_Click(object sender, EventArgs e) {
for (int i = 0; i < dotWidth; i++) {
Color c = dots[i, 0].BackColor;
for (int j = 0; j < dotHeight; j++) {
if (j == dotHeight - 1) {
dots[i, j].BackColor = c;
} else {
dots[i, j].BackColor = dots[i, j + 1].BackColor;
}
}
}
//for (int i = 0; i < dotWidth; i++) {
// Color c = dots[i, 0].BackColor;
// for (int j = 0; j < dotHeight; j++) {
// if (j == dotHeight - 1) {
// dots[i, j].BackColor = c;
// } else {
// dots[i, j].BackColor = dots[i, j + 1].BackColor;
// }
// }
//}
}
private void btnShiftDown_Click(object sender, EventArgs e) {
for (int i = 0; i < dotWidth; i++) {
Color c = dots[i, dotHeight - 1].BackColor;
for (int j = dotHeight-1; j >= 0; j--) {
if (j == 0) {
dots[i, j].BackColor = c;
} else {
dots[i, j].BackColor = dots[i, j - 1].BackColor;
}
}
}
//for (int i = 0; i < dotWidth; i++) {
// Color c = dots[i, dotHeight - 1].BackColor;
// for (int j = dotHeight-1; j >= 0; j--) {
// if (j == 0) {
// dots[i, j].BackColor = c;
// } else {
// dots[i, j].BackColor = dots[i, j - 1].BackColor;
// }
// }
//}
}
private void btnInvert_Click(object sender, EventArgs e) {
for (int i = 0; i < dotWidth; i++) {
for (int j = 0; j < dotHeight; j++) {
if (dots[i, j].BackColor == Color.White)
dots[i, j].BackColor = Color.Black;
else
dots[i, j].BackColor = Color.White;
}
}
//for (int i = 0; i < dotWidth; i++) {
// for (int j = 0; j < dotHeight; j++) {
// if (dots[i, j].BackColor == Color.White)
// dots[i, j].BackColor = Color.Black;
// else
// dots[i, j].BackColor = Color.White;
// }
//}
}
private void btnMirrorX_Click(object sender, EventArgs e) {
int a, b, j;
Color c;
//int a, b, j;
//Color c;
for (j = 0; j < dotHeight; j++) {
a = 0;
b = dotWidth - 1;
while (a < b) {
c = dots[a, j].BackColor;
dots[a, j].BackColor = dots[b, j].BackColor;
dots[b, j].BackColor = c;
a++;
b--;
}
}
//for (j = 0; j < dotHeight; j++) {
// a = 0;
// b = dotWidth - 1;
// while (a < b) {
// c = dots[a, j].BackColor;
// dots[a, j].BackColor = dots[b, j].BackColor;
// dots[b, j].BackColor = c;
// a++;
// b--;
// }
//}
}
private void btnMirrorY_Click(object sender, EventArgs e) {
int a, b, i;
Color c;
//int a, b, i;
//Color c;
for (i = 0; i < dotWidth; i++) {
a = 0;
b = dotHeight - 1;
while (a < b) {
c = dots[i, a].BackColor;
dots[i, a].BackColor = dots[i, b].BackColor;
dots[i, b].BackColor = c;
a++;
b--;
}
}
//for (i = 0; i < dotWidth; i++) {
// a = 0;
// b = dotHeight - 1;
// while (a < b) {
// c = dots[i, a].BackColor;
// dots[i, a].BackColor = dots[i, b].BackColor;
// dots[i, b].BackColor = c;
// a++;
// b--;
// }
//}
}
private void button1_Click(object sender, EventArgs e) {
for (int i = 0; i < dotWidth; i++) {
for (int j = 0; j < dotHeight; j++) {
if (dots[i, j].BackColor == Color.Black) f.data[i, j] = true;
else f.data[i, j] = false;
}
}
//for (int i = 0; i < dotWidth; i++) {
// for (int j = 0; j < dotHeight; j++) {
// if (dots[i, j].BackColor == Color.Black) f.data[i, j] = true;
// else f.data[i, j] = false;
// }
//}
outBox.Clear();
String str;
Byte b = 0;
for (ushort i = 0; i < dotWidth; i++) {
str = "";
for (ushort j = 0; j < dotHeight; j++) {
if (j % 8 == 0) b = 0;
if (f.data[i, j]) {
b |= (Byte)(1 << (j % 8));
}
if ( ((j + 1) % 8 == 0) || j+1 == dotHeight ) {
if (str.Length > 0) str += " ";
str += "0x" + Convert.ToString(b, 16).PadLeft(2, '0') + ',';
}
//outBox.Clear();
//String str;
//Byte b = 0;
//for (ushort i = 0; i < dotWidth; i++) {
// str = "";
// for (ushort j = 0; j < dotHeight; j++) {
// if (j % 8 == 0) b = 0;
// if (f.data[i, j]) {
// b |= (Byte)(1 << (j % 8));
// }
// if ( ((j + 1) % 8 == 0) || j+1 == dotHeight ) {
// if (str.Length > 0) str += " ";
// str += "0x" + Convert.ToString(b, 16).PadLeft(2, '0') + ',';
// }
// }
// outBox.AppendText(str);
// outBox.AppendText(Environment.NewLine);
//}
}
private void button2_Click(object sender, EventArgs e) {
//var bmp = new Bitmap(dotWidth, dotHeight);
//for (int i=0; i<dotWidth; i++) {
// for (int j=0; j<dotHeight; j++) {
// bmp.SetPixel(i, j, dots[i, j].BackColor);
// }
//}
//imageList1.Images.RemoveByKey("32");
//imageList1.Images.Add("32", (Image)bmp);
//miniList.Items[0].ImageKey = "32";
//bmp.Dispose();
}
private void dotPanel_Paint(object sender, PaintEventArgs e) {
Graphics g = dotPanel.CreateGraphics();
SolidBrush sbb = new SolidBrush(Color.Black);
SolidBrush sbw = new SolidBrush(Color.White);
SolidBrush sb;
for (int i=0; i<dotWidth; i++) {
for (int j=0; j<dotHeight; j++) {
if (f.data[i, j]) sb = sbb;
else sb = sbw;
int x = pixelOffset + i * (cellSize + gap) - hScroll.Value;
int y = pixelOffset + j * (cellSize + gap) - vScroll.Value;
g.FillRectangle(sb, x, y, cellSize, cellSize);
}
outBox.AppendText(str);
outBox.AppendText(Environment.NewLine);
}
}
private void dotScale() {
bool large = dotWidth * dotHeight > 12 * 12;
int gap = (cellSize < 5) ? 0 : 1;
private void dotPanel_Scroll(object sender, ScrollEventArgs e) {
//dotPanel.Invalidate();
dotPanel.Refresh();
}
if (large) {
pbZoom.Maximum = dotWidth * dotHeight;
pbZoom.Value = 0;
pbZoom.Visible = true;
dotPanel.Visible = false;
}
for (int i = 0; i < dotWidth; i++) {
for (int j = 0; j < dotHeight; j++) {
dots[i, j].Width = cellSize; dots[i, j].Height = cellSize;
dots[i, j].Left = 5 + i * (cellSize + gap);
dots[i, j].Top = 5 + j * (cellSize + gap);
if (large) pbZoom.PerformStep();
}
}
if (large) {
dotPanel.Visible = true;
pbZoom.Visible = false;
}
private void hScroll_ValueChanged(object sender, EventArgs e) {
label5.Text = hScroll.Value.ToString();
dotPanel.Refresh();
}
private void vScroll_ValueChanged(object sender, EventArgs e) {
label5.Text = vScroll.Value.ToString();
dotPanel.Refresh();
}
private void dotScale() {
//bool large = dotWidth * dotHeight > 12 * 12;
//if (large) {
// pbZoom.Maximum = dotWidth * dotHeight;
// pbZoom.Value = 0;
// pbZoom.Visible = true;
// dotPanel.Visible = false;
//}
//for (int i = 0; i < dotWidth; i++) {
// for (int j = 0; j < dotHeight; j++) {
// dots[i, j].Width = cellSize; dots[i, j].Height = cellSize;
// dots[i, j].Left = pixelOffset + i * (cellSize + gap);
// dots[i, j].Top = pixelOffset + j * (cellSize + gap);
// if (large) pbZoom.PerformStep();
// }
//}
//if (large) {
// dotPanel.Visible = true;
// pbZoom.Visible = false;
//}
}

View File

@@ -124,67 +124,38 @@
<value>
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0
ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAAAG
DgAAAk1TRnQBSQFMAwEBAAEIAQABCAEAATIBAAEyAQAE/wEJAQAI/wFCAU0BNgEEBgABNgEEAgABKAMA
AcgDAAEyAwABAQEAAQgFAAEQAScYAAGAAgABgAMAAoABAAGAAwABgAEAAYABAAKAAgADwAEAAcAB3AHA
AQAB8AHKAaYBAAEzBQABMwEAATMBAAEzAQACMwIAAxYBAAMcAQADIgEAAykBAANVAQADTQEAA0IBAAM5
AQABgAF8Af8BAAJQAf8BAAGTAQAB1gEAAf8B7AHMAQABxgHWAe8BAAHWAucBAAGQAakBrQIAAf8BMwMA
AWYDAAGZAwABzAIAATMDAAIzAgABMwFmAgABMwGZAgABMwHMAgABMwH/AgABZgMAAWYBMwIAAmYCAAFm
AZkCAAFmAcwCAAFmAf8CAAGZAwABmQEzAgABmQFmAgACmQIAAZkBzAIAAZkB/wIAAcwDAAHMATMCAAHM
AWYCAAHMAZkCAALMAgABzAH/AgAB/wFmAgAB/wGZAgAB/wHMAQABMwH/AgAB/wEAATMBAAEzAQABZgEA
ATMBAAGZAQABMwEAAcwBAAEzAQAB/wEAAf8BMwIAAzMBAAIzAWYBAAIzAZkBAAIzAcwBAAIzAf8BAAEz
AWYCAAEzAWYBMwEAATMCZgEAATMBZgGZAQABMwFmAcwBAAEzAWYB/wEAATMBmQIAATMBmQEzAQABMwGZ
AWYBAAEzApkBAAEzAZkBzAEAATMBmQH/AQABMwHMAgABMwHMATMBAAEzAcwBZgEAATMBzAGZAQABMwLM
AQABMwHMAf8BAAEzAf8BMwEAATMB/wFmAQABMwH/AZkBAAEzAf8BzAEAATMC/wEAAWYDAAFmAQABMwEA
AWYBAAFmAQABZgEAAZkBAAFmAQABzAEAAWYBAAH/AQABZgEzAgABZgIzAQABZgEzAWYBAAFmATMBmQEA
AWYBMwHMAQABZgEzAf8BAAJmAgACZgEzAQADZgEAAmYBmQEAAmYBzAEAAWYBmQIAAWYBmQEzAQABZgGZ
AWYBAAFmApkBAAFmAZkBzAEAAWYBmQH/AQABZgHMAgABZgHMATMBAAFmAcwBmQEAAWYCzAEAAWYBzAH/
AQABZgH/AgABZgH/ATMBAAFmAf8BmQEAAWYB/wHMAQABzAEAAf8BAAH/AQABzAEAApkCAAGZATMBmQEA
AZkBAAGZAQABmQEAAcwBAAGZAwABmQIzAQABmQEAAWYBAAGZATMBzAEAAZkBAAH/AQABmQFmAgABmQFm
ATMBAAGZATMBZgEAAZkBZgGZAQABmQFmAcwBAAGZATMB/wEAApkBMwEAApkBZgEAA5kBAAKZAcwBAAKZ
Af8BAAGZAcwCAAGZAcwBMwEAAWYBzAFmAQABmQHMAZkBAAGZAswBAAGZAcwB/wEAAZkB/wIAAZkB/wEz
AQABmQHMAWYBAAGZAf8BmQEAAZkB/wHMAQABmQL/AQABzAMAAZkBAAEzAQABzAEAAWYBAAHMAQABmQEA
AcwBAAHMAQABmQEzAgABzAIzAQABzAEzAWYBAAHMATMBmQEAAcwBMwHMAQABzAEzAf8BAAHMAWYCAAHM
AWYBMwEAAZkCZgEAAcwBZgGZAQABzAFmAcwBAAGZAWYB/wEAAcwBmQIAAcwBmQEzAQABzAGZAWYBAAHM
ApkBAAHMAZkBzAEAAcwBmQH/AQACzAIAAswBMwEAAswBZgEAAswBmQEAA8wBAALMAf8BAAHMAf8CAAHM
Af8BMwEAAZkB/wFmAQABzAH/AZkBAAHMAf8BzAEAAcwC/wEAAcwBAAEzAQAB/wEAAWYBAAH/AQABmQEA
AcwBMwIAAf8CMwEAAf8BMwFmAQAB/wEzAZkBAAH/ATMBzAEAAf8BMwH/AQAB/wFmAgAB/wFmATMBAAHM
AmYBAAH/AWYBmQEAAf8BZgHMAQABzAFmAf8BAAH/AZkCAAH/AZkBMwEAAf8BmQFmAQAB/wKZAQAB/wGZ
AcwBAAH/AZkB/wEAAf8BzAIAAf8BzAEzAQAB/wHMAWYBAAH/AcwBmQEAAf8CzAEAAf8BzAH/AQAC/wEz
AQABzAH/AWYBAAL/AZkBAAL/AcwBAAJmAf8BAAFmAf8BZgEAAWYC/wEAAf8CZgEAAf8BZgH/AQAC/wFm
AQABIQEAAaUBAANfAQADdwEAA4YBAAOWAQADywEAA7IBAAPXAQAD3QEAA+MBAAPqAQAD8QEAA/gBAAHw
AfsB/wEAAaQCoAEAA4ADAAH/AgAB/wMAAv8BAAH/AwAB/wEAAf8BAAL/AgAD//8A/wBqAAH/AewBEgHz
BAAB9AJtAfQEAAHzARIB7AH/tAAB8QIAAesEAAHvAgAB7wQAAesCAAHxtAAB8AIAAesEAAH3AgAB9wQA
AesCAAHwtAAB8AIAAesEAAH3AgAB9wQAAesCAAHwtAAB8AIAAesEAAH3AgAB9wQAAesCAAHwtAAB8AIA
AesEAAH3AgAB9wQAAesCAAHwtAAB9ALwAfIEAAHzAvAB8wQAAfIC8AH0swAW/7AAAf8B7wERFAABEQHv
Af+tAAH/ARIYAAESAf+sAAHvGgAB76sAAf8BERoAAREB/6MAAf8B8QTwAfQB/xwAAf8B9ATwAfEB/5wA
AewFAAHwAf8cAAH/AfAFAAHsnAABEwUAAfAB/wgAAQcB8wHrBgAB6wHzAQcIAAH/AfAFAAESnAAB8wXr
AfIB/wcAAfACAAH0BgAB9AIAAfAHAAH/AfIF6wHzowAB/wYAAfADAAHwBgAB8AMAAfAGAAH/qgAB/wUA
AfADAAHyAQ4BAAEOAgcBDgEAAQ4B8gMAAfAFAAH/qgAB/wQAAfADAAHyAQ4BDwEOAe8CAAHvAQ4BDwEO
AfIDAAHwBAAB/6oAAf8DAAHwAwAB8gEOAewC/wH0AgAB9AL/AewBDgHyAwAB8AMAAf+jAAH0Ae8E9wHz
Af8CAAHwAwAB8gEOAQAB8AgAAfABAAEOAfIDAAHwAgAB/wHzBPcB7wH0nAABbQUAAfAB/wEAAe0DAAHy
AQ4CAAHrAf8GAAH/AesCAAEOAfIDAAHtAQAB/wHwBQABbZwAAW0FAAHwAf8BAAHtAwAB8gEOAgAB6wH/
BgAB/wHrAgABDgHyAwAB7QEAAf8B8AUAAW2cAAH0Ae8E9wHzAf8CAAHwAwAB8gEOAQAB8AgAAfABAAEO
AfIDAAHwAgAB/wHzBPcB7wH0owAB/wMAAfADAAHyAQ4B7AL/AfQCAAH0Av8B7AEOAfIDAAHwAwAB/6oA
Af8EAAHwAwAB8gEOARABDgHvAgAB7wEOAQ8BDgHyAwAB8AQAAf+qAAH/BQAB8AMAAfIBDgEAAQ8CBwEO
AQABDgHyAwAB8AUAAf+qAAH/BgAB8AMAAfAGAAHwAwAB8AYAAf+jAAHzBesB8gH/BwAB8AIAAfQGAAH0
AgAB8AcAAf8B8gXrAfOcAAETBQAB8AH/CAABBwHzAesGAAHrAfMBBwgAAf8B8AUAARKcAAHsBQAB8AH/
HAAB/wHwBQAB7JwAAf8B8QTwAfQB/xwAAf8B9ATwAfEB/6MAAf8BERoAAREB/6sAAe8aAAHvrAAB/wES
GAABEgH/rQAB/wHvAREUAAERAe8B/7AAFv+zAAH0AvAB8gQAAfMC8AHzBAAB8gLwAfS0AAHwAgAB6wQA
AfcCAAH3BAAB6wIAAfC0AAHwAgAB6wQAAfcCAAH3BAAB6wIAAfC0AAHwAgAB6wQAAfcCAAH3BAAB6wIA
AfC0AAHwAgAB6wQAAfcCAAH3BAAB6wIAAfC0AAHwAgAB6wQAAe8CAAHvBAAB6wIAAfG0AAH/AewBEgHz
BAAB9AJtAfQEAAHzARIB7AH//wD/AP8AAUIBTQE+BwABPgMAASgDAAHIAwABMgMAAQEBAAEBBQABeAEF
FgAD/wEABv8BwBUABv8BwBUABv8BwBUAAf8B/gIeAR8B/wHAFQAB/wH+Ah4BHwH/AcAVAAH/Af4CHgEf
Af8BwBUAAf8B/gIeAR8B/wHAFQAB/wH+Ah4BHwH/AcAVAAH/Af4CHgEfAf8BwBUAAf8B/gIeAR8B/wHA
FQAB/wH8AgABDwH/AcAVAAH/AfACAAEDAf8BwBUAAf8B4AIAAQEB/wHAFQAB/wHgAgABAQH/AcAVAAH/
AcADAAH/AcAVAAHgBAABAQHAFQAB4AQAAQEBwBUAAeAEAAEBAcAVAAHgAQABGAEGAQABAQHAFQAB/wHA
ATgBBwEAAf8BwBUAAf8BwAFwAQMBgAH/AcAVAAH/AcAB4AHBAcAB/wHAFQAB/wHBAsAB4AH/AcAVAAHg
AQMBhwH4AXABAQHAFQAB4AEHAQMB8AE4AQEBwBUAAeABBwEDAfABOAEBAcAVAAHgAQMBhwH4AXABAQHA
FQAB/wHBAsAB4AH/AcAVAAH/AcAB4AHBAcAB/wHAFQAB/wHAAXABAwGAAf8BwBUAAf8BwAE4AQcBAAH/
AcAVAAHgAQABGAEGAQABAQHAFQAB4AQAAQEBwBUAAeAEAAEBAcAVAAHgBAABAQHAFQAB/wHAAwAB/wHA
FQAB/wHgAgABAQH/AcAVAAH/AeACAAEBAf8BwBUAAf8B8AIAAQMB/wHAFQAB/wH8AgABDwH/AcAVAAH/
Af4CHgEfAf8BwBUAAf8B/gIeAR8B/wHAFQAB/wH+Ah4BHwH/AcAVAAH/Af4CHgEfAf8BwBUAAf8B/gIe
AR8B/wHAFQAB/wH+Ah4BHwH/AcAVAAH/Af4CHgEfAf8BwBUABv8BwBUABv8BwBUABv8BwBUACw==
ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAAA8
BwAAAk1TRnQBSQFMAwEBAAEoAQABKAEAATIBAAEyAQAE/wEFAQAI/wFCAU0BdgcAAXYDAAEoAwAByAMA
ATIDAAEBAQABBAUAAYgBExgAAYACAAGAAwACgAEAAYADAAGAAQABgAEAAoACAAPAAQADgAMAAf8CAAH/
AwAC/wEAAf8DAAH/AQAB/wEAAv8CAAP//wA1AAEPAYgB8AEAAQ8BiAHwAQABDwGIAfBZAAEHAQABgAEA
AQcBAAFwAQABCAEAAXBZAAEHAQABgAEAAQcBAAFwAQABCAEAAXBZAAEHAQABgAEAAQcBAAFwAQABCAEA
AXBZAAEHAQABgAEAAQcBAAFwAQABCAEAAXBZAAEHAQABgAEAAQcBAAFwAQABCAEAAXBZAAEPAXcB8AEA
AQ8BdwHwAQABDwF3AfBZAAv/WAAB9wsAAX9WAAEPAYALAAEIAfBVAAEHDQABcFUAAfANAAEPUQABDwJ3
AX8B8A0AAQ8B9wJ3AfBNAAEIAgABBwHwDQABDwFwAgABgE0AAQgCAAEHAfADAAEHAfgDAAGPAXADAAEP
AXACAAGATQABDwKIAY8B8AMAAXABDwMAAfABBwMAAQ8B+AKIAfBRAAHwAgABBwEAAQcDAAFwAQABcAIA
AQ9VAAHwAgABcAEAAfABAAF3AQABDwEAAQcCAAEPVQAB8AEAAQcBAAEPAQABBwEAAXABAAHwAQABcAEA
AQ9VAAHwAQABcAEAAfABjwH/AQAB/wH4AQ8BAAEHAQABD1EAAQ8CdwF/AfABBwEAAQ8BAAFwAwABBwEA
AfABAAFwAQ8B9wJ3AfBNAAEIAgABBwHwAYABAAHwAQABjwMAAfgBAAEPAQABCAEPAXACAAGATQABCAIA
AQcB8AGAAQAB8AEAAY8DAAH4AQABDwEAAQgBDwFwAgABgE0AAQ8CdwF/AfABBwEAAQ8BAAFwAwABBwEA
AfABAAFwAQ8B9wJ3AfBRAAHwAQABcAEAAfABjwH/AQAB/wH4AQ8BAAEHAQABD1UAAfABAAEHAQABDwEA
AQcBAAFwAQAB8AEAAXABAAEPVQAB8AIAAXABAAHwAQABdwEAAQ8BAAEHAgABD1UAAfACAAEHAQABBwMA
AXABAAFwAgABD1EAAQ8CiAGPAfADAAFwAQ8DAAHwAQcDAAEPAfgCiAHwTQABCAIAAQcB8AMAAQcB+AMA
AY8BcAMAAQ8BcAIAAYBNAAEIAgABBwHwDQABDwFwAgABgE0AAQ8CdwF/AfANAAEPAfcCdwHwUQAB8A0A
AQ9VAAEHDQABcFUAAQ8BgAsAAQgB8FYAAfcLAAF/WAAL/1kAAQ8BdwHwAQABDwF3AfABAAEPAXcB8FkA
AQcBAAGAAQABBwEAAXABAAEIAQABcFkAAQcBAAGAAQABBwEAAXABAAEIAQABcFkAAQcBAAGAAQABBwEA
AXABAAEIAQABcFkAAQcBAAGAAQABBwEAAXABAAEIAQABcFkAAQcBAAGAAQABBwEAAXABAAEIAQABcFkA
AQ8BiAHwAQABDwGIAfABAAEPAYgB8P8AfwABQgFNAT4HAAE+AwABKAMAAcgDAAEyAwABAQEAAQEFAAF4
AQUWAAP/AQAG/wHAFQAG/wHAFQAG/wHAFQAB/wH+Ah4BHwH/AcAVAAH/Af4CHgEfAf8BwBUAAf8B/gIe
AR8B/wHAFQAB/wH+Ah4BHwH/AcAVAAH/Af4CHgEfAf8BwBUAAf8B/gIeAR8B/wHAFQAB/wH+Ah4BHwH/
AcAVAAH/AfwCAAEPAf8BwBUAAf8B8AIAAQMB/wHAFQAB/wHgAgABAQH/AcAVAAH/AeACAAEBAf8BwBUA
Af8BwAMAAf8BwBUAAeAEAAEBAcAVAAHgBAABAQHAFQAB4AQAAQEBwBUAAeABAAEYAQYBAAEBAcAVAAH/
AcABOAEHAQAB/wHAFQAB/wHAAXABAwGAAf8BwBUAAf8BwAHgAcEBwAH/AcAVAAH/AcECwAHgAf8BwBUA
AeABAwGHAfgBcAEBAcAVAAHgAQcBAwHwATgBAQHAFQAB4AEHAQMB8AE4AQEBwBUAAeABAwGHAfgBcAEB
AcAVAAH/AcECwAHgAf8BwBUAAf8BwAHgAcEBwAH/AcAVAAH/AcABcAEDAYAB/wHAFQAB/wHAATgBBwEA
Af8BwBUAAeABAAEYAQYBAAEBAcAVAAHgBAABAQHAFQAB4AQAAQEBwBUAAeAEAAEBAcAVAAH/AcADAAH/
AcAVAAH/AeACAAEBAf8BwBUAAf8B4AIAAQEB/wHAFQAB/wHwAgABAwH/AcAVAAH/AfwCAAEPAf8BwBUA
Af8B/gIeAR8B/wHAFQAB/wH+Ah4BHwH/AcAVAAH/Af4CHgEfAf8BwBUAAf8B/gIeAR8B/wHAFQAB/wH+
Ah4BHwH/AcAVAAH/Af4CHgEfAf8BwBUAAf8B/gIeAR8B/wHAFQAG/wHAFQAG/wHAFQAG/wHAFQAL
</value>
</data>
</root>