|
|
@@ -51,7 +51,7 @@ namespace McBitFont {
|
|
|
|
public bool monospaced = false;
|
|
|
|
public bool monospaced = false;
|
|
|
|
bool modified = false;
|
|
|
|
bool modified = false;
|
|
|
|
bool prjModified = false;
|
|
|
|
bool prjModified = false;
|
|
|
|
public const string version = "1.3";
|
|
|
|
public const string version = "1.4";
|
|
|
|
public string prjName = "Untitled";
|
|
|
|
public string prjName = "Untitled";
|
|
|
|
public int codepage = 1251;
|
|
|
|
public int codepage = 1251;
|
|
|
|
private FrameMiniature fbuf;
|
|
|
|
private FrameMiniature fbuf;
|
|
|
@@ -278,17 +278,18 @@ namespace McBitFont {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
private void dotPanel_MouseMove(object sender, MouseEventArgs e) {
|
|
|
|
private void dotPanel_MouseMove(object sender, MouseEventArgs e) {
|
|
|
|
|
|
|
|
Rectangle rect1, rect2;
|
|
|
|
if (set_base) {
|
|
|
|
if (set_base) {
|
|
|
|
|
|
|
|
|
|
|
|
int yy = pixelOffset + baseline * (cellSize + gap) - vScroll.Value - 1;
|
|
|
|
int yy = pixelOffset + baseline * (cellSize + gap) - vScroll.Value - 1;
|
|
|
|
Rectangle rect1 = new Rectangle(pixelOffset, yy, w, 3);
|
|
|
|
rect1 = new Rectangle(pixelOffset, yy, w, 2);
|
|
|
|
baseline = (e.Y - pixelOffset + vScroll.Value) / (cellSize + gap);
|
|
|
|
baseline = (e.Y - pixelOffset + vScroll.Value) / (cellSize + gap);
|
|
|
|
|
|
|
|
|
|
|
|
if (baseline >= dotHeight) baseline = dotHeight - 1;
|
|
|
|
if (baseline >= dotHeight) baseline = dotHeight - 1;
|
|
|
|
if (baseline < 0) baseline = 0;
|
|
|
|
if (baseline < 0) baseline = 0;
|
|
|
|
|
|
|
|
|
|
|
|
yy = pixelOffset + baseline * (cellSize + gap) - vScroll.Value - 1;
|
|
|
|
yy = pixelOffset + baseline * (cellSize + gap) - vScroll.Value - 1;
|
|
|
|
Rectangle rect2 = new Rectangle(pixelOffset, yy, w, 3);
|
|
|
|
rect2 = new Rectangle(pixelOffset, yy, w, 2);
|
|
|
|
|
|
|
|
|
|
|
|
dotPanel.Invalidate(rect1);
|
|
|
|
dotPanel.Invalidate(rect1);
|
|
|
|
dotPanel.Invalidate(rect2);
|
|
|
|
dotPanel.Invalidate(rect2);
|
|
|
@@ -309,8 +310,9 @@ namespace McBitFont {
|
|
|
|
f.data[i, j] = true;
|
|
|
|
f.data[i, j] = true;
|
|
|
|
int x = pixelOffset + i * (cellSize + gap) - hScroll.Value;
|
|
|
|
int x = pixelOffset + i * (cellSize + gap) - hScroll.Value;
|
|
|
|
int y = pixelOffset + j * (cellSize + gap) - vScroll.Value;
|
|
|
|
int y = pixelOffset + j * (cellSize + gap) - vScroll.Value;
|
|
|
|
g.FillRectangle(sbb, x, y, cellSize, cellSize);
|
|
|
|
|
|
|
|
modified = true;
|
|
|
|
modified = true;
|
|
|
|
|
|
|
|
rect1 = new Rectangle(x, y, cellSize, cellSize);
|
|
|
|
|
|
|
|
dotPanel.Invalidate(rect1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
if (e.Button == MouseButtons.Right && f.data[i, j]) {
|
|
|
|
if (e.Button == MouseButtons.Right && f.data[i, j]) {
|
|
|
|
Graphics g = dotPanel.CreateGraphics();
|
|
|
|
Graphics g = dotPanel.CreateGraphics();
|
|
|
@@ -318,8 +320,9 @@ namespace McBitFont {
|
|
|
|
f.data[i, j] = false;
|
|
|
|
f.data[i, j] = false;
|
|
|
|
int x = pixelOffset + i * (cellSize + gap) - hScroll.Value;
|
|
|
|
int x = pixelOffset + i * (cellSize + gap) - hScroll.Value;
|
|
|
|
int y = pixelOffset + j * (cellSize + gap) - vScroll.Value;
|
|
|
|
int y = pixelOffset + j * (cellSize + gap) - vScroll.Value;
|
|
|
|
g.FillRectangle(sbw, x, y, cellSize, cellSize);
|
|
|
|
|
|
|
|
modified = true;
|
|
|
|
modified = true;
|
|
|
|
|
|
|
|
rect1 = new Rectangle(x, y, cellSize, cellSize);
|
|
|
|
|
|
|
|
dotPanel.Invalidate(rect1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
@@ -473,13 +476,13 @@ namespace McBitFont {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
if (f.data[i, j]) sb = sbb;
|
|
|
|
if (f.data[i, j]) sb = sbb;
|
|
|
|
else sb = sbw;
|
|
|
|
else sb = sbw;
|
|
|
|
g.FillRectangle(sb, x, y, cellSize, cellSize);
|
|
|
|
g.FillRectangle(sb, x, (baseline == j ? y+1 : y), cellSize, (baseline == j ? cellSize-1 : cellSize));
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
if (baseline > 0 && gap > 0) {
|
|
|
|
if (baseline > 0 && gap > 0) {
|
|
|
|
x = pixelOffset - hScroll.Value;
|
|
|
|
x = pixelOffset - hScroll.Value;
|
|
|
|
y = pixelOffset + baseline * (cellSize + gap) - vScroll.Value - 1;
|
|
|
|
y = pixelOffset + baseline * (cellSize + gap) - vScroll.Value;
|
|
|
|
g.DrawLine(
|
|
|
|
g.DrawLine(
|
|
|
|
new Pen(Color.Blue, 2),
|
|
|
|
new Pen(Color.Blue, 2),
|
|
|
|
x, y,
|
|
|
|
x, y,
|
|
|
@@ -571,10 +574,10 @@ namespace McBitFont {
|
|
|
|
monospaced = form.rbMono.Checked;
|
|
|
|
monospaced = form.rbMono.Checked;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
lblType.Text = monospaced ? "Monospaced" : "Variable width / Single";
|
|
|
|
lblType.Text = monospaced ? "Monospaced" : "Variable width / Single";
|
|
|
|
|
|
|
|
codepage = (form.cbEncoding.SelectedItem as New.EncodingItem).Code;
|
|
|
|
foreach (FrameMiniature ff in frames) {
|
|
|
|
foreach (FrameMiniature ff in frames) {
|
|
|
|
var s = ff.code.ToString().PadLeft(3, '0');
|
|
|
|
var s = ff.code.ToString().PadLeft(3, '0');
|
|
|
|
ilMiniatures.Images.Add(s, (Image)getMiniPictue(ff));
|
|
|
|
ilMiniatures.Images.Add(s, (Image)getMiniPictue(ff));
|
|
|
|
codepage =(form.cbEncoding.SelectedItem as New.EncodingItem).Code;
|
|
|
|
|
|
|
|
var sss = decodeSymbol(ff.code);
|
|
|
|
var sss = decodeSymbol(ff.code);
|
|
|
|
miniList.Items.Add(s, s+' '+append+sss, s);
|
|
|
|
miniList.Items.Add(s, s+' '+append+sss, s);
|
|
|
|
}
|
|
|
|
}
|
|
|
@@ -583,11 +586,14 @@ namespace McBitFont {
|
|
|
|
miniList.Refresh();
|
|
|
|
miniList.Refresh();
|
|
|
|
form.Dispose();
|
|
|
|
form.Dispose();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
baseline = 0;
|
|
|
|
|
|
|
|
|
|
|
|
prjName = "Untitled";
|
|
|
|
prjName = "Untitled";
|
|
|
|
this.Text = "McBitFont " + version + " - " + prjName;
|
|
|
|
this.Text = "McBitFont " + version + " - " + prjName;
|
|
|
|
modified = false;
|
|
|
|
modified = false;
|
|
|
|
checkForAdd();
|
|
|
|
checkForAdd();
|
|
|
|
fbuffer = false;
|
|
|
|
fbuffer = false;
|
|
|
|
|
|
|
|
dotPanel.Refresh();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
@@ -666,8 +672,9 @@ namespace McBitFont {
|
|
|
|
ilMiniatures.Images.Clear();
|
|
|
|
ilMiniatures.Images.Clear();
|
|
|
|
foreach (FrameMiniature ff in frames) {
|
|
|
|
foreach (FrameMiniature ff in frames) {
|
|
|
|
var s = ff.code.ToString().PadLeft(3, '0');
|
|
|
|
var s = ff.code.ToString().PadLeft(3, '0');
|
|
|
|
|
|
|
|
var sss = decodeSymbol(ff.code);
|
|
|
|
ilMiniatures.Images.Add(s, (Image)getMiniPictue(ff));
|
|
|
|
ilMiniatures.Images.Add(s, (Image)getMiniPictue(ff));
|
|
|
|
miniList.Items.Add(s, s + ' ' + (char)ff.code, s);
|
|
|
|
miniList.Items.Add(s, s + ' ' + sss, s);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
nudX.ValueChanged -= nudX_ValueChanged;
|
|
|
|
nudX.ValueChanged -= nudX_ValueChanged;
|
|
|
|
nudY.ValueChanged -= nudY_ValueChanged;
|
|
|
|
nudY.ValueChanged -= nudY_ValueChanged;
|
|
|
|