Compare commits
27 Commits
v1.3
...
ca42d3819f
| Author | SHA1 | Date | |
|---|---|---|---|
| ca42d3819f | |||
| bbfccc2308 | |||
| ea3de134d2 | |||
| faf14caec2 | |||
| 6a8ff0eb50 | |||
| 011c24b94b | |||
| 6fbe668284 | |||
| 5fc69e9992 | |||
| f2b01d4a27 | |||
| 5164060ffc | |||
| 68bce8e14e | |||
| 6fb5a1f773 | |||
| 2a940c8933 | |||
| 0aeec8bd19 | |||
| d24143d1a6 | |||
| 03ef799381 | |||
| 647e5f5601 | |||
| c5e440ee44 | |||
| 34bec25b3d | |||
| b1acbdd98f | |||
| 6d5f90aaac | |||
| 72ad6e5be0 | |||
| 9d1ca65f34 | |||
| dd3f4f4b4b | |||
| 8889b846dc | |||
| fe0e1dabfd | |||
| e0786bdb07 |
@@ -1,6 +1,14 @@
|
|||||||
<?xml version="1.0" encoding="utf-8" ?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<configuration>
|
<configuration>
|
||||||
<startup>
|
<startup>
|
||||||
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7.2" />
|
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7.2" />
|
||||||
</startup>
|
</startup>
|
||||||
|
<runtime>
|
||||||
|
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||||
|
<dependentAssembly>
|
||||||
|
<assemblyIdentity name="System.Runtime.CompilerServices.Unsafe" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
||||||
|
<bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" />
|
||||||
|
</dependentAssembly>
|
||||||
|
</assemblyBinding>
|
||||||
|
</runtime>
|
||||||
</configuration>
|
</configuration>
|
||||||
Generated
+12
@@ -23,6 +23,7 @@
|
|||||||
/// the contents of this method with the code editor.
|
/// the contents of this method with the code editor.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
private void InitializeComponent() {
|
private void InitializeComponent() {
|
||||||
|
this.components = new System.ComponentModel.Container();
|
||||||
this.txtOutput = new System.Windows.Forms.RichTextBox();
|
this.txtOutput = new System.Windows.Forms.RichTextBox();
|
||||||
this.gbScan = new System.Windows.Forms.GroupBox();
|
this.gbScan = new System.Windows.Forms.GroupBox();
|
||||||
this.cbVDir = new System.Windows.Forms.ComboBox();
|
this.cbVDir = new System.Windows.Forms.ComboBox();
|
||||||
@@ -43,6 +44,7 @@
|
|||||||
this.cbFormat = new System.Windows.Forms.ComboBox();
|
this.cbFormat = new System.Windows.Forms.ComboBox();
|
||||||
this.btnGenerate = new System.Windows.Forms.Button();
|
this.btnGenerate = new System.Windows.Forms.Button();
|
||||||
this.btnClose = new System.Windows.Forms.Button();
|
this.btnClose = new System.Windows.Forms.Button();
|
||||||
|
this.toolTip1 = new System.Windows.Forms.ToolTip(this.components);
|
||||||
this.gbScan.SuspendLayout();
|
this.gbScan.SuspendLayout();
|
||||||
this.gbOptions.SuspendLayout();
|
this.gbOptions.SuspendLayout();
|
||||||
this.gbNumbers.SuspendLayout();
|
this.gbNumbers.SuspendLayout();
|
||||||
@@ -138,6 +140,7 @@
|
|||||||
this.cbZeroes.Size = new System.Drawing.Size(98, 17);
|
this.cbZeroes.Size = new System.Drawing.Size(98, 17);
|
||||||
this.cbZeroes.TabIndex = 2;
|
this.cbZeroes.TabIndex = 2;
|
||||||
this.cbZeroes.Text = "Leading zeroes";
|
this.cbZeroes.Text = "Leading zeroes";
|
||||||
|
this.toolTip1.SetToolTip(this.cbZeroes, "Add leading zeroes: 0x01 / 0x1");
|
||||||
this.cbZeroes.UseVisualStyleBackColor = true;
|
this.cbZeroes.UseVisualStyleBackColor = true;
|
||||||
//
|
//
|
||||||
// cbHeader
|
// cbHeader
|
||||||
@@ -150,6 +153,7 @@
|
|||||||
this.cbHeader.Size = new System.Drawing.Size(86, 17);
|
this.cbHeader.Size = new System.Drawing.Size(86, 17);
|
||||||
this.cbHeader.TabIndex = 1;
|
this.cbHeader.TabIndex = 1;
|
||||||
this.cbHeader.Text = "Meta header";
|
this.cbHeader.Text = "Meta header";
|
||||||
|
this.toolTip1.SetToolTip(this.cbHeader, "Add meta header with meta data");
|
||||||
this.cbHeader.UseVisualStyleBackColor = true;
|
this.cbHeader.UseVisualStyleBackColor = true;
|
||||||
this.cbHeader.CheckedChanged += new System.EventHandler(this.cbFormat_SelectedIndexChanged);
|
this.cbHeader.CheckedChanged += new System.EventHandler(this.cbFormat_SelectedIndexChanged);
|
||||||
//
|
//
|
||||||
@@ -163,6 +167,7 @@
|
|||||||
this.cbComments.Size = new System.Drawing.Size(75, 17);
|
this.cbComments.Size = new System.Drawing.Size(75, 17);
|
||||||
this.cbComments.TabIndex = 0;
|
this.cbComments.TabIndex = 0;
|
||||||
this.cbComments.Text = "Comments";
|
this.cbComments.Text = "Comments";
|
||||||
|
this.toolTip1.SetToolTip(this.cbComments, "Add descriptive comments");
|
||||||
this.cbComments.UseVisualStyleBackColor = true;
|
this.cbComments.UseVisualStyleBackColor = true;
|
||||||
//
|
//
|
||||||
// gbNumbers
|
// gbNumbers
|
||||||
@@ -309,6 +314,12 @@
|
|||||||
this.btnClose.Text = "Close";
|
this.btnClose.Text = "Close";
|
||||||
this.btnClose.UseVisualStyleBackColor = true;
|
this.btnClose.UseVisualStyleBackColor = true;
|
||||||
//
|
//
|
||||||
|
// toolTip1
|
||||||
|
//
|
||||||
|
this.toolTip1.AutoPopDelay = 10000;
|
||||||
|
this.toolTip1.InitialDelay = 500;
|
||||||
|
this.toolTip1.ReshowDelay = 100;
|
||||||
|
//
|
||||||
// Export
|
// Export
|
||||||
//
|
//
|
||||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||||
@@ -362,5 +373,6 @@
|
|||||||
private System.Windows.Forms.Button btnGenerate;
|
private System.Windows.Forms.Button btnGenerate;
|
||||||
private System.Windows.Forms.Button btnClose;
|
private System.Windows.Forms.Button btnClose;
|
||||||
private System.Windows.Forms.CheckBox cbZeroes;
|
private System.Windows.Forms.CheckBox cbZeroes;
|
||||||
|
private System.Windows.Forms.ToolTip toolTip1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
+3
-3
@@ -88,7 +88,7 @@ namespace McBitFont {
|
|||||||
int imin, jmin, imax, jmax, idir, jdir;
|
int imin, jmin, imax, jmax, idir, jdir;
|
||||||
|
|
||||||
if (com) {
|
if (com) {
|
||||||
//Header comments
|
// Header comments
|
||||||
output += comments["header"];
|
output += comments["header"];
|
||||||
output += comments["scan_order"] + cbOrder.Text + "\n";
|
output += comments["scan_order"] + cbOrder.Text + "\n";
|
||||||
output += comments["scan_hdir"] + cbHDir.Text + "\n";
|
output += comments["scan_hdir"] + cbHDir.Text + "\n";
|
||||||
@@ -107,7 +107,7 @@ namespace McBitFont {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//Figure out mins and maxes
|
// Figure out mins and maxes
|
||||||
if (cbOrder.SelectedIndex == 0) {
|
if (cbOrder.SelectedIndex == 0) {
|
||||||
if (cbHDir.SelectedIndex == 0) {
|
if (cbHDir.SelectedIndex == 0) {
|
||||||
// Columns; Left to right
|
// Columns; Left to right
|
||||||
@@ -342,7 +342,7 @@ namespace McBitFont {
|
|||||||
}
|
}
|
||||||
if (lines == 1) {
|
if (lines == 1) {
|
||||||
// "1 symbol per line" - closing line
|
// "1 symbol per line" - closing line
|
||||||
if (!f.Equals(flast)) output += ",";
|
if (!f.Equals(flast) && f.width > 0) output += ",";
|
||||||
if (com && fcount > 1) {
|
if (com && fcount > 1) {
|
||||||
//...with a comment
|
//...with a comment
|
||||||
output += " // " + f.code.ToString() + " --> " + mainForm.decodeSymbol(f.code);
|
output += " // " + f.code.ToString() + " --> " + mainForm.decodeSymbol(f.code);
|
||||||
|
|||||||
@@ -117,4 +117,10 @@
|
|||||||
<resheader name="writer">
|
<resheader name="writer">
|
||||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.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>
|
</resheader>
|
||||||
|
<metadata name="toolTip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||||
|
<value>17, 17</value>
|
||||||
|
</metadata>
|
||||||
|
<metadata name="toolTip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||||
|
<value>17, 17</value>
|
||||||
|
</metadata>
|
||||||
</root>
|
</root>
|
||||||
Generated
+581
-512
File diff suppressed because it is too large
Load Diff
+204
-110
@@ -1,25 +1,21 @@
|
|||||||
using System;
|
using MessagePack;
|
||||||
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.ComponentModel;
|
|
||||||
using System.Data;
|
|
||||||
using System.Drawing;
|
using System.Drawing;
|
||||||
using System.Linq;
|
|
||||||
using System.Reflection;
|
|
||||||
using System.Text;
|
|
||||||
using System.Threading.Tasks;
|
|
||||||
using System.Windows.Forms;
|
|
||||||
using System.Windows.Forms.VisualStyles;
|
|
||||||
using System.Runtime.InteropServices;
|
|
||||||
using System.IO;
|
|
||||||
using System.Runtime.Serialization.Formatters.Binary;
|
|
||||||
using System.Runtime.InteropServices.ComTypes;
|
|
||||||
using System.Diagnostics;
|
|
||||||
using System.Drawing.Drawing2D;
|
using System.Drawing.Drawing2D;
|
||||||
|
using System.IO;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Runtime.InteropServices;
|
||||||
|
using System.Text;
|
||||||
|
using System.Windows.Forms;
|
||||||
|
|
||||||
|
|
||||||
namespace McBitFont {
|
namespace McBitFont {
|
||||||
public partial class MainForm : Form {
|
public partial class MainForm : Form {
|
||||||
|
|
||||||
|
|
||||||
[Serializable]
|
[Serializable]
|
||||||
|
[MessagePackObject]
|
||||||
public struct FrameMiniature {
|
public struct FrameMiniature {
|
||||||
public FrameMiniature(int cc, int ww, int hh) {
|
public FrameMiniature(int cc, int ww, int hh) {
|
||||||
code = cc;
|
code = cc;
|
||||||
@@ -27,17 +23,26 @@ namespace McBitFont {
|
|||||||
height = hh;
|
height = hh;
|
||||||
data = new bool[ww, hh];
|
data = new bool[ww, hh];
|
||||||
}
|
}
|
||||||
|
[Key(0)]
|
||||||
public int code;
|
public int code;
|
||||||
|
[Key(1)]
|
||||||
public int width;
|
public int width;
|
||||||
|
[Key(2)]
|
||||||
public int height;
|
public int height;
|
||||||
|
[Key(3)]
|
||||||
public bool[,] data;
|
public bool[,] data;
|
||||||
};
|
};
|
||||||
|
|
||||||
[Serializable]
|
[Serializable]
|
||||||
|
[MessagePackObject]
|
||||||
public struct SaveBlock {
|
public struct SaveBlock {
|
||||||
|
[Key(4)]
|
||||||
public bool monospaced;
|
public bool monospaced;
|
||||||
|
[Key(5)]
|
||||||
public int codepage;
|
public int codepage;
|
||||||
|
[Key(6)]
|
||||||
public int baseline;
|
public int baseline;
|
||||||
|
[Key(7)]
|
||||||
public List<FrameMiniature> frames;
|
public List<FrameMiniature> frames;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -51,8 +56,9 @@ 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 = "2.0";
|
||||||
public string prjName = "Untitled";
|
public string prjName = "Untitled";
|
||||||
|
public string prjFileName = "";
|
||||||
public int codepage = 1251;
|
public int codepage = 1251;
|
||||||
private FrameMiniature fbuf;
|
private FrameMiniature fbuf;
|
||||||
private bool fbuffer = false;
|
private bool fbuffer = false;
|
||||||
@@ -89,6 +95,13 @@ namespace McBitFont {
|
|||||||
this.Text = "McBitFont " + version + " - " + prjName;
|
this.Text = "McBitFont " + version + " - " + prjName;
|
||||||
|
|
||||||
fbuf = new FrameMiniature(0, dotWidth, dotHeight);
|
fbuf = new FrameMiniature(0, dotWidth, dotHeight);
|
||||||
|
|
||||||
|
// Chek for arguments
|
||||||
|
if (Environment.GetCommandLineArgs().Length > 1) {
|
||||||
|
loadProject(Environment.GetCommandLineArgs()[1]);
|
||||||
|
}
|
||||||
|
|
||||||
|
Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);
|
||||||
}
|
}
|
||||||
|
|
||||||
[DllImport("user32.dll")]
|
[DllImport("user32.dll")]
|
||||||
@@ -113,12 +126,12 @@ namespace McBitFont {
|
|||||||
private void dotPanel_MouseWheel(object sender, MouseEventArgs e) {
|
private void dotPanel_MouseWheel(object sender, MouseEventArgs e) {
|
||||||
int t = e.Delta / 120;
|
int t = e.Delta / 120;
|
||||||
if (e.Delta == 0) return;
|
if (e.Delta == 0) return;
|
||||||
if (ModifierKeys.HasFlag(Keys.Shift)) {
|
if (ModifierKeys.HasFlag(Keys.Control)) {
|
||||||
t += cbZoom.SelectedIndex;
|
t += cbZoom.SelectedIndex;
|
||||||
if (t > cbZoom.Items.Count - 1) return;
|
if (t > cbZoom.Items.Count - 1) return;
|
||||||
if (t < 0) return;
|
if (t < 0) return;
|
||||||
cbZoom.SelectedIndex = t;
|
cbZoom.SelectedIndex = t;
|
||||||
} else if (ModifierKeys.HasFlag(Keys.Control)) {
|
} else if (ModifierKeys.HasFlag(Keys.Shift)) {
|
||||||
if (hScroll.Enabled) {
|
if (hScroll.Enabled) {
|
||||||
t = t * -1 * (cellSize + gap) + hScroll.Value;
|
t = t * -1 * (cellSize + gap) + hScroll.Value;
|
||||||
if (t < hScroll.Minimum) t = hScroll.Minimum;
|
if (t < hScroll.Minimum) t = hScroll.Minimum;
|
||||||
@@ -141,7 +154,7 @@ namespace McBitFont {
|
|||||||
for (int i = 0; i < frames.Count; i++) {
|
for (int i = 0; i < frames.Count; i++) {
|
||||||
frames[i] = frameResize(frames[i], (int)nudX.Value, dotHeight);
|
frames[i] = frameResize(frames[i], (int)nudX.Value, dotHeight);
|
||||||
bmp = getMiniPictue(frames[i]);
|
bmp = getMiniPictue(frames[i]);
|
||||||
string s = frames[i].code.ToString();
|
string s = frames[i].code.ToString().PadLeft(3, '0');
|
||||||
ilMiniatures.Images.RemoveByKey(s);
|
ilMiniatures.Images.RemoveByKey(s);
|
||||||
ilMiniatures.Images.Add(s, (Image)bmp);
|
ilMiniatures.Images.Add(s, (Image)bmp);
|
||||||
miniList.Items[s].ImageKey = s;
|
miniList.Items[s].ImageKey = s;
|
||||||
@@ -156,13 +169,14 @@ namespace McBitFont {
|
|||||||
private void nudY_ValueChanged(object sender, EventArgs e) {
|
private void nudY_ValueChanged(object sender, EventArgs e) {
|
||||||
Bitmap bmp;
|
Bitmap bmp;
|
||||||
for (int i = 0; i < frames.Count; i++) {
|
for (int i = 0; i < frames.Count; i++) {
|
||||||
frames[i] = frameResize(frames[i], dotWidth, (int)nudY.Value);
|
frames[i] = frameResize(frames[i], frames[i].width, (int)nudY.Value);
|
||||||
bmp = getMiniPictue(frames[i]);
|
bmp = getMiniPictue(frames[i]);
|
||||||
string s = frames[i].code.ToString();
|
string s = frames[i].code.ToString().PadLeft(3, '0');
|
||||||
ilMiniatures.Images.RemoveByKey(s);
|
ilMiniatures.Images.RemoveByKey(s);
|
||||||
ilMiniatures.Images.Add(s, (Image)bmp);
|
ilMiniatures.Images.Add(s, (Image)bmp);
|
||||||
miniList.Items[s].ImageKey = s;
|
miniList.Items[s].ImageKey = s;
|
||||||
}
|
}
|
||||||
|
if (nudY.Focused) modified = true;
|
||||||
prjModified = true;
|
prjModified = true;
|
||||||
dotResize(dotWidth, (int)nudY.Value);
|
dotResize(dotWidth, (int)nudY.Value);
|
||||||
}
|
}
|
||||||
@@ -170,20 +184,24 @@ namespace McBitFont {
|
|||||||
private FrameMiniature frameResize(FrameMiniature ff, int neww, int newh) {
|
private FrameMiniature frameResize(FrameMiniature ff, int neww, int newh) {
|
||||||
int oldw = ff.width;
|
int oldw = ff.width;
|
||||||
int oldh = ff.height;
|
int oldh = ff.height;
|
||||||
|
int di = 0, dj = 0;
|
||||||
int imax, jmax;
|
int imax, jmax;
|
||||||
bool[,] t;
|
bool[,] t;
|
||||||
|
|
||||||
if (neww < oldw) imax = neww;
|
if (chkLeftSide.Checked) di = oldw - neww;
|
||||||
else imax = oldw;
|
if (chkTopSide.Checked) dj = oldh - newh;
|
||||||
if (newh < oldh) jmax = newh;
|
|
||||||
else jmax = oldh;
|
imax = (neww < oldw) ? neww : oldw;
|
||||||
|
jmax = (newh < oldh) ? newh : oldh;
|
||||||
|
if (neww > oldw) imax -= di;
|
||||||
|
if (newh > oldh) jmax -= dj;
|
||||||
|
|
||||||
ff.width = neww;
|
ff.width = neww;
|
||||||
ff.height = newh;
|
ff.height = newh;
|
||||||
t = new bool[neww, newh];
|
t = new bool[neww, newh];
|
||||||
for (int i=0; i<imax; i++) {
|
for (int i = 0; i < imax; i++) {
|
||||||
for (int j=0;j<jmax; j++) {
|
for (int j = 0; j < jmax; j++) {
|
||||||
t[i, j] = ff.data[i, j];
|
if (i + di >= 0 && j + dj >= 0) t[i, j] = ff.data[i + di, j + dj];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
ff.data = t;
|
ff.data = t;
|
||||||
@@ -192,30 +210,12 @@ namespace McBitFont {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void dotResize(int ww, int hh) {
|
private void dotResize(int ww, int hh) {
|
||||||
int imax, jmax;
|
f = frameResize(f, ww, hh);
|
||||||
bool[,] t;
|
|
||||||
|
|
||||||
if (ww < dotWidth) imax = ww;
|
|
||||||
else imax = dotWidth;
|
|
||||||
if (hh < dotHeight) jmax = hh;
|
|
||||||
else jmax = dotHeight;
|
|
||||||
|
|
||||||
f.width = ww;
|
|
||||||
f.height = hh;
|
|
||||||
t = new bool[ww, hh];
|
|
||||||
for (int i=0; i<imax; i++) {
|
|
||||||
for (int j=0; j<jmax; j++) {
|
|
||||||
t[i, j] = f.data[i, j];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
f.data = t;
|
|
||||||
dotWidth = ww;
|
dotWidth = ww;
|
||||||
dotHeight = hh;
|
dotHeight = hh;
|
||||||
w = pixelOffset + dotWidth * (cellSize + gap);
|
w = pixelOffset + dotWidth * (cellSize + gap);
|
||||||
h = pixelOffset + dotHeight * (cellSize + gap);
|
h = pixelOffset + dotHeight * (cellSize + gap);
|
||||||
cbZoom_SelectedIndexChanged(cbZoom, null);
|
cbZoom_SelectedIndexChanged(cbZoom, null);
|
||||||
|
|
||||||
fbuffer = false;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void cbZoom_SelectedIndexChanged(object sender, EventArgs e) {
|
private void cbZoom_SelectedIndexChanged(object sender, EventArgs e) {
|
||||||
@@ -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);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -344,7 +347,7 @@ namespace McBitFont {
|
|||||||
bool c;
|
bool c;
|
||||||
for (int i = 0; i < dotWidth; i++) {
|
for (int i = 0; i < dotWidth; i++) {
|
||||||
c = f.data[i, dotHeight - 1];
|
c = f.data[i, dotHeight - 1];
|
||||||
for (int j = dotHeight-1; j >= 0; j--) {
|
for (int j = dotHeight - 1; j >= 0; j--) {
|
||||||
if (j == 0) {
|
if (j == 0) {
|
||||||
f.data[i, j] = c;
|
f.data[i, j] = c;
|
||||||
} else {
|
} else {
|
||||||
@@ -445,7 +448,7 @@ namespace McBitFont {
|
|||||||
for (int i = 0; i < m.width; i++) {
|
for (int i = 0; i < m.width; i++) {
|
||||||
for (int j = 0; j < m.height; j++) {
|
for (int j = 0; j < m.height; j++) {
|
||||||
c = m.data[i, j] ? Color.Black : Color.White;
|
c = m.data[i, j] ? Color.Black : Color.White;
|
||||||
bmp.SetPixel(i+imin, j+jmin, c);
|
bmp.SetPixel(i + imin, j + jmin, c);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
var sizedBMP = new Bitmap(bmp, new Size(50, 50));
|
var sizedBMP = new Bitmap(bmp, new Size(50, 50));
|
||||||
@@ -461,25 +464,25 @@ namespace McBitFont {
|
|||||||
Pen p = new Pen(Color.FromArgb(64, Color.Green));
|
Pen p = new Pen(Color.FromArgb(64, Color.Green));
|
||||||
int x, y;
|
int x, y;
|
||||||
|
|
||||||
for (int i=0; i<dotWidth; i++) {
|
for (int i = 0; i < dotWidth; i++) {
|
||||||
x = pixelOffset + i * (cellSize + gap) - hScroll.Value;
|
x = pixelOffset + i * (cellSize + gap) - hScroll.Value;
|
||||||
if (gap > 0 && i != 0 && (i % 8) == 0) {
|
if (gap > 0 && i != 0 && (i % 8) == 0) {
|
||||||
g.DrawLine(p, x - 1, pixelOffset - vScroll.Value, x - 1, h);
|
g.DrawLine(p, x - 1, pixelOffset - vScroll.Value, x - 1, h);
|
||||||
}
|
}
|
||||||
for (int j=0; j<dotHeight; j++) {
|
for (int j = 0; j < dotHeight; j++) {
|
||||||
y = pixelOffset + j * (cellSize + gap) - vScroll.Value;
|
y = pixelOffset + j * (cellSize + gap) - vScroll.Value;
|
||||||
if (gap > 0 && i == 0 && j != 0 && (j % 8) == 0) {
|
if (gap > 0 && i == 0 && j != 0 && (j % 8) == 0) {
|
||||||
g.DrawLine(p, pixelOffset - hScroll.Value, y-1, w, y-1);
|
g.DrawLine(p, pixelOffset - hScroll.Value, y - 1, w, y - 1);
|
||||||
}
|
}
|
||||||
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,
|
||||||
@@ -522,6 +525,7 @@ namespace McBitFont {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void newToolStripMenuItem_Click(object sender, EventArgs e) {
|
private void newToolStripMenuItem_Click(object sender, EventArgs e) {
|
||||||
|
checkModifiedFrame();
|
||||||
if (prjModified) {
|
if (prjModified) {
|
||||||
if (MessageBox.Show("The project is modified.\nDo you want to save it first?", "Project was modified!", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) {
|
if (MessageBox.Show("The project is modified.\nDo you want to save it first?", "Project was modified!", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) {
|
||||||
saveToolStripMenuItem.PerformClick();
|
saveToolStripMenuItem.PerformClick();
|
||||||
@@ -541,66 +545,66 @@ namespace McBitFont {
|
|||||||
nudY.Value = newh;
|
nudY.Value = newh;
|
||||||
FrameMiniature newf;
|
FrameMiniature newf;
|
||||||
if (form.cbSingle.Checked) {
|
if (form.cbSingle.Checked) {
|
||||||
frames.Add( new FrameMiniature(0, neww, newh));
|
frames.Add(new FrameMiniature(0, neww, newh));
|
||||||
//f = frames.Find(x => x.code == 0);
|
//f = frames.Find(x => x.code == 0);
|
||||||
append = "Single";
|
append = "Single";
|
||||||
monospaced = false;
|
monospaced = false;
|
||||||
} else {
|
} else {
|
||||||
int i;
|
int i, imin, imax;
|
||||||
if (form.cbNotPrintable.Checked) {
|
if (form.cbDigits.Checked) {
|
||||||
for (i = 0; i < 32; i++) {
|
imin = 48;
|
||||||
|
imax = 57;
|
||||||
|
} else {
|
||||||
|
if (form.cbNotPrintable.Checked) imin = 0;
|
||||||
|
else if (form.cbLatin.Checked) imin = 32;
|
||||||
|
else imin = 128;
|
||||||
|
|
||||||
|
if (form.cbExtended.Checked) imax = 255;
|
||||||
|
else if (form.cbLatin.Checked) imax = 127;
|
||||||
|
else imax = 31;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
for (i = imin; i <= imax; i++) {
|
||||||
newf = new FrameMiniature(i, neww, newh);
|
newf = new FrameMiniature(i, neww, newh);
|
||||||
if (form.cbFontBased.Checked) newf = fillFrame(newf, form.dlgFont.Font, (int)form.nudShiftX.Value, (int)form.nudShiftY.Value);
|
if (form.cbFontBased.Checked) newf = fillFrame(newf, form.dlgFont.Font, (int)form.nudShiftX.Value, (int)form.nudShiftY.Value);
|
||||||
frames.Add(newf);
|
frames.Add(newf);
|
||||||
}
|
}
|
||||||
}
|
|
||||||
if (form.cbLatin.Checked) {
|
|
||||||
for (i = 32; i < 128; i++) {
|
|
||||||
newf = new FrameMiniature(i, neww, newh);
|
|
||||||
if (form.cbFontBased.Checked) newf = fillFrame(newf, form.dlgFont.Font, (int)form.nudShiftX.Value, (int)form.nudShiftY.Value);
|
|
||||||
frames.Add(newf);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (form.cbExtended.Checked) {
|
|
||||||
for (i = 128; i < 256; i++) {
|
|
||||||
newf = new FrameMiniature(i, neww, newh);
|
|
||||||
if (form.cbFontBased.Checked) newf = fillFrame(newf, form.dlgFont.Font, (int)form.nudShiftX.Value, (int)form.nudShiftY.Value);
|
|
||||||
frames.Add(newf);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
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);
|
||||||
}
|
}
|
||||||
f = copyFrame(frames.First());
|
f = copyFrame(frames.First());
|
||||||
dotPanel.Refresh();
|
dotPanel.Refresh();
|
||||||
miniList.Refresh();
|
miniList.Refresh();
|
||||||
form.Dispose();
|
form.Dispose();
|
||||||
|
|
||||||
|
baseline = 0;
|
||||||
|
|
||||||
prjName = "Untitled";
|
prjName = "Untitled";
|
||||||
|
prjFileName = "";
|
||||||
this.Text = "McBitFont " + version + " - " + prjName;
|
this.Text = "McBitFont " + version + " - " + prjName;
|
||||||
modified = false;
|
modified = false;
|
||||||
checkForAdd();
|
checkForAdd();
|
||||||
fbuffer = false;
|
fbuffer = false;
|
||||||
|
dotPanel.Refresh();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void miniList_SelectedIndexChanged(object sender, EventArgs e) {
|
private void miniList_SelectedIndexChanged(object sender, EventArgs e) {
|
||||||
if (miniList.FocusedItem == null) return;
|
if (miniList.FocusedItem == null) return;
|
||||||
if (modified) {
|
checkModifiedFrame();
|
||||||
if (MessageBox.Show("Current symbol is modified.\nDo you want to save the changes?", "Symbol was modified!", MessageBoxButtons.YesNo) == DialogResult.Yes) {
|
|
||||||
saveFrame();
|
|
||||||
}
|
|
||||||
modified = false;
|
|
||||||
}
|
|
||||||
if (miniList.SelectedItems.Count == 0) {
|
if (miniList.SelectedItems.Count == 0) {
|
||||||
removeSymbolToolStripMenuItem.Enabled = false;
|
removeSymbolToolStripMenuItem.Enabled = false;
|
||||||
|
removeBeforeToolStripMenuItem.Enabled = false;
|
||||||
|
removeAfterToolStripMenuItem.Enabled = false;
|
||||||
copyToolStripMenuItem.Enabled = false;
|
copyToolStripMenuItem.Enabled = false;
|
||||||
pasteToolStripMenuItem.Enabled = false;
|
pasteToolStripMenuItem.Enabled = false;
|
||||||
return;
|
return;
|
||||||
@@ -620,41 +624,33 @@ namespace McBitFont {
|
|||||||
removeSymbolToolStripMenuItem.Enabled = false;
|
removeSymbolToolStripMenuItem.Enabled = false;
|
||||||
}
|
}
|
||||||
copyToolStripMenuItem.Enabled = true;
|
copyToolStripMenuItem.Enabled = true;
|
||||||
|
if (ff.Equals(frames.First())) {
|
||||||
|
removeBeforeToolStripMenuItem.Enabled = false;
|
||||||
|
removeAfterToolStripMenuItem.Enabled = true;
|
||||||
|
} else if (ff.Equals(frames.Last())) {
|
||||||
|
removeBeforeToolStripMenuItem.Enabled = true;
|
||||||
|
removeAfterToolStripMenuItem.Enabled = false;
|
||||||
|
} else {
|
||||||
|
removeBeforeToolStripMenuItem.Enabled = true;
|
||||||
|
removeAfterToolStripMenuItem.Enabled = true;
|
||||||
|
}
|
||||||
|
|
||||||
if (fbuffer) pasteToolStripMenuItem.Enabled = true;
|
if (fbuffer) pasteToolStripMenuItem.Enabled = true;
|
||||||
else pasteToolStripMenuItem.Enabled = false;
|
else pasteToolStripMenuItem.Enabled = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void saveToolStripMenuItem_Click(object sender, EventArgs e) {
|
private void saveToolStripMenuItem_Click(object sender, EventArgs e) {
|
||||||
|
checkModifiedFrame();
|
||||||
if (dlgSave.ShowDialog() == DialogResult.OK) {
|
if (dlgSave.ShowDialog() == DialogResult.OK) {
|
||||||
SaveBlock sav;
|
saveProject(dlgSave.FileName);
|
||||||
sav.monospaced = monospaced;
|
|
||||||
sav.frames = frames;
|
|
||||||
sav.codepage = codepage;
|
|
||||||
sav.baseline = baseline;
|
|
||||||
BinaryFormatter formatter = new BinaryFormatter();
|
|
||||||
using (Stream ms = File.OpenWrite(dlgSave.FileName)) {
|
|
||||||
formatter.Serialize(ms, sav);
|
|
||||||
ms.Close();
|
|
||||||
}
|
|
||||||
prjModified = false;
|
|
||||||
prjName = Path.GetFileNameWithoutExtension(dlgSave.FileName);
|
|
||||||
this.Text = "McBitFont " + version + " - " + prjName;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void openToolStripMenuItem_Click(object sender, EventArgs e) {
|
private void loadProject(string filename) {
|
||||||
if (prjModified) {
|
|
||||||
if (MessageBox.Show("The project is modified.\nDo you want to save it first?", "Project was modified!", MessageBoxButtons.YesNo) == DialogResult.Yes) {
|
|
||||||
saveToolStripMenuItem.PerformClick();
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (dlgOpen.ShowDialog() == DialogResult.OK) {
|
|
||||||
SaveBlock sav;
|
SaveBlock sav;
|
||||||
BinaryFormatter formatter = new BinaryFormatter();
|
|
||||||
|
|
||||||
using (FileStream fs = File.Open(dlgOpen.FileName, FileMode.Open)) {
|
using (FileStream fs = File.Open(filename, FileMode.Open)) {
|
||||||
sav = (SaveBlock)formatter.Deserialize(fs);
|
sav = MessagePackSerializer.Deserialize<SaveBlock>(fs);
|
||||||
fs.Close();
|
fs.Close();
|
||||||
}
|
}
|
||||||
monospaced = sav.monospaced;
|
monospaced = sav.monospaced;
|
||||||
@@ -666,8 +662,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;
|
||||||
@@ -682,11 +679,40 @@ namespace McBitFont {
|
|||||||
modified = false;
|
modified = false;
|
||||||
prjModified = false;
|
prjModified = false;
|
||||||
|
|
||||||
prjName = Path.GetFileNameWithoutExtension(dlgOpen.FileName);
|
prjFileName = filename;
|
||||||
|
prjName = Path.GetFileNameWithoutExtension(filename);
|
||||||
this.Text = "McBitFont " + version + " - " + prjName;
|
this.Text = "McBitFont " + version + " - " + prjName;
|
||||||
checkForAdd();
|
checkForAdd();
|
||||||
fbuffer = false;
|
fbuffer = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void saveProject(string filename) {
|
||||||
|
SaveBlock sav;
|
||||||
|
sav.monospaced = monospaced;
|
||||||
|
sav.frames = frames;
|
||||||
|
sav.codepage = codepage;
|
||||||
|
sav.baseline = baseline;
|
||||||
|
|
||||||
|
using (Stream ms = File.OpenWrite(filename)) {
|
||||||
|
MessagePackSerializer.Serialize(ms, sav);
|
||||||
|
ms.Close();
|
||||||
|
}
|
||||||
|
prjModified = false;
|
||||||
|
prjName = Path.GetFileNameWithoutExtension(filename);
|
||||||
|
prjFileName = filename;
|
||||||
|
this.Text = "McBitFont " + version + " - " + prjName;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void openToolStripMenuItem_Click(object sender, EventArgs e) {
|
||||||
|
if (prjModified) {
|
||||||
|
if (MessageBox.Show("The project is modified.\nDo you want to save it first?", "Project was modified!", MessageBoxButtons.YesNo) == DialogResult.Yes) {
|
||||||
|
saveAsToolStripMenuItem.PerformClick();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (dlgOpen.ShowDialog() == DialogResult.OK) {
|
||||||
|
loadProject(dlgOpen.FileName);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void removeSymbolToolStripMenuItem_Click(object sender, EventArgs e) {
|
private void removeSymbolToolStripMenuItem_Click(object sender, EventArgs e) {
|
||||||
@@ -738,7 +764,19 @@ namespace McBitFont {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void pasteToolStripMenuItem_Click(object sender, EventArgs e) {
|
private void pasteToolStripMenuItem_Click(object sender, EventArgs e) {
|
||||||
|
if (fbuf.width == f.width && fbuf.height == f.height) {
|
||||||
Array.Copy(fbuf.data, f.data, fbuf.data.Length);
|
Array.Copy(fbuf.data, f.data, fbuf.data.Length);
|
||||||
|
} else {
|
||||||
|
var wmax = (fbuf.width > f.width) ? f.width : fbuf.width;
|
||||||
|
var hmax = (fbuf.height > f.height) ? f.height : fbuf.height;
|
||||||
|
|
||||||
|
for (int i = 0; i < wmax; i++) {
|
||||||
|
for (int j = 0; j < hmax; j++) {
|
||||||
|
f.data[i, j] = fbuf.data[i, j];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
dotPanel.Refresh();
|
dotPanel.Refresh();
|
||||||
modified = true;
|
modified = true;
|
||||||
}
|
}
|
||||||
@@ -752,6 +790,32 @@ namespace McBitFont {
|
|||||||
set_base = !set_base;
|
set_base = !set_base;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Check modified / Save frame
|
||||||
|
private void checkModifiedFrame() {
|
||||||
|
if (modified) {
|
||||||
|
if (MessageBox.Show("Current symbol is modified.\nDo you want to save the changes?", "Symbol was modified!", MessageBoxButtons.YesNo) == DialogResult.Yes) {
|
||||||
|
saveFrame();
|
||||||
|
}
|
||||||
|
modified = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void saveToolStripMenuItem_Click_1(object sender, EventArgs e) {
|
||||||
|
if (prjFileName == "") {
|
||||||
|
saveAsToolStripMenuItem.PerformClick();
|
||||||
|
} else {
|
||||||
|
checkModifiedFrame();
|
||||||
|
saveProject(prjFileName);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
private void btnClear_Click(object sender, EventArgs e) {
|
||||||
|
Array.Clear(f.data, 0, f.data.Length);
|
||||||
|
modified = true;
|
||||||
|
dotPanel.Refresh();
|
||||||
|
}
|
||||||
|
|
||||||
private void MainForm_FormClosing(object sender, FormClosingEventArgs e) {
|
private void MainForm_FormClosing(object sender, FormClosingEventArgs e) {
|
||||||
if (prjModified) {
|
if (prjModified) {
|
||||||
if (MessageBox.Show("The project is modified.\nAre you sure you want to quit?", "Are you sure?", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No) {
|
if (MessageBox.Show("The project is modified.\nAre you sure you want to quit?", "Are you sure?", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No) {
|
||||||
@@ -766,5 +830,35 @@ namespace McBitFont {
|
|||||||
dotPanel.Refresh();
|
dotPanel.Refresh();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Remove all before or after specified symbol
|
||||||
|
private void removeBA(bool before) {
|
||||||
|
if (miniList.SelectedItems.Count == 0) {
|
||||||
|
removeBeforeToolStripMenuItem.Enabled = false;
|
||||||
|
removeAfterToolStripMenuItem.Enabled = false;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
int step = before ? -1 : 1;
|
||||||
|
var sel = miniList.SelectedItems[0].ImageKey;
|
||||||
|
int code = Convert.ToInt32(sel);
|
||||||
|
int findex;
|
||||||
|
|
||||||
|
while (miniList.Items.ContainsKey((code + step).ToString().PadLeft(3, '0'))) {
|
||||||
|
code += step;
|
||||||
|
findex = frames.FindIndex(x => x.code == code);
|
||||||
|
frames.RemoveAt(findex);
|
||||||
|
miniList.Items.RemoveByKey(code.ToString().PadLeft(3, '0'));
|
||||||
|
}
|
||||||
|
//dotPanel.Refresh();
|
||||||
|
miniList.Refresh();
|
||||||
|
prjModified = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void removeBeforeToolStripMenuItem_Click(object sender, EventArgs e) {
|
||||||
|
removeBA(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void removeAfterToolStripMenuItem_Click(object sender, EventArgs e) {
|
||||||
|
removeBA(false);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -117,6 +117,9 @@
|
|||||||
<resheader name="writer">
|
<resheader name="writer">
|
||||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.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>
|
</resheader>
|
||||||
|
<metadata name="toolTip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||||
|
<value>436, 17</value>
|
||||||
|
</metadata>
|
||||||
<metadata name="ilMiniatures.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
<metadata name="ilMiniatures.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||||
<value>17, 17</value>
|
<value>17, 17</value>
|
||||||
</metadata>
|
</metadata>
|
||||||
|
|||||||
+15
-172
@@ -1,17 +1,7 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<Project Sdk="Microsoft.NET.Sdk">
|
||||||
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
|
||||||
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
|
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
<TargetFramework>net9.0-windows</TargetFramework>
|
||||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
|
||||||
<ProjectGuid>{7C01529E-4414-405F-9B57-19FA4AF8ED60}</ProjectGuid>
|
|
||||||
<OutputType>WinExe</OutputType>
|
<OutputType>WinExe</OutputType>
|
||||||
<RootNamespace>McBitFont</RootNamespace>
|
|
||||||
<AssemblyName>McBitFont</AssemblyName>
|
|
||||||
<TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
|
|
||||||
<FileAlignment>512</FileAlignment>
|
|
||||||
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
|
|
||||||
<Deterministic>true</Deterministic>
|
|
||||||
<PublishUrl>publish\</PublishUrl>
|
<PublishUrl>publish\</PublishUrl>
|
||||||
<Install>true</Install>
|
<Install>true</Install>
|
||||||
<InstallFrom>Disk</InstallFrom>
|
<InstallFrom>Disk</InstallFrom>
|
||||||
@@ -27,170 +17,24 @@
|
|||||||
<IsWebBootstrapper>false</IsWebBootstrapper>
|
<IsWebBootstrapper>false</IsWebBootstrapper>
|
||||||
<UseApplicationTrust>false</UseApplicationTrust>
|
<UseApplicationTrust>false</UseApplicationTrust>
|
||||||
<BootstrapperEnabled>true</BootstrapperEnabled>
|
<BootstrapperEnabled>true</BootstrapperEnabled>
|
||||||
</PropertyGroup>
|
<UseWindowsForms>true</UseWindowsForms>
|
||||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
<ImportWindowsDesktopTargets>true</ImportWindowsDesktopTargets>
|
||||||
<PlatformTarget>AnyCPU</PlatformTarget>
|
|
||||||
<DebugSymbols>true</DebugSymbols>
|
|
||||||
<DebugType>full</DebugType>
|
|
||||||
<Optimize>false</Optimize>
|
|
||||||
<OutputPath>bin\Debug\</OutputPath>
|
|
||||||
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
|
||||||
<ErrorReport>prompt</ErrorReport>
|
|
||||||
<WarningLevel>4</WarningLevel>
|
|
||||||
</PropertyGroup>
|
|
||||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
|
||||||
<PlatformTarget>AnyCPU</PlatformTarget>
|
|
||||||
<DebugType>pdbonly</DebugType>
|
|
||||||
<Optimize>true</Optimize>
|
|
||||||
<OutputPath>bin\Release\</OutputPath>
|
|
||||||
<DefineConstants>TRACE</DefineConstants>
|
|
||||||
<ErrorReport>prompt</ErrorReport>
|
|
||||||
<WarningLevel>4</WarningLevel>
|
|
||||||
</PropertyGroup>
|
|
||||||
<PropertyGroup>
|
|
||||||
<ApplicationIcon>icon_64.ico</ApplicationIcon>
|
<ApplicationIcon>icon_64.ico</ApplicationIcon>
|
||||||
|
<AssemblyVersion>2.0.0.0</AssemblyVersion>
|
||||||
|
<FileVersion>2.0.0.0</FileVersion>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<ItemGroup>
|
|
||||||
<Reference Include="System" />
|
|
||||||
<Reference Include="System.Core" />
|
|
||||||
<Reference Include="System.Xml.Linq" />
|
|
||||||
<Reference Include="System.Data.DataSetExtensions" />
|
|
||||||
<Reference Include="Microsoft.CSharp" />
|
|
||||||
<Reference Include="System.Data" />
|
|
||||||
<Reference Include="System.Deployment" />
|
|
||||||
<Reference Include="System.Drawing" />
|
|
||||||
<Reference Include="System.Net.Http" />
|
|
||||||
<Reference Include="System.Windows.Forms" />
|
|
||||||
<Reference Include="System.Xml" />
|
|
||||||
</ItemGroup>
|
|
||||||
<ItemGroup>
|
|
||||||
<Compile Include="About.cs">
|
|
||||||
<SubType>Form</SubType>
|
|
||||||
</Compile>
|
|
||||||
<Compile Include="About.Designer.cs">
|
|
||||||
<DependentUpon>About.cs</DependentUpon>
|
|
||||||
</Compile>
|
|
||||||
<Compile Include="Export.cs">
|
|
||||||
<SubType>Form</SubType>
|
|
||||||
</Compile>
|
|
||||||
<Compile Include="Export.Designer.cs">
|
|
||||||
<DependentUpon>Export.cs</DependentUpon>
|
|
||||||
</Compile>
|
|
||||||
<Compile Include="Form1.cs">
|
|
||||||
<SubType>Form</SubType>
|
|
||||||
</Compile>
|
|
||||||
<Compile Include="Form1.Designer.cs">
|
|
||||||
<DependentUpon>Form1.cs</DependentUpon>
|
|
||||||
</Compile>
|
|
||||||
<Compile Include="New.cs">
|
|
||||||
<SubType>Form</SubType>
|
|
||||||
</Compile>
|
|
||||||
<Compile Include="New.Designer.cs">
|
|
||||||
<DependentUpon>New.cs</DependentUpon>
|
|
||||||
</Compile>
|
|
||||||
<Compile Include="Program.cs" />
|
|
||||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
|
||||||
<EmbeddedResource Include="About.resx">
|
|
||||||
<DependentUpon>About.cs</DependentUpon>
|
|
||||||
</EmbeddedResource>
|
|
||||||
<EmbeddedResource Include="Export.resx">
|
|
||||||
<DependentUpon>Export.cs</DependentUpon>
|
|
||||||
</EmbeddedResource>
|
|
||||||
<EmbeddedResource Include="Form1.resx">
|
|
||||||
<DependentUpon>Form1.cs</DependentUpon>
|
|
||||||
</EmbeddedResource>
|
|
||||||
<EmbeddedResource Include="New.resx">
|
|
||||||
<DependentUpon>New.cs</DependentUpon>
|
|
||||||
</EmbeddedResource>
|
|
||||||
<EmbeddedResource Include="Properties\Resources.resx">
|
|
||||||
<Generator>ResXFileCodeGenerator</Generator>
|
|
||||||
<LastGenOutput>Resources.Designer.cs</LastGenOutput>
|
|
||||||
<SubType>Designer</SubType>
|
|
||||||
</EmbeddedResource>
|
|
||||||
<Compile Include="Properties\Resources.Designer.cs">
|
|
||||||
<AutoGen>True</AutoGen>
|
|
||||||
<DependentUpon>Resources.resx</DependentUpon>
|
|
||||||
<DesignTime>True</DesignTime>
|
|
||||||
</Compile>
|
|
||||||
<None Include="Properties\Settings.settings">
|
|
||||||
<Generator>SettingsSingleFileGenerator</Generator>
|
|
||||||
<LastGenOutput>Settings.Designer.cs</LastGenOutput>
|
|
||||||
</None>
|
|
||||||
<Compile Include="Properties\Settings.Designer.cs">
|
|
||||||
<AutoGen>True</AutoGen>
|
|
||||||
<DependentUpon>Settings.settings</DependentUpon>
|
|
||||||
<DesignTimeSharedInput>True</DesignTimeSharedInput>
|
|
||||||
</Compile>
|
|
||||||
</ItemGroup>
|
|
||||||
<ItemGroup>
|
|
||||||
<None Include="App.config" />
|
|
||||||
</ItemGroup>
|
|
||||||
<ItemGroup>
|
|
||||||
<None Include="Resources\action_add.png" />
|
|
||||||
</ItemGroup>
|
|
||||||
<ItemGroup>
|
|
||||||
<None Include="Resources\action_remove.png" />
|
|
||||||
</ItemGroup>
|
|
||||||
<ItemGroup>
|
|
||||||
<None Include="Resources\arrow_back.png" />
|
|
||||||
</ItemGroup>
|
|
||||||
<ItemGroup>
|
|
||||||
<None Include="Resources\arrow_down.png" />
|
|
||||||
</ItemGroup>
|
|
||||||
<ItemGroup>
|
|
||||||
<None Include="Resources\arrow_next.png" />
|
|
||||||
</ItemGroup>
|
|
||||||
<ItemGroup>
|
|
||||||
<None Include="Resources\arrow_top.png" />
|
|
||||||
</ItemGroup>
|
|
||||||
<ItemGroup>
|
|
||||||
<None Include="Resources\file.png" />
|
|
||||||
</ItemGroup>
|
|
||||||
<ItemGroup>
|
|
||||||
<None Include="Resources\folder_open.png" />
|
|
||||||
</ItemGroup>
|
|
||||||
<ItemGroup>
|
|
||||||
<None Include="Resources\save.png" />
|
|
||||||
</ItemGroup>
|
|
||||||
<ItemGroup>
|
|
||||||
<None Include="Resources\action_check.png" />
|
|
||||||
</ItemGroup>
|
|
||||||
<ItemGroup>
|
|
||||||
<None Include="Resources\Famfamfam-Silk-Shape-flip-vertical.16.png" />
|
|
||||||
</ItemGroup>
|
|
||||||
<ItemGroup>
|
|
||||||
<None Include="Resources\Famfamfam-Silk-Shape-flip-horizontal.16.png" />
|
|
||||||
</ItemGroup>
|
|
||||||
<ItemGroup>
|
|
||||||
<None Include="Resources\Famfamfam-Silk-Page-paste.16.png" />
|
|
||||||
</ItemGroup>
|
|
||||||
<ItemGroup>
|
|
||||||
<None Include="Resources\Famfamfam-Silk-Page-copy.16.png" />
|
|
||||||
</ItemGroup>
|
|
||||||
<ItemGroup>
|
|
||||||
<None Include="Resources\Famfamfam-Silk-Door-out.16.png" />
|
|
||||||
</ItemGroup>
|
|
||||||
<ItemGroup>
|
|
||||||
<None Include="Resources\Famfamfam-Silk-Disk.16.png" />
|
|
||||||
</ItemGroup>
|
|
||||||
<ItemGroup>
|
|
||||||
<None Include="Resources\Famfamfam-Silk-Page-white.16.png" />
|
|
||||||
</ItemGroup>
|
|
||||||
<ItemGroup>
|
|
||||||
<None Include="Resources\Famfamfam-Silk-Folder-page.16.png" />
|
|
||||||
</ItemGroup>
|
|
||||||
<ItemGroup>
|
|
||||||
<None Include="Resources\Famfamfam-Silk-Folder.16.png" />
|
|
||||||
</ItemGroup>
|
|
||||||
<ItemGroup>
|
|
||||||
<None Include="Resources\Ionic-Ionicons-Invert-mode-outline.16.png" />
|
|
||||||
</ItemGroup>
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Content Include="icon.ico" />
|
<Content Include="icon.ico" />
|
||||||
<Content Include="icon_64.ico" />
|
<Content Include="icon_64.ico" />
|
||||||
<None Include="Resources\icon_64.png" />
|
<PackageReference Include="MessagePack" Version="3.1.3" />
|
||||||
<None Include="Resources\icon_32.png" />
|
<PackageReference Include="MessagePack.Annotations" Version="3.1.3" />
|
||||||
<None Include="Resources\icon.png" />
|
<PackageReference Include="MessagePackAnalyzer" Version="3.1.3" />
|
||||||
|
<PackageReference Include="Microsoft.Bcl.AsyncInterfaces" Version="9.0.5" />
|
||||||
|
<PackageReference Include="Microsoft.CSharp" Version="4.7.0" />
|
||||||
|
<PackageReference Include="Microsoft.NET.StringTools" Version="17.11.4" />
|
||||||
|
<PackageReference Include="System.Collections.Immutable" Version="9.0.5" />
|
||||||
|
<PackageReference Include="System.Runtime.CompilerServices.Unsafe" Version="6.1.2" />
|
||||||
|
<PackageReference Include="System.Text.Encoding.CodePages" Version="9.0.5" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<BootstrapperPackage Include=".NETFramework,Version=v4.7.2">
|
<BootstrapperPackage Include=".NETFramework,Version=v4.7.2">
|
||||||
@@ -204,5 +48,4 @@
|
|||||||
<Install>false</Install>
|
<Install>false</Install>
|
||||||
</BootstrapperPackage>
|
</BootstrapperPackage>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
|
||||||
</Project>
|
</Project>
|
||||||
Generated
+43
-27
@@ -50,10 +50,11 @@
|
|||||||
this.lblShiftX = new System.Windows.Forms.Label();
|
this.lblShiftX = new System.Windows.Forms.Label();
|
||||||
this.lblShiftY = new System.Windows.Forms.Label();
|
this.lblShiftY = new System.Windows.Forms.Label();
|
||||||
this.pnlFont = new System.Windows.Forms.Panel();
|
this.pnlFont = new System.Windows.Forms.Panel();
|
||||||
|
this.label4 = new System.Windows.Forms.Label();
|
||||||
|
this.label3 = new System.Windows.Forms.Label();
|
||||||
this.nudChar2 = new System.Windows.Forms.NumericUpDown();
|
this.nudChar2 = new System.Windows.Forms.NumericUpDown();
|
||||||
this.nudChar1 = new System.Windows.Forms.NumericUpDown();
|
this.nudChar1 = new System.Windows.Forms.NumericUpDown();
|
||||||
this.label3 = new System.Windows.Forms.Label();
|
this.cbDigits = new System.Windows.Forms.CheckBox();
|
||||||
this.label4 = new System.Windows.Forms.Label();
|
|
||||||
((System.ComponentModel.ISupportInitialize)(this.nudNewX)).BeginInit();
|
((System.ComponentModel.ISupportInitialize)(this.nudNewX)).BeginInit();
|
||||||
((System.ComponentModel.ISupportInitialize)(this.nudNewY)).BeginInit();
|
((System.ComponentModel.ISupportInitialize)(this.nudNewY)).BeginInit();
|
||||||
this.panel1.SuspendLayout();
|
this.panel1.SuspendLayout();
|
||||||
@@ -159,35 +160,37 @@
|
|||||||
// cbNotPrintable
|
// cbNotPrintable
|
||||||
//
|
//
|
||||||
this.cbNotPrintable.AutoSize = true;
|
this.cbNotPrintable.AutoSize = true;
|
||||||
this.cbNotPrintable.Location = new System.Drawing.Point(140, 54);
|
this.cbNotPrintable.Location = new System.Drawing.Point(140, 77);
|
||||||
this.cbNotPrintable.Name = "cbNotPrintable";
|
this.cbNotPrintable.Name = "cbNotPrintable";
|
||||||
this.cbNotPrintable.Size = new System.Drawing.Size(116, 17);
|
this.cbNotPrintable.Size = new System.Drawing.Size(116, 17);
|
||||||
this.cbNotPrintable.TabIndex = 7;
|
this.cbNotPrintable.TabIndex = 7;
|
||||||
this.cbNotPrintable.Text = "0-31 (Not printable)";
|
this.cbNotPrintable.Text = "0-31 (Not printable)";
|
||||||
this.cbNotPrintable.UseVisualStyleBackColor = true;
|
this.cbNotPrintable.UseVisualStyleBackColor = true;
|
||||||
|
this.cbNotPrintable.CheckedChanged += new System.EventHandler(this.checkboxChanged);
|
||||||
//
|
//
|
||||||
// cbLatin
|
// cbLatin
|
||||||
//
|
//
|
||||||
this.cbLatin.AutoSize = true;
|
this.cbLatin.AutoSize = true;
|
||||||
this.cbLatin.Checked = true;
|
this.cbLatin.Checked = true;
|
||||||
this.cbLatin.CheckState = System.Windows.Forms.CheckState.Checked;
|
this.cbLatin.CheckState = System.Windows.Forms.CheckState.Checked;
|
||||||
this.cbLatin.Location = new System.Drawing.Point(140, 77);
|
this.cbLatin.Location = new System.Drawing.Point(140, 100);
|
||||||
this.cbLatin.Name = "cbLatin";
|
this.cbLatin.Name = "cbLatin";
|
||||||
this.cbLatin.Size = new System.Drawing.Size(91, 17);
|
this.cbLatin.Size = new System.Drawing.Size(91, 17);
|
||||||
this.cbLatin.TabIndex = 8;
|
this.cbLatin.TabIndex = 8;
|
||||||
this.cbLatin.Text = "32-127 (Latin)";
|
this.cbLatin.Text = "32-127 (Latin)";
|
||||||
this.cbLatin.UseVisualStyleBackColor = true;
|
this.cbLatin.UseVisualStyleBackColor = true;
|
||||||
|
this.cbLatin.CheckedChanged += new System.EventHandler(this.checkboxChanged);
|
||||||
//
|
//
|
||||||
// cbExtended
|
// cbExtended
|
||||||
//
|
//
|
||||||
this.cbExtended.AutoSize = true;
|
this.cbExtended.AutoSize = true;
|
||||||
this.cbExtended.Location = new System.Drawing.Point(140, 100);
|
this.cbExtended.Location = new System.Drawing.Point(140, 123);
|
||||||
this.cbExtended.Name = "cbExtended";
|
this.cbExtended.Name = "cbExtended";
|
||||||
this.cbExtended.Size = new System.Drawing.Size(119, 17);
|
this.cbExtended.Size = new System.Drawing.Size(119, 17);
|
||||||
this.cbExtended.TabIndex = 9;
|
this.cbExtended.TabIndex = 9;
|
||||||
this.cbExtended.Text = "128-255 (Extended)";
|
this.cbExtended.Text = "128-255 (Extended)";
|
||||||
this.cbExtended.UseVisualStyleBackColor = true;
|
this.cbExtended.UseVisualStyleBackColor = true;
|
||||||
this.cbExtended.CheckedChanged += new System.EventHandler(this.cbExtended_CheckedChanged);
|
this.cbExtended.CheckedChanged += new System.EventHandler(this.checkboxChanged);
|
||||||
//
|
//
|
||||||
// btnOK
|
// btnOK
|
||||||
//
|
//
|
||||||
@@ -221,7 +224,7 @@
|
|||||||
this.cbSingle.TabIndex = 12;
|
this.cbSingle.TabIndex = 12;
|
||||||
this.cbSingle.Text = "Single frame";
|
this.cbSingle.Text = "Single frame";
|
||||||
this.cbSingle.UseVisualStyleBackColor = true;
|
this.cbSingle.UseVisualStyleBackColor = true;
|
||||||
this.cbSingle.CheckedChanged += new System.EventHandler(this.cbSingle_CheckedChanged);
|
this.cbSingle.CheckedChanged += new System.EventHandler(this.checkboxChanged);
|
||||||
//
|
//
|
||||||
// toolTip1
|
// toolTip1
|
||||||
//
|
//
|
||||||
@@ -235,7 +238,7 @@
|
|||||||
this.cbEncoding.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
|
this.cbEncoding.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
|
||||||
this.cbEncoding.Enabled = false;
|
this.cbEncoding.Enabled = false;
|
||||||
this.cbEncoding.FormattingEnabled = true;
|
this.cbEncoding.FormattingEnabled = true;
|
||||||
this.cbEncoding.Location = new System.Drawing.Point(140, 123);
|
this.cbEncoding.Location = new System.Drawing.Point(140, 146);
|
||||||
this.cbEncoding.Name = "cbEncoding";
|
this.cbEncoding.Name = "cbEncoding";
|
||||||
this.cbEncoding.Size = new System.Drawing.Size(121, 21);
|
this.cbEncoding.Size = new System.Drawing.Size(121, 21);
|
||||||
this.cbEncoding.TabIndex = 13;
|
this.cbEncoding.TabIndex = 13;
|
||||||
@@ -294,7 +297,7 @@
|
|||||||
this.cbFontBased.TabIndex = 16;
|
this.cbFontBased.TabIndex = 16;
|
||||||
this.cbFontBased.Text = "Based on a font";
|
this.cbFontBased.Text = "Based on a font";
|
||||||
this.cbFontBased.UseVisualStyleBackColor = true;
|
this.cbFontBased.UseVisualStyleBackColor = true;
|
||||||
this.cbFontBased.CheckedChanged += new System.EventHandler(this.cbFontBased_CheckedChanged);
|
this.cbFontBased.CheckedChanged += new System.EventHandler(this.checkboxChanged);
|
||||||
//
|
//
|
||||||
// lblFont
|
// lblFont
|
||||||
//
|
//
|
||||||
@@ -371,6 +374,26 @@
|
|||||||
this.pnlFont.TabIndex = 22;
|
this.pnlFont.TabIndex = 22;
|
||||||
this.pnlFont.Visible = false;
|
this.pnlFont.Visible = false;
|
||||||
//
|
//
|
||||||
|
// label4
|
||||||
|
//
|
||||||
|
this.label4.AutoSize = true;
|
||||||
|
this.label4.Location = new System.Drawing.Point(112, 152);
|
||||||
|
this.label4.Name = "label4";
|
||||||
|
this.label4.Size = new System.Drawing.Size(45, 13);
|
||||||
|
this.label4.TabIndex = 25;
|
||||||
|
this.label4.Text = "Sample:";
|
||||||
|
this.label4.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
|
||||||
|
//
|
||||||
|
// label3
|
||||||
|
//
|
||||||
|
this.label3.AutoSize = true;
|
||||||
|
this.label3.Location = new System.Drawing.Point(14, 152);
|
||||||
|
this.label3.Name = "label3";
|
||||||
|
this.label3.Size = new System.Drawing.Size(45, 13);
|
||||||
|
this.label3.TabIndex = 24;
|
||||||
|
this.label3.Text = "Sample:";
|
||||||
|
this.label3.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
|
||||||
|
//
|
||||||
// nudChar2
|
// nudChar2
|
||||||
//
|
//
|
||||||
this.nudChar2.Location = new System.Drawing.Point(161, 149);
|
this.nudChar2.Location = new System.Drawing.Point(161, 149);
|
||||||
@@ -407,25 +430,16 @@
|
|||||||
0});
|
0});
|
||||||
this.nudChar1.ValueChanged += new System.EventHandler(this.nudNewX_ValueChanged);
|
this.nudChar1.ValueChanged += new System.EventHandler(this.nudNewX_ValueChanged);
|
||||||
//
|
//
|
||||||
// label3
|
// cbDigits
|
||||||
//
|
//
|
||||||
this.label3.AutoSize = true;
|
this.cbDigits.AutoSize = true;
|
||||||
this.label3.Location = new System.Drawing.Point(14, 152);
|
this.cbDigits.Location = new System.Drawing.Point(140, 54);
|
||||||
this.label3.Name = "label3";
|
this.cbDigits.Name = "cbDigits";
|
||||||
this.label3.Size = new System.Drawing.Size(45, 13);
|
this.cbDigits.Size = new System.Drawing.Size(74, 17);
|
||||||
this.label3.TabIndex = 24;
|
this.cbDigits.TabIndex = 23;
|
||||||
this.label3.Text = "Sample:";
|
this.cbDigits.Text = "Digits only";
|
||||||
this.label3.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
|
this.cbDigits.UseVisualStyleBackColor = true;
|
||||||
//
|
this.cbDigits.CheckedChanged += new System.EventHandler(this.checkboxChanged);
|
||||||
// label4
|
|
||||||
//
|
|
||||||
this.label4.AutoSize = true;
|
|
||||||
this.label4.Location = new System.Drawing.Point(112, 152);
|
|
||||||
this.label4.Name = "label4";
|
|
||||||
this.label4.Size = new System.Drawing.Size(45, 13);
|
|
||||||
this.label4.TabIndex = 25;
|
|
||||||
this.label4.Text = "Sample:";
|
|
||||||
this.label4.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
|
|
||||||
//
|
//
|
||||||
// New
|
// New
|
||||||
//
|
//
|
||||||
@@ -433,6 +447,7 @@
|
|||||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None;
|
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None;
|
||||||
this.CancelButton = this.btnCancel;
|
this.CancelButton = this.btnCancel;
|
||||||
this.ClientSize = new System.Drawing.Size(484, 211);
|
this.ClientSize = new System.Drawing.Size(484, 211);
|
||||||
|
this.Controls.Add(this.cbDigits);
|
||||||
this.Controls.Add(this.pnlFont);
|
this.Controls.Add(this.pnlFont);
|
||||||
this.Controls.Add(this.cbFontBased);
|
this.Controls.Add(this.cbFontBased);
|
||||||
this.Controls.Add(this.cbEncoding);
|
this.Controls.Add(this.cbEncoding);
|
||||||
@@ -506,5 +521,6 @@
|
|||||||
private System.Windows.Forms.Label label3;
|
private System.Windows.Forms.Label label3;
|
||||||
public System.Windows.Forms.NumericUpDown nudChar2;
|
public System.Windows.Forms.NumericUpDown nudChar2;
|
||||||
public System.Windows.Forms.NumericUpDown nudChar1;
|
public System.Windows.Forms.NumericUpDown nudChar1;
|
||||||
|
public System.Windows.Forms.CheckBox cbDigits;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
+24
-24
@@ -36,25 +36,13 @@ namespace McBitFont {
|
|||||||
this.Width = 300; this.Height = 250;
|
this.Width = 300; this.Height = 250;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void cbSingle_CheckedChanged(object sender, EventArgs e) {
|
|
||||||
bool c = !cbSingle.Checked;
|
|
||||||
bool f = cbFontBased.Checked;
|
|
||||||
cbNotPrintable.Enabled = c;
|
|
||||||
cbLatin.Enabled = c;
|
|
||||||
cbExtended.Enabled = c;
|
|
||||||
cbFontBased.Enabled = c;
|
|
||||||
rbMono.Enabled = c;
|
|
||||||
rbVar.Enabled = c;
|
|
||||||
pnlFont.Visible = c && f;
|
|
||||||
this.Width = c && f ? 500 : 300;
|
|
||||||
}
|
|
||||||
|
|
||||||
private void New_Load(object sender, EventArgs e) {
|
private void New_Load(object sender, EventArgs e) {
|
||||||
toolTip1.SetToolTip(nudNewX, "Frame Width;\nCharacter width;\nDefault character width for Variable width fonts");
|
toolTip1.SetToolTip(nudNewX, "Frame Width;\nCharacter width;\nDefault character width for Variable width fonts");
|
||||||
toolTip1.SetToolTip(nudNewY, "Frame Height;\nCharacter height");
|
toolTip1.SetToolTip(nudNewY, "Frame Height;\nCharacter height");
|
||||||
toolTip1.SetToolTip(rbMono, "Monospaced font");
|
toolTip1.SetToolTip(rbMono, "Monospaced font");
|
||||||
toolTip1.SetToolTip(rbVar, "Variable width font");
|
toolTip1.SetToolTip(rbVar, "Variable width font");
|
||||||
toolTip1.SetToolTip(cbSingle, "Create one single frame");
|
toolTip1.SetToolTip(cbSingle, "Create one single frame");
|
||||||
|
toolTip1.SetToolTip(cbDigits, "Only digits characters with codes 48 - 57");
|
||||||
toolTip1.SetToolTip(cbNotPrintable, "Add not printable characters with codes 0 - 31");
|
toolTip1.SetToolTip(cbNotPrintable, "Add not printable characters with codes 0 - 31");
|
||||||
toolTip1.SetToolTip(cbLatin, "Add Latin characters with codes 32 - 127");
|
toolTip1.SetToolTip(cbLatin, "Add Latin characters with codes 32 - 127");
|
||||||
toolTip1.SetToolTip(cbExtended, "Add Extended characters with codes 128 - 255");
|
toolTip1.SetToolTip(cbExtended, "Add Extended characters with codes 128 - 255");
|
||||||
@@ -157,17 +145,6 @@ namespace McBitFont {
|
|||||||
nud.Select(0, nud.Text.Length);
|
nud.Select(0, nud.Text.Length);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void cbExtended_CheckedChanged(object sender, EventArgs e) {
|
|
||||||
cbEncoding.Enabled = cbExtended.Checked;
|
|
||||||
}
|
|
||||||
|
|
||||||
private void cbFontBased_CheckedChanged(object sender, EventArgs e) {
|
|
||||||
bool c = !cbSingle.Checked;
|
|
||||||
bool f = cbFontBased.Checked;
|
|
||||||
pnlFont.Visible = c && f;
|
|
||||||
this.Width = c && f ? 500 : 300;
|
|
||||||
}
|
|
||||||
|
|
||||||
private void btnFont_Click(object sender, EventArgs e) {
|
private void btnFont_Click(object sender, EventArgs e) {
|
||||||
if (dlgFont.ShowDialog() == DialogResult.OK) {
|
if (dlgFont.ShowDialog() == DialogResult.OK) {
|
||||||
lblFont.Text = dlgFont.Font.Name + " " + dlgFont.Font.Size.ToString();
|
lblFont.Text = dlgFont.Font.Name + " " + dlgFont.Font.Size.ToString();
|
||||||
@@ -178,5 +155,28 @@ namespace McBitFont {
|
|||||||
private void nudNewX_ValueChanged(object sender, EventArgs e) {
|
private void nudNewX_ValueChanged(object sender, EventArgs e) {
|
||||||
updateChars();
|
updateChars();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void checkboxChanged(object sender, EventArgs e) {
|
||||||
|
if (!(sender as CheckBox).Focused) return;
|
||||||
|
|
||||||
|
bool c = !cbSingle.Checked;
|
||||||
|
bool d = !cbDigits.Checked;
|
||||||
|
bool p = cbNotPrintable.Checked;
|
||||||
|
bool x = cbExtended.Checked;
|
||||||
|
bool f = cbFontBased.Checked;
|
||||||
|
|
||||||
|
cbDigits.Enabled = c;
|
||||||
|
cbNotPrintable.Enabled = c && d;
|
||||||
|
cbLatin.Enabled = c && d;
|
||||||
|
cbExtended.Enabled = c && d;
|
||||||
|
cbFontBased.Enabled = c;
|
||||||
|
cbEncoding.Enabled = c && d && x;
|
||||||
|
rbMono.Enabled = c;
|
||||||
|
rbVar.Enabled = c;
|
||||||
|
pnlFont.Visible = c && f;
|
||||||
|
if (p && x) cbLatin.Checked = true;
|
||||||
|
this.Width = c && f ? 500 : 300;
|
||||||
|
btnOK.Enabled = !c || !d || x || p || cbLatin.Checked;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,36 +0,0 @@
|
|||||||
using System.Reflection;
|
|
||||||
using System.Runtime.CompilerServices;
|
|
||||||
using System.Runtime.InteropServices;
|
|
||||||
|
|
||||||
// Общие сведения об этой сборке предоставляются следующим набором
|
|
||||||
// набора атрибутов. Измените значения этих атрибутов для изменения сведений,
|
|
||||||
// связанных со сборкой.
|
|
||||||
[assembly: AssemblyTitle("McBitFont")]
|
|
||||||
[assembly: AssemblyDescription("McFLY's Bit Font and Image Editor")]
|
|
||||||
[assembly: AssemblyConfiguration("")]
|
|
||||||
[assembly: AssemblyCompany("")]
|
|
||||||
[assembly: AssemblyProduct("McBitFont")]
|
|
||||||
[assembly: AssemblyCopyright("© Anton Mukhin, 2023")]
|
|
||||||
[assembly: AssemblyTrademark("")]
|
|
||||||
[assembly: AssemblyCulture("")]
|
|
||||||
|
|
||||||
// Установка значения False для параметра ComVisible делает типы в этой сборке невидимыми
|
|
||||||
// для компонентов COM. Если необходимо обратиться к типу в этой сборке через
|
|
||||||
// COM, следует установить атрибут ComVisible в TRUE для этого типа.
|
|
||||||
[assembly: ComVisible(false)]
|
|
||||||
|
|
||||||
// Следующий GUID служит для идентификации библиотеки типов, если этот проект будет видимым для COM
|
|
||||||
[assembly: Guid("7c01529e-4414-405f-9b57-19fa4af8ed60")]
|
|
||||||
|
|
||||||
// Сведения о версии сборки состоят из указанных ниже четырех значений:
|
|
||||||
//
|
|
||||||
// Основной номер версии
|
|
||||||
// Дополнительный номер версии
|
|
||||||
// Номер сборки
|
|
||||||
// Редакция
|
|
||||||
//
|
|
||||||
// Можно задать все значения или принять номера сборки и редакции по умолчанию
|
|
||||||
// используя "*", как показано ниже:
|
|
||||||
// [assembly: AssemblyVersion("1.0.*")]
|
|
||||||
[assembly: AssemblyVersion("1.3.0.0")]
|
|
||||||
[assembly: AssemblyFileVersion("1.3.0.0")]
|
|
||||||
@@ -15,9 +15,8 @@ Some basic hints on the interface:
|
|||||||
- Mouse 2 to mark a puxel white
|
- Mouse 2 to mark a puxel white
|
||||||
- Drag the mouse holding a button to draw pixels
|
- Drag the mouse holding a button to draw pixels
|
||||||
- Mouse Scroll to scroll up and down
|
- Mouse Scroll to scroll up and down
|
||||||
- Crtl + scroll to scroll left and right
|
- Crtl + scroll to zoom
|
||||||
- Shift + scroll to zoom
|
- Shift + scroll to scroll left and right
|
||||||
|
|
||||||
|
|
||||||
Download in the Releases section!
|
Download in the Releases section!
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,16 @@
|
|||||||
|
Application:
|
||||||
|
V Migrate from .Net Framework 4.7 to .NET 9
|
||||||
|
|
||||||
|
Functionality:
|
||||||
|
- Context menu in symbol navigator
|
||||||
|
V Delete symbols before/after selected
|
||||||
|
- Shift all symbols on code line (change symbol codes)
|
||||||
|
- Specify starting code (extends the shift)
|
||||||
|
- Ability to make monospaced font a variable width one
|
||||||
|
- Undo/Redo
|
||||||
|
- Image import from a file
|
||||||
|
- Import from a text array
|
||||||
|
- Rectangle selection to mass-paint, shift and mirror pixels
|
||||||
|
- "Packed" fonts export
|
||||||
|
|
||||||
|
Bugs:
|
||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Reference in New Issue
Block a user