From 8c08c9a8976ad187bd2ad0b56e8ff9a856cd8a84 Mon Sep 17 00:00:00 2001 From: Anton Mukhin Date: Thu, 22 May 2025 06:33:10 +0300 Subject: [PATCH] TODO features: Application: - Change Menu icons - Re-arranged menu items Functionality: - Shift all symbols on code line (change symbol codes) - Specify starting code (extends the shift) --- McBitFont/CodeShift.Designer.cs | 175 ++++++++++++++++++ McBitFont/CodeShift.cs | 99 ++++++++++ McBitFont/CodeShift.resx | 120 ++++++++++++ McBitFont/Form1.Designer.cs | 133 +++++++------ McBitFont/Form1.cs | 43 +++++ McBitFont/McBitFont.csproj | 6 + McBitFont/Properties/Resources.Designer.cs | 140 ++++++++++++++ McBitFont/Properties/Resources.resx | 42 +++++ McBitFont/Resources/add.png | Bin 0 -> 733 bytes McBitFont/Resources/arrow_left.png | Bin 0 -> 344 bytes McBitFont/Resources/arrow_redo.png | Bin 0 -> 625 bytes McBitFont/Resources/arrow_right.png | Bin 0 -> 332 bytes McBitFont/Resources/arrow_undo.png | Bin 0 -> 631 bytes McBitFont/Resources/arrow_up.png | Bin 0 -> 372 bytes McBitFont/Resources/asterisk_orange.png | Bin 0 -> 760 bytes McBitFont/Resources/contrast.png | Bin 0 -> 381 bytes McBitFont/Resources/delete.png | Bin 0 -> 715 bytes McBitFont/Resources/package_go.png | Bin 0 -> 898 bytes McBitFont/Resources/shading.png | Bin 0 -> 225 bytes McBitFont/Resources/shape_align_center.png | Bin 0 -> 384 bytes McBitFont/Resources/tick.png | Bin 0 -> 537 bytes TODO.txt | 6 +- .../Famfamfam-Silk-Disk.16.png | Bin .../Famfamfam-Silk-Door-out.16.png | Bin .../Famfamfam-Silk-Folder-page.16.png | Bin .../Famfamfam-Silk-Folder.16.png | Bin .../Famfamfam-Silk-Page-copy.16.png | Bin .../Famfamfam-Silk-Page-paste.16.png | Bin .../Famfamfam-Silk-Page-white-copy.16.png | Bin .../Famfamfam-Silk-Page-white.16.png | Bin ...amfamfam-Silk-Shape-flip-horizontal.16.png | Bin .../Famfamfam-Silk-Shape-flip-vertical.16.png | Bin icons/famfamfam/add.png | Bin 0 -> 733 bytes icons/famfamfam/arrow_down.png | Bin 0 -> 379 bytes icons/famfamfam/arrow_left.png | Bin 0 -> 344 bytes icons/famfamfam/arrow_redo.png | Bin 0 -> 625 bytes icons/famfamfam/arrow_right.png | Bin 0 -> 332 bytes icons/famfamfam/arrow_undo.png | Bin 0 -> 631 bytes icons/famfamfam/arrow_up.png | Bin 0 -> 372 bytes icons/famfamfam/asterisk_orange.png | Bin 0 -> 760 bytes icons/famfamfam/contrast.png | Bin 0 -> 381 bytes icons/famfamfam/package_go.png | Bin 0 -> 898 bytes icons/famfamfam/shading.png | Bin 0 -> 225 bytes icons/famfamfam/shape_align_center.png | Bin 0 -> 384 bytes icons/famfamfam/tick.png | Bin 0 -> 537 bytes 45 files changed, 707 insertions(+), 57 deletions(-) create mode 100644 McBitFont/CodeShift.Designer.cs create mode 100644 McBitFont/CodeShift.cs create mode 100644 McBitFont/CodeShift.resx create mode 100644 McBitFont/Resources/add.png create mode 100644 McBitFont/Resources/arrow_left.png create mode 100644 McBitFont/Resources/arrow_redo.png create mode 100644 McBitFont/Resources/arrow_right.png create mode 100644 McBitFont/Resources/arrow_undo.png create mode 100644 McBitFont/Resources/arrow_up.png create mode 100644 McBitFont/Resources/asterisk_orange.png create mode 100644 McBitFont/Resources/contrast.png create mode 100644 McBitFont/Resources/delete.png create mode 100644 McBitFont/Resources/package_go.png create mode 100644 McBitFont/Resources/shading.png create mode 100644 McBitFont/Resources/shape_align_center.png create mode 100644 McBitFont/Resources/tick.png rename icons/{ => famfamfam}/Famfamfam-Silk-Disk.16.png (100%) rename icons/{ => famfamfam}/Famfamfam-Silk-Door-out.16.png (100%) rename icons/{ => famfamfam}/Famfamfam-Silk-Folder-page.16.png (100%) rename icons/{ => famfamfam}/Famfamfam-Silk-Folder.16.png (100%) rename icons/{ => famfamfam}/Famfamfam-Silk-Page-copy.16.png (100%) rename icons/{ => famfamfam}/Famfamfam-Silk-Page-paste.16.png (100%) rename icons/{ => famfamfam}/Famfamfam-Silk-Page-white-copy.16.png (100%) rename icons/{ => famfamfam}/Famfamfam-Silk-Page-white.16.png (100%) rename icons/{ => famfamfam}/Famfamfam-Silk-Shape-flip-horizontal.16.png (100%) rename icons/{ => famfamfam}/Famfamfam-Silk-Shape-flip-vertical.16.png (100%) create mode 100644 icons/famfamfam/add.png create mode 100644 icons/famfamfam/arrow_down.png create mode 100644 icons/famfamfam/arrow_left.png create mode 100644 icons/famfamfam/arrow_redo.png create mode 100644 icons/famfamfam/arrow_right.png create mode 100644 icons/famfamfam/arrow_undo.png create mode 100644 icons/famfamfam/arrow_up.png create mode 100644 icons/famfamfam/asterisk_orange.png create mode 100644 icons/famfamfam/contrast.png create mode 100644 icons/famfamfam/package_go.png create mode 100644 icons/famfamfam/shading.png create mode 100644 icons/famfamfam/shape_align_center.png create mode 100644 icons/famfamfam/tick.png diff --git a/McBitFont/CodeShift.Designer.cs b/McBitFont/CodeShift.Designer.cs new file mode 100644 index 0000000..7571850 --- /dev/null +++ b/McBitFont/CodeShift.Designer.cs @@ -0,0 +1,175 @@ +namespace McBitFont { + partial class CodeShift { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) { + if (disposing && (components != null)) { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() { + rbShiftLeft = new System.Windows.Forms.RadioButton(); + rbShiftRight = new System.Windows.Forms.RadioButton(); + rbSpecify = new System.Windows.Forms.RadioButton(); + lblValue = new System.Windows.Forms.Label(); + nudValue = new System.Windows.Forms.NumericUpDown(); + btnOK = new System.Windows.Forms.Button(); + btnCancel = new System.Windows.Forms.Button(); + lblMessage = new System.Windows.Forms.Label(); + lblRange = new System.Windows.Forms.Label(); + ((System.ComponentModel.ISupportInitialize)nudValue).BeginInit(); + SuspendLayout(); + // + // rbShiftLeft + // + rbShiftLeft.AutoSize = true; + rbShiftLeft.Location = new System.Drawing.Point(12, 12); + rbShiftLeft.Name = "rbShiftLeft"; + rbShiftLeft.Size = new System.Drawing.Size(134, 19); + rbShiftLeft.TabIndex = 0; + rbShiftLeft.Text = "Shift Left (towards 0)"; + rbShiftLeft.UseVisualStyleBackColor = true; + rbShiftLeft.CheckedChanged += ModeChanged; + // + // rbShiftRight + // + rbShiftRight.AutoSize = true; + rbShiftRight.Location = new System.Drawing.Point(12, 37); + rbShiftRight.Name = "rbShiftRight"; + rbShiftRight.Size = new System.Drawing.Size(154, 19); + rbShiftRight.TabIndex = 1; + rbShiftRight.Text = "Shift Right (towards 255)"; + rbShiftRight.UseVisualStyleBackColor = true; + rbShiftRight.CheckedChanged += ModeChanged; + // + // rbSpecify + // + rbSpecify.AutoSize = true; + rbSpecify.Location = new System.Drawing.Point(12, 62); + rbSpecify.Name = "rbSpecify"; + rbSpecify.Size = new System.Drawing.Size(118, 19); + rbSpecify.TabIndex = 2; + rbSpecify.Text = "Specify start code"; + rbSpecify.UseVisualStyleBackColor = true; + rbSpecify.CheckedChanged += ModeChanged; + // + // lblValue + // + lblValue.Anchor = System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right; + lblValue.AutoSize = true; + lblValue.Location = new System.Drawing.Point(206, 8); + lblValue.Name = "lblValue"; + lblValue.Size = new System.Drawing.Size(50, 15); + lblValue.TabIndex = 3; + lblValue.Text = "Shift by:"; + // + // nudValue + // + nudValue.Anchor = System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right; + nudValue.Location = new System.Drawing.Point(206, 27); + nudValue.Maximum = new decimal(new int[] { 254, 0, 0, 0 }); + nudValue.Minimum = new decimal(new int[] { 1, 0, 0, 0 }); + nudValue.Name = "nudValue"; + nudValue.Size = new System.Drawing.Size(50, 23); + nudValue.TabIndex = 5; + nudValue.Value = new decimal(new int[] { 1, 0, 0, 0 }); + nudValue.ValueChanged += nudValue_ValueChanged; + // + // btnOK + // + btnOK.Location = new System.Drawing.Point(24, 155); + btnOK.Name = "btnOK"; + btnOK.Size = new System.Drawing.Size(88, 27); + btnOK.TabIndex = 6; + btnOK.Text = "OK"; + btnOK.UseVisualStyleBackColor = true; + btnOK.Click += btnOK_Click; + // + // btnCancel + // + btnCancel.Location = new System.Drawing.Point(156, 155); + btnCancel.Name = "btnCancel"; + btnCancel.Size = new System.Drawing.Size(88, 27); + btnCancel.TabIndex = 7; + btnCancel.Text = "Cancel"; + btnCancel.UseVisualStyleBackColor = true; + btnCancel.Click += btnCancel_Click; + // + // lblMessage + // + lblMessage.Anchor = System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right; + lblMessage.Font = new System.Drawing.Font("Segoe UI Semibold", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, 204); + lblMessage.ForeColor = System.Drawing.Color.DarkRed; + lblMessage.Location = new System.Drawing.Point(0, 84); + lblMessage.Name = "lblMessage"; + lblMessage.Size = new System.Drawing.Size(268, 68); + lblMessage.TabIndex = 8; + lblMessage.Text = "Message"; + lblMessage.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + // + // lblRange + // + lblRange.Anchor = System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right; + lblRange.Location = new System.Drawing.Point(204, 53); + lblRange.Name = "lblRange"; + lblRange.Size = new System.Drawing.Size(62, 31); + lblRange.TabIndex = 9; + lblRange.Text = "min: 222\r\nmax: 222"; + // + // CodeShift + // + AcceptButton = btnOK; + AutoScaleDimensions = new System.Drawing.SizeF(7F, 15F); + AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + CancelButton = btnCancel; + ClientSize = new System.Drawing.Size(268, 191); + Controls.Add(lblRange); + Controls.Add(lblMessage); + Controls.Add(btnCancel); + Controls.Add(btnOK); + Controls.Add(nudValue); + Controls.Add(lblValue); + Controls.Add(rbSpecify); + Controls.Add(rbShiftRight); + Controls.Add(rbShiftLeft); + FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog; + MaximizeBox = false; + MinimizeBox = false; + Name = "CodeShift"; + ShowIcon = false; + ShowInTaskbar = false; + StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen; + Text = "Code Shift"; + Load += CodeShift_Load; + ((System.ComponentModel.ISupportInitialize)nudValue).EndInit(); + ResumeLayout(false); + PerformLayout(); + } + + #endregion + private System.Windows.Forms.Label lblValue; + private System.Windows.Forms.Button btnOK; + private System.Windows.Forms.Button btnCancel; + public System.Windows.Forms.RadioButton rbShiftLeft; + public System.Windows.Forms.RadioButton rbShiftRight; + public System.Windows.Forms.RadioButton rbSpecify; + public System.Windows.Forms.NumericUpDown nudValue; + private System.Windows.Forms.Label lblMessage; + private System.Windows.Forms.Label lblRange; + } +} \ No newline at end of file diff --git a/McBitFont/CodeShift.cs b/McBitFont/CodeShift.cs new file mode 100644 index 0000000..344ddf5 --- /dev/null +++ b/McBitFont/CodeShift.cs @@ -0,0 +1,99 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; + +namespace McBitFont { + public partial class CodeShift : Form { + + private int maxLeft, maxRight, maxSC, count; + public int sc; + + public CodeShift(MainForm parent) { + InitializeComponent(); + + count = parent.frames.Count; + sc = parent.frames.First().code; + maxLeft = sc; + maxRight = 255 - sc - count + 1; + maxSC = sc + maxRight; + } + + private void CodeShift_Load(object sender, EventArgs e) { + byte enabled = 7; + string msg = ""; + if (maxLeft < 1) { + rbShiftLeft.Enabled = false; + enabled -= 1; + msg += "Cannot shift left: Start code is " + sc.ToString() + "."; + } + if (maxRight < 1) { + rbShiftRight.Enabled = false; + enabled -= 2; + msg += "\nCannot shift right: Last code is " + (sc + count - 1).ToString() + "."; + } + if (maxSC <= 0) { + rbSpecify.Enabled = false; + enabled -= 4; + msg += "\nCannot shift: The font is full." + (sc + count - 1).ToString(); + } + lblMessage.Text = msg; + + if ((enabled & 1) > 0) rbShiftLeft.Checked = true; + else if ((enabled & 2) > 0) rbShiftRight.Checked = true; + else if ((enabled & 4) > 0) rbSpecify.Checked = true; + else { + btnOK.Enabled = false; + nudValue.Enabled = false; + } + + + //ModeChanged(rbShiftLeft, null); + //nudValue.Minimum = 1; + //nudValue.Maximum = maxLeft; + } + + private void ModeChanged(object sender, EventArgs e) { + if (rbSpecify.Checked) { + lblValue.Text = "New start code:"; + nudValue.Minimum = 0; + nudValue.Maximum = maxSC; + nudValue.Value = 0; + lblRange.Text = "min: 0\nmax: " + maxSC.ToString(); + } else { + lblValue.Text = "Shift by:"; + nudValue.Minimum = 1; + nudValue.Value = 1; + if (rbShiftLeft.Checked) { + nudValue.Maximum = maxLeft; + lblRange.Text = "min: 1\nmax: " + maxLeft.ToString(); + } + if (rbShiftRight.Checked) { + nudValue.Maximum = maxRight; + lblRange.Text = "min: 1\nmax: " + maxRight.ToString(); + } + } + + } + + private void nudValue_ValueChanged(object sender, EventArgs e) { + if (rbSpecify.Checked) { + if (nudValue.Value == sc) btnOK.Enabled = false; + else btnOK.Enabled = true; + } + } + + private void btnOK_Click(object sender, EventArgs e) { + DialogResult = DialogResult.OK; + } + + private void btnCancel_Click(object sender, EventArgs e) { + DialogResult = DialogResult.Cancel; + } + } +} diff --git a/McBitFont/CodeShift.resx b/McBitFont/CodeShift.resx new file mode 100644 index 0000000..8b2ff64 --- /dev/null +++ b/McBitFont/CodeShift.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/McBitFont/Form1.Designer.cs b/McBitFont/Form1.Designer.cs index d38543d..036397b 100644 --- a/McBitFont/Form1.Designer.cs +++ b/McBitFont/Form1.Designer.cs @@ -55,20 +55,21 @@ openToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); saveToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); saveAsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + exportToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); exitToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); editToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); undoToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); redoToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); copyToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); pasteToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + fontToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + makeVarWidthToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); prependSymbolToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); appendSymbolToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); removeSymbolToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); removeBeforeToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); removeAfterToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - applyToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - toolsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - makeVarWidthToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + canvasToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); ClearToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); shiftUpToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); shiftDownToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); @@ -77,7 +78,7 @@ invertToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); mirrorXToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); mirrorYToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - exportToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + applyToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); aboutToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); dlgSave = new System.Windows.Forms.SaveFileDialog(); dlgOpen = new System.Windows.Forms.OpenFileDialog(); @@ -85,6 +86,7 @@ toolTip1 = new System.Windows.Forms.ToolTip(components); chkLeftSide = new System.Windows.Forms.CheckBox(); chkTopSide = new System.Windows.Forms.CheckBox(); + CodeShiftToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); ((System.ComponentModel.ISupportInitialize)nudX).BeginInit(); ((System.ComponentModel.ISupportInitialize)nudY).BeginInit(); panel1.SuspendLayout(); @@ -399,7 +401,7 @@ // // menuStrip1 // - menuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { fileToolStripMenuItem, editToolStripMenuItem, toolsToolStripMenuItem, aboutToolStripMenuItem }); + menuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { fileToolStripMenuItem, editToolStripMenuItem, fontToolStripMenuItem, canvasToolStripMenuItem, aboutToolStripMenuItem }); menuStrip1.Location = new System.Drawing.Point(0, 0); menuStrip1.Name = "menuStrip1"; menuStrip1.Padding = new System.Windows.Forms.Padding(7, 2, 0, 2); @@ -409,7 +411,7 @@ // // fileToolStripMenuItem // - fileToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { newToolStripMenuItem, openToolStripMenuItem, saveToolStripMenuItem, saveAsToolStripMenuItem, exitToolStripMenuItem }); + fileToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { newToolStripMenuItem, openToolStripMenuItem, saveToolStripMenuItem, saveAsToolStripMenuItem, exportToolStripMenuItem, exitToolStripMenuItem }); fileToolStripMenuItem.Name = "fileToolStripMenuItem"; fileToolStripMenuItem.Size = new System.Drawing.Size(37, 20); fileToolStripMenuItem.Text = "File"; @@ -458,6 +460,17 @@ saveAsToolStripMenuItem.ToolTipText = "Save changes to another file"; saveAsToolStripMenuItem.Click += SaveToolStripMenuItem_Click; // + // exportToolStripMenuItem + // + exportToolStripMenuItem.Image = Properties.Resources.z_export; + exportToolStripMenuItem.Name = "exportToolStripMenuItem"; + exportToolStripMenuItem.ShortcutKeyDisplayString = ""; + exportToolStripMenuItem.ShortcutKeys = System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.E; + exportToolStripMenuItem.Size = new System.Drawing.Size(184, 22); + exportToolStripMenuItem.Text = "Export"; + exportToolStripMenuItem.ToolTipText = "Configure and export data"; + exportToolStripMenuItem.Click += button1_Click; + // // exitToolStripMenuItem // exitToolStripMenuItem.Image = Properties.Resources.Famfamfam_Silk_Door_out_16; @@ -471,7 +484,7 @@ // // editToolStripMenuItem // - editToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { undoToolStripMenuItem, redoToolStripMenuItem, copyToolStripMenuItem, pasteToolStripMenuItem, prependSymbolToolStripMenuItem, appendSymbolToolStripMenuItem, removeSymbolToolStripMenuItem, removeBeforeToolStripMenuItem, removeAfterToolStripMenuItem, applyToolStripMenuItem }); + editToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { undoToolStripMenuItem, redoToolStripMenuItem, copyToolStripMenuItem, pasteToolStripMenuItem }); editToolStripMenuItem.Name = "editToolStripMenuItem"; editToolStripMenuItem.Size = new System.Drawing.Size(39, 20); editToolStripMenuItem.Text = "Edit"; @@ -482,7 +495,7 @@ undoToolStripMenuItem.Image = Properties.Resources.arrow_undo; undoToolStripMenuItem.Name = "undoToolStripMenuItem"; undoToolStripMenuItem.ShortcutKeys = System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.Z; - undoToolStripMenuItem.Size = new System.Drawing.Size(215, 22); + undoToolStripMenuItem.Size = new System.Drawing.Size(144, 22); undoToolStripMenuItem.Text = "Undo"; undoToolStripMenuItem.ToolTipText = "Undo last canvas change"; undoToolStripMenuItem.Click += undoToolStripMenuItem_Click; @@ -492,7 +505,7 @@ redoToolStripMenuItem.Image = Properties.Resources.arrow_redo; redoToolStripMenuItem.Name = "redoToolStripMenuItem"; redoToolStripMenuItem.ShortcutKeys = System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.Y; - redoToolStripMenuItem.Size = new System.Drawing.Size(215, 22); + redoToolStripMenuItem.Size = new System.Drawing.Size(144, 22); redoToolStripMenuItem.Text = "Redo"; redoToolStripMenuItem.ToolTipText = "Redo canvas change"; redoToolStripMenuItem.Click += redoToolStripMenuItem_Click; @@ -504,7 +517,7 @@ copyToolStripMenuItem.Name = "copyToolStripMenuItem"; copyToolStripMenuItem.ShortcutKeyDisplayString = ""; copyToolStripMenuItem.ShortcutKeys = System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.C; - copyToolStripMenuItem.Size = new System.Drawing.Size(215, 22); + copyToolStripMenuItem.Size = new System.Drawing.Size(144, 22); copyToolStripMenuItem.Text = "Copy"; copyToolStripMenuItem.ToolTipText = "Copy current symbol to clipboard"; copyToolStripMenuItem.Click += copyToolStripMenuItem_Click; @@ -516,15 +529,32 @@ pasteToolStripMenuItem.Name = "pasteToolStripMenuItem"; pasteToolStripMenuItem.ShortcutKeyDisplayString = ""; pasteToolStripMenuItem.ShortcutKeys = System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.V; - pasteToolStripMenuItem.Size = new System.Drawing.Size(215, 22); + pasteToolStripMenuItem.Size = new System.Drawing.Size(144, 22); pasteToolStripMenuItem.Text = "Paste"; pasteToolStripMenuItem.ToolTipText = "Paste from clipboard to current symbol"; pasteToolStripMenuItem.Click += pasteToolStripMenuItem_Click; // + // fontToolStripMenuItem + // + fontToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { makeVarWidthToolStripMenuItem, prependSymbolToolStripMenuItem, appendSymbolToolStripMenuItem, removeSymbolToolStripMenuItem, removeBeforeToolStripMenuItem, removeAfterToolStripMenuItem, CodeShiftToolStripMenuItem }); + fontToolStripMenuItem.Name = "fontToolStripMenuItem"; + fontToolStripMenuItem.Size = new System.Drawing.Size(43, 20); + fontToolStripMenuItem.Text = "Font"; + // + // makeVarWidthToolStripMenuItem + // + makeVarWidthToolStripMenuItem.Image = Properties.Resources.z_asterisk; + makeVarWidthToolStripMenuItem.Name = "makeVarWidthToolStripMenuItem"; + makeVarWidthToolStripMenuItem.Size = new System.Drawing.Size(215, 22); + makeVarWidthToolStripMenuItem.Text = "Make Variable Width"; + makeVarWidthToolStripMenuItem.ToolTipText = "Make Font Variable width one"; + makeVarWidthToolStripMenuItem.Visible = false; + makeVarWidthToolStripMenuItem.Click += makeVarWidthToolStripMenuItem_Click; + // // prependSymbolToolStripMenuItem // prependSymbolToolStripMenuItem.Enabled = false; - prependSymbolToolStripMenuItem.Image = Properties.Resources.action_add; + prependSymbolToolStripMenuItem.Image = Properties.Resources.add; prependSymbolToolStripMenuItem.Name = "prependSymbolToolStripMenuItem"; prependSymbolToolStripMenuItem.ShortcutKeyDisplayString = "Ctrl+Ins"; prependSymbolToolStripMenuItem.ShortcutKeys = System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.Insert; @@ -536,7 +566,7 @@ // appendSymbolToolStripMenuItem // appendSymbolToolStripMenuItem.Enabled = false; - appendSymbolToolStripMenuItem.Image = Properties.Resources.action_add; + appendSymbolToolStripMenuItem.Image = Properties.Resources.add; appendSymbolToolStripMenuItem.Name = "appendSymbolToolStripMenuItem"; appendSymbolToolStripMenuItem.ShortcutKeyDisplayString = ""; appendSymbolToolStripMenuItem.ShortcutKeys = System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.End; @@ -548,7 +578,7 @@ // removeSymbolToolStripMenuItem // removeSymbolToolStripMenuItem.Enabled = false; - removeSymbolToolStripMenuItem.Image = Properties.Resources.action_remove; + removeSymbolToolStripMenuItem.Image = Properties.Resources.delete; removeSymbolToolStripMenuItem.Name = "removeSymbolToolStripMenuItem"; removeSymbolToolStripMenuItem.ShortcutKeyDisplayString = ""; removeSymbolToolStripMenuItem.ShortcutKeys = System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.Delete; @@ -560,7 +590,7 @@ // removeBeforeToolStripMenuItem // removeBeforeToolStripMenuItem.Enabled = false; - removeBeforeToolStripMenuItem.Image = Properties.Resources.action_remove; + removeBeforeToolStripMenuItem.Image = Properties.Resources.delete; removeBeforeToolStripMenuItem.Name = "removeBeforeToolStripMenuItem"; removeBeforeToolStripMenuItem.Size = new System.Drawing.Size(215, 22); removeBeforeToolStripMenuItem.Text = "Remove all before selected"; @@ -570,42 +600,23 @@ // removeAfterToolStripMenuItem // removeAfterToolStripMenuItem.Enabled = false; - removeAfterToolStripMenuItem.Image = Properties.Resources.action_remove; + removeAfterToolStripMenuItem.Image = Properties.Resources.delete; removeAfterToolStripMenuItem.Name = "removeAfterToolStripMenuItem"; removeAfterToolStripMenuItem.Size = new System.Drawing.Size(215, 22); removeAfterToolStripMenuItem.Text = "Remove all after selected"; removeAfterToolStripMenuItem.ToolTipText = "Remove all symbols after current one"; removeAfterToolStripMenuItem.Click += removeAfterToolStripMenuItem_Click; // - // applyToolStripMenuItem + // canvasToolStripMenuItem // - applyToolStripMenuItem.Image = Properties.Resources.action_check; - applyToolStripMenuItem.Name = "applyToolStripMenuItem"; - applyToolStripMenuItem.ShortcutKeyDisplayString = "Ctrl+Space"; - applyToolStripMenuItem.ShortcutKeys = System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.Space; - applyToolStripMenuItem.Size = new System.Drawing.Size(215, 22); - applyToolStripMenuItem.Text = "Apply"; - applyToolStripMenuItem.ToolTipText = "Apply canvas changes"; - applyToolStripMenuItem.Click += button2_Click; - // - // toolsToolStripMenuItem - // - toolsToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { makeVarWidthToolStripMenuItem, ClearToolStripMenuItem, shiftUpToolStripMenuItem, shiftDownToolStripMenuItem, shiftLeftToolStripMenuItem, shiftRightToolStripMenuItem, invertToolStripMenuItem, mirrorXToolStripMenuItem, mirrorYToolStripMenuItem, exportToolStripMenuItem }); - toolsToolStripMenuItem.Name = "toolsToolStripMenuItem"; - toolsToolStripMenuItem.Size = new System.Drawing.Size(47, 20); - toolsToolStripMenuItem.Text = "Tools"; - // - // makeVarWidthToolStripMenuItem - // - makeVarWidthToolStripMenuItem.Name = "makeVarWidthToolStripMenuItem"; - makeVarWidthToolStripMenuItem.Size = new System.Drawing.Size(197, 22); - makeVarWidthToolStripMenuItem.Text = "Make Variable Width"; - makeVarWidthToolStripMenuItem.ToolTipText = "Make Font Variable width one"; - makeVarWidthToolStripMenuItem.Visible = false; - makeVarWidthToolStripMenuItem.Click += makeVarWidthToolStripMenuItem_Click; + canvasToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { ClearToolStripMenuItem, shiftUpToolStripMenuItem, shiftDownToolStripMenuItem, shiftLeftToolStripMenuItem, shiftRightToolStripMenuItem, invertToolStripMenuItem, mirrorXToolStripMenuItem, mirrorYToolStripMenuItem, applyToolStripMenuItem }); + canvasToolStripMenuItem.Name = "canvasToolStripMenuItem"; + canvasToolStripMenuItem.Size = new System.Drawing.Size(57, 20); + canvasToolStripMenuItem.Text = "Canvas"; // // ClearToolStripMenuItem // + ClearToolStripMenuItem.Image = Properties.Resources.z_shading; ClearToolStripMenuItem.Name = "ClearToolStripMenuItem"; ClearToolStripMenuItem.ShortcutKeyDisplayString = ""; ClearToolStripMenuItem.ShortcutKeys = System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.W; @@ -616,7 +627,7 @@ // // shiftUpToolStripMenuItem // - shiftUpToolStripMenuItem.Image = Properties.Resources.arrow_top; + shiftUpToolStripMenuItem.Image = Properties.Resources.z_uo; shiftUpToolStripMenuItem.Name = "shiftUpToolStripMenuItem"; shiftUpToolStripMenuItem.ShortcutKeyDisplayString = ""; shiftUpToolStripMenuItem.ShortcutKeys = System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.Up; @@ -627,7 +638,7 @@ // // shiftDownToolStripMenuItem // - shiftDownToolStripMenuItem.Image = Properties.Resources.arrow_down; + shiftDownToolStripMenuItem.Image = Properties.Resources.z_down; shiftDownToolStripMenuItem.Name = "shiftDownToolStripMenuItem"; shiftDownToolStripMenuItem.ShortcutKeyDisplayString = ""; shiftDownToolStripMenuItem.ShortcutKeys = System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.Down; @@ -638,7 +649,7 @@ // // shiftLeftToolStripMenuItem // - shiftLeftToolStripMenuItem.Image = Properties.Resources.arrow_back; + shiftLeftToolStripMenuItem.Image = Properties.Resources.z_left; shiftLeftToolStripMenuItem.Name = "shiftLeftToolStripMenuItem"; shiftLeftToolStripMenuItem.ShortcutKeyDisplayString = ""; shiftLeftToolStripMenuItem.ShortcutKeys = System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.Left; @@ -649,7 +660,7 @@ // // shiftRightToolStripMenuItem // - shiftRightToolStripMenuItem.Image = Properties.Resources.arrow_next; + shiftRightToolStripMenuItem.Image = Properties.Resources.z_right; shiftRightToolStripMenuItem.Name = "shiftRightToolStripMenuItem"; shiftRightToolStripMenuItem.ShortcutKeyDisplayString = ""; shiftRightToolStripMenuItem.ShortcutKeys = System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.Right; @@ -660,7 +671,7 @@ // // invertToolStripMenuItem // - invertToolStripMenuItem.Image = Properties.Resources.Ionic_Ionicons_Invert_mode_outline_16; + invertToolStripMenuItem.Image = Properties.Resources.z_contrast; invertToolStripMenuItem.Name = "invertToolStripMenuItem"; invertToolStripMenuItem.ShortcutKeyDisplayString = ""; invertToolStripMenuItem.ShortcutKeys = System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.I; @@ -689,15 +700,16 @@ mirrorYToolStripMenuItem.ToolTipText = "Mirror by Y axis (vertical)"; mirrorYToolStripMenuItem.Click += btnMirrorY_Click; // - // exportToolStripMenuItem + // applyToolStripMenuItem // - exportToolStripMenuItem.Name = "exportToolStripMenuItem"; - exportToolStripMenuItem.ShortcutKeyDisplayString = ""; - exportToolStripMenuItem.ShortcutKeys = System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.E; - exportToolStripMenuItem.Size = new System.Drawing.Size(197, 22); - exportToolStripMenuItem.Text = "Export"; - exportToolStripMenuItem.ToolTipText = "Configure and export data"; - exportToolStripMenuItem.Click += button1_Click; + applyToolStripMenuItem.Image = Properties.Resources.z_tick; + applyToolStripMenuItem.Name = "applyToolStripMenuItem"; + applyToolStripMenuItem.ShortcutKeyDisplayString = "Ctrl+Space"; + applyToolStripMenuItem.ShortcutKeys = System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.Space; + applyToolStripMenuItem.Size = new System.Drawing.Size(197, 22); + applyToolStripMenuItem.Text = "Apply"; + applyToolStripMenuItem.ToolTipText = "Apply canvas changes"; + applyToolStripMenuItem.Click += button2_Click; // // aboutToolStripMenuItem // @@ -759,6 +771,15 @@ toolTip1.SetToolTip(chkTopSide, "Height changes will be made on Top/Bottom side"); chkTopSide.UseVisualStyleBackColor = true; // + // CodeShiftToolStripMenuItem + // + CodeShiftToolStripMenuItem.Image = Properties.Resources.z_align_center; + CodeShiftToolStripMenuItem.Name = "CodeShiftToolStripMenuItem"; + CodeShiftToolStripMenuItem.Size = new System.Drawing.Size(215, 22); + CodeShiftToolStripMenuItem.Text = "Code shift"; + CodeShiftToolStripMenuItem.ToolTipText = "Shift the font on the code line"; + CodeShiftToolStripMenuItem.Click += CodeShiftToolStripMenuItem_Click; + // // MainForm // AutoScaleDimensions = new System.Drawing.SizeF(7F, 15F); @@ -835,7 +856,7 @@ private System.Windows.Forms.ToolStripMenuItem exitToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem editToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem removeSymbolToolStripMenuItem; - private System.Windows.Forms.ToolStripMenuItem toolsToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem canvasToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem shiftUpToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem shiftDownToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem shiftLeftToolStripMenuItem; @@ -864,6 +885,8 @@ private System.Windows.Forms.ToolStripMenuItem makeVarWidthToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem undoToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem redoToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem fontToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem CodeShiftToolStripMenuItem; } } diff --git a/McBitFont/Form1.cs b/McBitFont/Form1.cs index 3ea9f9c..e86f9ed 100644 --- a/McBitFont/Form1.cs +++ b/McBitFont/Form1.cs @@ -635,6 +635,7 @@ namespace McBitFont { monospaced = form.rbMono.Checked; } makeVarWidthToolStripMenuItem.Visible = monospaced; + CodeShiftToolStripMenuItem.Visible = !form.cbSingle.Checked; lblType.Text = monospaced ? "Monospaced" : "Variable width / Single"; codepage = (form.cbEncoding.SelectedItem as New.EncodingItem).Code; foreach (FrameMiniature ff in frames) { @@ -654,6 +655,7 @@ namespace McBitFont { modified = false; checkForAdd(); fbuffer = false; + miniList.Items[0].Selected = true; miniList.Refresh(); dotPanel.Refresh(); @@ -965,5 +967,46 @@ namespace McBitFont { dotPanel.Refresh(); CheckHistoryButtons(); } + + private void CodeShiftToolStripMenuItem_Click(object sender, EventArgs e) { + if (!monospaced && frames.Count == 1) return; + checkModifiedFrame(); + + CodeShift csform = new CodeShift(this); + if (csform.ShowDialog() == DialogResult.OK) { + Cursor.Current = Cursors.WaitCursor; + + FrameMiniature ff; + var sel = miniList.SelectedItems[0].Index; + var val = Convert.ToInt32(csform.nudValue.Value); + if (csform.rbSpecify.Checked) val -= csform.sc; + if (csform.rbShiftLeft.Checked) val *= -1; + + miniList.Clear(); + ilMiniatures.Images.Clear(); + for (int i = 0; i < frames.Count; i++) { + ff = frames[i]; + ff.code += val; + frames[i] = ff; + + var key = ff.code.ToString().PadLeft(3, '0'); + var text = decodeSymbol(ff.code); + ilMiniatures.Images.Add(key, (Image)getMiniPictue(ff)); + miniList.Items.Add(key, key + ' ' + text, key); + } + + miniList.Refresh(); + miniList.Items[sel].Selected = true; + dotPanel.Refresh(); + + Cursor.Current = Cursors.Default; + } + csform.Dispose(); + + history.Clear(); + checkForAdd(); + prjModified = true; + + } } } diff --git a/McBitFont/McBitFont.csproj b/McBitFont/McBitFont.csproj index 123c225..8b14b8f 100644 --- a/McBitFont/McBitFont.csproj +++ b/McBitFont/McBitFont.csproj @@ -23,6 +23,12 @@ 2.0.0.0 2.0.0.0 + + portable + + + portable + diff --git a/McBitFont/Properties/Resources.Designer.cs b/McBitFont/Properties/Resources.Designer.cs index 414bacb..844f1e4 100644 --- a/McBitFont/Properties/Resources.Designer.cs +++ b/McBitFont/Properties/Resources.Designer.cs @@ -90,6 +90,16 @@ namespace McBitFont.Properties { } } + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap add { + get { + object obj = ResourceManager.GetObject("add", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + /// /// Looks up a localized resource of type System.Drawing.Bitmap. /// @@ -150,6 +160,16 @@ namespace McBitFont.Properties { } } + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap delete { + get { + object obj = ResourceManager.GetObject("delete", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + /// /// Looks up a localized resource of type System.Drawing.Bitmap. /// @@ -309,5 +329,125 @@ namespace McBitFont.Properties { return ((System.Drawing.Bitmap)(obj)); } } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap z_align_center { + get { + object obj = ResourceManager.GetObject("z_align_center", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap z_asterisk { + get { + object obj = ResourceManager.GetObject("z_asterisk", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap z_contrast { + get { + object obj = ResourceManager.GetObject("z_contrast", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap z_down { + get { + object obj = ResourceManager.GetObject("z_down", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap z_export { + get { + object obj = ResourceManager.GetObject("z_export", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap z_left { + get { + object obj = ResourceManager.GetObject("z_left", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap z_redo { + get { + object obj = ResourceManager.GetObject("z_redo", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap z_right { + get { + object obj = ResourceManager.GetObject("z_right", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap z_shading { + get { + object obj = ResourceManager.GetObject("z_shading", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap z_tick { + get { + object obj = ResourceManager.GetObject("z_tick", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap z_undo { + get { + object obj = ResourceManager.GetObject("z_undo", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap z_uo { + get { + object obj = ResourceManager.GetObject("z_uo", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } } } diff --git a/McBitFont/Properties/Resources.resx b/McBitFont/Properties/Resources.resx index 67bb33b..085f933 100644 --- a/McBitFont/Properties/Resources.resx +++ b/McBitFont/Properties/Resources.resx @@ -187,6 +187,48 @@ ..\Resources\action_check.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\tick.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\arrow_redo.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\arrow_undo.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\arrow_right.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\arrow_left.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\..\icons\famfamfam\arrow_down.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\arrow_up.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\shape_align_center.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\asterisk_orange.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\shading.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\package_go.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\contrast.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\add.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\delete.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + ..\Resources\redo.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a diff --git a/McBitFont/Resources/add.png b/McBitFont/Resources/add.png new file mode 100644 index 0000000000000000000000000000000000000000..6332fefea4be19eeadf211b0b202b272e8564898 GIT binary patch literal 733 zcmV<30wVp1P)9VHk(~TedF+gQSL8D5xnVSSWAVY>J9b+m>@{iq7_KE}go~11+5s4;8hc+i0Xa zI1j@EX5!S+Me6HNqKzU5YQwL;-W5$p%ZMKMeR<%zp69-~?<4?8|C8S?bklXr4v&Ov zb&06v2|-x?qB`90yn>Qi%Sh2^G4n)$ZdyvTPf9}1)_buUT7>`e2G&2VU@~Bb(o+Mz zi4)>IxlSY${Dj4k={-9RzU^W5g9|2V5RZ2ZulL9s2xQbZ@r6eP9Ra5u(s|C0Nj#&4>wTSkb?%#=9?@ z^oxDy-O@tyN{L@by(WWvQ3%CyEu8x{+#Jb4-h&K9Owi)2pgg+heWDyked|3R$$kL@A z#sp1v-r+=G4B8D6DqsDH0@7OztA7aT9qc1Py{()w`m``?Y0&gi2=ROcc-9+nU^I6< zT=e_Y=vSnG@?3Ue{BW5ONFttcE!R-R_W4O01|0-|K-YNXLo2`4Qv z`r1LxR6#yf3FB%T95gJnaKKivA~Z}S9A(ZxEDK}O3T04USJ P00000NkvXXu0mjf^IS-S literal 0 HcmV?d00001 diff --git a/McBitFont/Resources/arrow_left.png b/McBitFont/Resources/arrow_left.png new file mode 100644 index 0000000000000000000000000000000000000000..0f589845f00ca40cee6495318eb13ebf9030f347 GIT binary patch literal 344 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 literal 0 HcmV?d00001 diff --git a/McBitFont/Resources/package_go.png b/McBitFont/Resources/package_go.png new file mode 100644 index 0000000000000000000000000000000000000000..aace63ad6f91537268eb6e9bf328743da7c631c6 GIT binary patch literal 898 zcmV-|1AY97P)yqPWur#3F*- zi1-H*6GJgONgz~1E;+_Oe@~@VF-1Iy-=*@ zV9T!Kgk#%59lVt}Zj7B_)9wTKYBy6YEwPxKqOdeGuEw0%cVhe}Yj*hPSBMNYZ5yz{ z4STT*%d9TVV4NauDND$z(%QKb>=kMr>ckh0lFuesOioc=Nq^^8BQNYYbk1@M%M`O? zh?6H&UZR}Ol3%#RzJX5(MAktmg_e?7`2>w^4^!6w)4$9==U0)EV$}u1A)*bPRF?jv zHdar4EJB1b*f+rh!M+8R159x8%Qjd0I{0j+|69pUC)f(>!P(OTs8c~;XuVtXzfO>s`m zrjW9YI38*Yel_NvP&FVfNEx)sn-kxIx;WzEcpe*LJBYXLr(llS6I0o+c9O z0L_4N7u$0%Dx~ks;fjYRF0OIOR}1uPI!MtibK=J3pihiBTv)jD>R%(Llj(_XFa#mG z6Wg=#j7Q7*PFmM*W@B9!ftm;#qU}sCT;|&KtBZ%Fe#3()Pk+9@Sw&8%k=NQD>92qN zkFT*E2S*%i&!MYvH;;DpF?sU}zb4Mlls)au3~BX$XZr12Z?_sbts>8Fec~0Xl1q`9 zxyH%T#p<5UCqrY2(J4oGEHk9ens22BN3dYXATM07*qoM6N<$g3xBAZ~y=R literal 0 HcmV?d00001 diff --git a/McBitFont/Resources/shading.png b/McBitFont/Resources/shading.png new file mode 100644 index 0000000000000000000000000000000000000000..09275f9c0914a2b6cbd48dc75244f698a8918c1e GIT binary patch literal 225 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Ea{HEjtmUzPnffIy#(?lOI#yL zg7ec#$`gxH85~pclTsBta}(23gHjVyDhp4h+5i<5d%8G=Se#D&@&CWQ^SL#TFFMo+ zpUPu?w4CLJsKXtWq-Kjql`OW6@{Tv>DLhi_oR#=SOyS-!hh=FNvz5*&gc}4bkUS$- zpueTJs?jS>W4VH5cvDBnk}bYn&!Q$gHPEkM{Aeg6CFgw8)S-s+lpfn7J^^Wlx#}xw U_BgG30kodM)78&qol`;+07=(QkN^Mx literal 0 HcmV?d00001 diff --git a/McBitFont/Resources/shape_align_center.png b/McBitFont/Resources/shape_align_center.png new file mode 100644 index 0000000000000000000000000000000000000000..efe9a98e5fa3c6ad11072c7d5383c10d7e4bd988 GIT binary patch literal 384 zcmV-`0e}99P)Z6yAF1om>|ST ztKHFR-u%C_TS&rR#$xWUuInG^#ZbZh<7OKK0Sbr!oPg)`=K8c40#>`ki?apTCliRg zlEUj-Ocaa&0ziHzlBp`G6i@TVfL<<@Bqx|guvvfy(7bc&my!0N1m(V4lyq=bRi(Le zNvR9#hi1|)cfp-7Ct3?wOSDEz&|1=(k-c%ksD` e{M&ClW_$rjx>)p&(flj`0000Hs{AQG2a)rMyf zFQK~pm1x3+7!nu%-M`k}``c>^00{o_1pjWJUTfl8mg=3qGEl8H@}^@w`VUx0_$uy4 z2FhRqKX}xI*?Tv1DJd8z#F#0c%*~rM30HE1@2o5m~}ZyoWhqv>ql{V z1ZGE0lgcoK^lx+eqc*rAX1Ky;Xx3U%u#zG!m-;eD1Qsn@kf3|F9qz~|95=&g3(7!X zB}JAT>RU;a%vaNOGnJ%e1=K6eAh43c(QN8RQ6~GP%O}Jju$~Ld*%`mO1p9VHk(~TedF+gQSL8D5xnVSSWAVY>J9b+m>@{iq7_KE}go~11+5s4;8hc+i0Xa zI1j@EX5!S+Me6HNqKzU5YQwL;-W5$p%ZMKMeR<%zp69-~?<4?8|C8S?bklXr4v&Ov zb&06v2|-x?qB`90yn>Qi%Sh2^G4n)$ZdyvTPf9}1)_buUT7>`e2G&2VU@~Bb(o+Mz zi4)>IxlSY${Dj4k={-9RzU^W5g9|2V5RZ2ZulL9s2xQbZ@r6eP9Ra5u(s|C0Nj#&4>wTSkb?%#=9?@ z^oxDy-O@tyN{L@by(WWvQ3%CyEu8x{+#Jb4-h&K9Owi)2pgg+heWDyked|3R$$kL@A z#sp1v-r+=G4B8D6DqsDH0@7OztA7aT9qc1Py{()w`m``?Y0&gi2=ROcc-9+nU^I6< zT=e_Y=vSnG@?3Ue{BW5ONFttcE!R-R_W4O01|0-|K-YNXLo2`4Qv z`r1LxR6#yf3FB%T95gJnaKKivA~Z}S9A(ZxEDK}O3T04USJ P00000NkvXXu0mjf^IS-S literal 0 HcmV?d00001 diff --git a/icons/famfamfam/arrow_down.png b/icons/famfamfam/arrow_down.png new file mode 100644 index 0000000000000000000000000000000000000000..2c4e279377bf348f9cf53894e76bb673ccf067bd GIT binary patch literal 379 zcmV->0fhdEP)RB*?~^j!LKVQ>(O&A{Xr%)RXLn#U zs4LtZ6rCMFY5|B2$)yG$6aaIFRK2gTW?xy|fr^HMRZWL#n-5mC9Ik6SQQdyDvHfIC=dq@)GxgoaTf5IT z^qp*F%j#`evM)Fzfu}xfiC)zcg*(FZj9*=u@@4&g|7erBn|Ebu&JU%m$={t4j zMA?=F80s{QH%n(hsfF%mohhehBz1^t6ID+NGJzBtYm#sZbA{ZEu?vrT)(Lb!?K~){ zH(Aw`uB}Xq9=*Zczi=_)|A3QuQ}znM~D7~ zjUb95oVKv23l4|e@$lZ*dJFeEA1zqO!B_8JKbXnR;M>>lDE=(2>_dXN zph(~kC%jShVie(o42eHUnMDR}$nG z%)rKGv19j`NY~_X_4^RN+9OmbDu*=G*+_}E z3jR}&gbG0=R0#?Z-=09KI|YP8=#E5@+>uO|=1VUCOole%Li*0J2^Gy8+;b?&km6gg zf;aDGp1r#I_V|We$e$~WifFF9R7MCMwsmwsME9<<@yx?a+v)qKuKbNe>k1{IrVt}k zbbSs~bXr8Se}V_b4opa0GhLA`RHceaP=N}IElbSa8@d(ij1Q|4CvOirm96w#wHUuW*nL5>vZR zlg{G&%mT~|kL3ei%GW0*UOHUMs5XI$4uxe-L?I@SAefq*207}Iqtjm#e5*fP53AiC z)C|RQfwzxx<#_WfANRGZx{+tFDl8~Q?;~Ve=lM^*8UTTnVL?HTDz8uta0D@d28E9S z_)i8aLz^UE6PPKymi;2GJ`34{eIia-CtfAt0H61rk0 SPTNud0000*uQQn7Ao3L@HcVN_JG5Oz^iELqtfic#8+p{{13 zB!rfdf2k)SDwJS|D58iKOKXwBFIFGcC-AUOfLS9bv(H0S%=6T$O9SC=2fMD%gnJC9? z!Kh(gvt=Cx?1R~s3W9x8mCUENrT{!2(+x==*z->Z(e<;6aicYvPErVhHT_;HRWCrO zX>Ant#Yi-31=*-(@?ZTrNtR{}?1a^q3-ss0eBi>@Qc)edAUbFFjhvR`kHwNKL}lr> zmx4@#VC|1-HQcog=-UoF%!Jv#1q7>sa}xhtBKb#7NeGlV;rH6OFmr?PNPiwMRD=jG zfZ3f5vy;Gqe4sZI=uW3=7L4|E%(QHx)3_-#2chPTcz1*X$TTNe2v#yoR){KnCQhcg z(YBd3W>A0&#{D#mmPqQSlM)|3A^ATXx8dz!8(tOJd5pyIa?we$G^;NU;SSgD5WO`G z1giu)7o5cCBA8D%u7}Z)i7#g)f3PVT=*fasvkLEz*?bEIkm>TthSk)+f{EIdAk!W) z?VGx_0qAlea5(`l58AzP0|-{W*Cx;y=hMVxgG_4#JISQPBo@rv^)uedmP%+LWdH!1u~sTvRX(MC)0C( q-3yOhdA{Gl2X{NXPYNCLME(Md?VydvM~!0u0000NK&UbbyKJOV_-=GvR_Va`)iGtEI>k6*4w zgow@Mk2%Y~O!7M?In8;-d7cL=5v|yqpZk1wp<|+|sw%#D=U_j#2jez+cNS)ysfwa1 zhMt(yUCd+J)Rn9LDjG%680l+#H!mx+$mblHG)yqPWur#3F*- zi1-H*6GJgONgz~1E;+_Oe@~@VF-1Iy-=*@ zV9T!Kgk#%59lVt}Zj7B_)9wTKYBy6YEwPxKqOdeGuEw0%cVhe}Yj*hPSBMNYZ5yz{ z4STT*%d9TVV4NauDND$z(%QKb>=kMr>ckh0lFuesOioc=Nq^^8BQNYYbk1@M%M`O? zh?6H&UZR}Ol3%#RzJX5(MAktmg_e?7`2>w^4^!6w)4$9==U0)EV$}u1A)*bPRF?jv zHdar4EJB1b*f+rh!M+8R159x8%Qjd0I{0j+|69pUC)f(>!P(OTs8c~;XuVtXzfO>s`m zrjW9YI38*Yel_NvP&FVfNEx)sn-kxIx;WzEcpe*LJBYXLr(llS6I0o+c9O z0L_4N7u$0%Dx~ks;fjYRF0OIOR}1uPI!MtibK=J3pihiBTv)jD>R%(Llj(_XFa#mG z6Wg=#j7Q7*PFmM*W@B9!ftm;#qU}sCT;|&KtBZ%Fe#3()Pk+9@Sw&8%k=NQD>92qN zkFT*E2S*%i&!MYvH;;DpF?sU}zb4Mlls)au3~BX$XZr12Z?_sbts>8Fec~0Xl1q`9 zxyH%T#p<5UCqrY2(J4oGEHk9ens22BN3dYXATM07*qoM6N<$g3xBAZ~y=R literal 0 HcmV?d00001 diff --git a/icons/famfamfam/shading.png b/icons/famfamfam/shading.png new file mode 100644 index 0000000000000000000000000000000000000000..09275f9c0914a2b6cbd48dc75244f698a8918c1e GIT binary patch literal 225 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Ea{HEjtmUzPnffIy#(?lOI#yL zg7ec#$`gxH85~pclTsBta}(23gHjVyDhp4h+5i<5d%8G=Se#D&@&CWQ^SL#TFFMo+ zpUPu?w4CLJsKXtWq-Kjql`OW6@{Tv>DLhi_oR#=SOyS-!hh=FNvz5*&gc}4bkUS$- zpueTJs?jS>W4VH5cvDBnk}bYn&!Q$gHPEkM{Aeg6CFgw8)S-s+lpfn7J^^Wlx#}xw U_BgG30kodM)78&qol`;+07=(QkN^Mx literal 0 HcmV?d00001 diff --git a/icons/famfamfam/shape_align_center.png b/icons/famfamfam/shape_align_center.png new file mode 100644 index 0000000000000000000000000000000000000000..efe9a98e5fa3c6ad11072c7d5383c10d7e4bd988 GIT binary patch literal 384 zcmV-`0e}99P)Z6yAF1om>|ST ztKHFR-u%C_TS&rR#$xWUuInG^#ZbZh<7OKK0Sbr!oPg)`=K8c40#>`ki?apTCliRg zlEUj-Ocaa&0ziHzlBp`G6i@TVfL<<@Bqx|guvvfy(7bc&my!0N1m(V4lyq=bRi(Le zNvR9#hi1|)cfp-7Ct3?wOSDEz&|1=(k-c%ksD` e{M&ClW_$rjx>)p&(flj`0000Hs{AQG2a)rMyf zFQK~pm1x3+7!nu%-M`k}``c>^00{o_1pjWJUTfl8mg=3qGEl8H@}^@w`VUx0_$uy4 z2FhRqKX}xI*?Tv1DJd8z#F#0c%*~rM30HE1@2o5m~}ZyoWhqv>ql{V z1ZGE0lgcoK^lx+eqc*rAX1Ky;Xx3U%u#zG!m-;eD1Qsn@kf3|F9qz~|95=&g3(7!X zB}JAT>RU;a%vaNOGnJ%e1=K6eAh43c(QN8RQ6~GP%O}Jju$~Ld*%`mO1p