diff options
-rw-r--r-- | SpriteEd/CodePoints.cs | 222 | ||||
-rw-r--r-- | SpriteEd/Main.storyboard | 498 | ||||
-rw-r--r-- | SpriteEd/SpriteEd.csproj | 1 | ||||
-rw-r--r-- | SpriteEd/ViewController.cs | 14 | ||||
-rw-r--r-- | SpriteEd/ViewController.designer.cs | 8 |
5 files changed, 245 insertions, 498 deletions
diff --git a/SpriteEd/CodePoints.cs b/SpriteEd/CodePoints.cs new file mode 100644 index 0000000..3bcef29 --- /dev/null +++ b/SpriteEd/CodePoints.cs @@ -0,0 +1,222 @@ +// SpriteEd - Simple sprite editor +// Copyright 2020 Ian Cowburn +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see <http://www.gnu.org/licenses/>. +// +using System; +using System.Collections.Generic; + +namespace SpriteEd +{ + public static class CodePoints + { + public static readonly Dictionary<int, string> Ascii = new Dictionary<int, string>() + { + {32, "Space"}, + {33, "!"}, + {34, "\""}, + {35, "#"}, + {36, "$"}, + {37, "%"}, + {38, "&"}, + {39, "'"}, + {40, "("}, + {41, ")"}, + {42, "*"}, + {43, "+"}, + {44, ","}, + {45, "-"}, + {46, "."}, + {47, "/"}, + {48, "0"}, + {49, "1"}, + {50, "2"}, + {51, "3"}, + {52, "4"}, + {53, "5"}, + {54, "6"}, + {55, "7"}, + {56, "8"}, + {57, "9"}, + {58, ":"}, + {59, ";"}, + {60, "<"}, + {61, "="}, + {62, ">"}, + {63, "?"}, + {64, "@"}, + {65, "A"}, + {66, "B"}, + {67, "C"}, + {68, "D"}, + {69, "E"}, + {70, "F"}, + {71, "G"}, + {72, "H"}, + {73, "I"}, + {74, "J"}, + {75, "K"}, + {76, "L"}, + {77, "M"}, + {78, "N"}, + {79, "O"}, + {80, "P"}, + {81, "Q"}, + {82, "R"}, + {83, "S"}, + {84, "T"}, + {85, "U"}, + {86, "V"}, + {87, "W"}, + {88, "X"}, + {89, "Y"}, + {90, "Z"}, + {91, "["}, + {92, "\\"}, + {93, "]"}, + {94, "^"}, + {95, "_"}, + {96, "`"}, + {97, "a"}, + {98, "b"}, + {99, "c"}, + {100, "d"}, + {101, "e"}, + {102, "f"}, + {103, "g"}, + {104, "h"}, + {105, "i"}, + {106, "j"}, + {107, "k"}, + {108, "l"}, + {109, "m"}, + {110, "n"}, + {111, "o"}, + {112, "p"}, + {113, "q"}, + {114, "r"}, + {115, "s"}, + {116, "t"}, + {117, "u"}, + {118, "v"}, + {119, "w"}, + {120, "x"}, + {121, "y"}, + {122, "z"}, + {123, "{"}, + {124, "|"}, + {125, "}"}, + {126, "~"} + }; + + public static readonly Dictionary<int, string> C64 = new Dictionary<int, string>() + { + {0, "@"}, + {1, "a"}, + {2, "b"}, + {3, "c"}, + {4, "d"}, + {5, "e"}, + {6, "f"}, + {7, "g"}, + {8, "h"}, + {9, "i"}, + {10, "j"}, + {11, "k"}, + {12, "l"}, + {13, "m"}, + {14, "n"}, + {15, "o"}, + {16, "p"}, + {17, "q"}, + {18, "r"}, + {19, "s"}, + {20, "t"}, + {21, "u"}, + {22, "v"}, + {23, "w"}, + {24, "x"}, + {25, "y"}, + {26, "z"}, + {27, "["}, + {28, "`"}, + {29, "]"}, + {30, "^"}, + {31, "\\"}, + {32, " "}, + {33, "!"}, + {34, "\""}, + {35, "#"}, + {36, "$"}, + {37, "%"}, + {38, "&"}, + {39, "'"}, + {40, "("}, + {41, ")"}, + {42, "*"}, + {43, "+"}, + {44, ","}, + {45, "-"}, + {46, "."}, + {47, "/"}, + {48, "0"}, + {49, "1"}, + {50, "2"}, + {51, "3"}, + {52, "4"}, + {53, "5"}, + {54, "6"}, + {55, "7"}, + {56, "8"}, + {57, "9"}, + {58, ":"}, + {59, ";"}, + {60, "<"}, + {61, "="}, + {62, ">"}, + {63, "?"}, + {65, "A"}, + {66, "B"}, + {67, "C"}, + {68, "D"}, + {69, "E"}, + {70, "F"}, + {71, "G"}, + {72, "H"}, + {73, "I"}, + {74, "J"}, + {75, "K"}, + {76, "L"}, + {77, "M"}, + {78, "N"}, + {79, "O"}, + {80, "P"}, + {81, "Q"}, + {82, "R"}, + {83, "S"}, + {84, "T"}, + {85, "U"}, + {86, "V"}, + {87, "W"}, + {88, "X"}, + {89, "Y"}, + {90, "Z"}, + {91, "{"}, + {92, "|"}, + {93, "}"}, + {94, "~"}, + {100, "_"} + }; + } +} diff --git a/SpriteEd/Main.storyboard b/SpriteEd/Main.storyboard index f63c659..096251c 100644 --- a/SpriteEd/Main.storyboard +++ b/SpriteEd/Main.storyboard @@ -103,18 +103,6 @@ <action selector="revertDocumentToSaved:" target="Ady-hI-5gd" id="iJ3-Pv-kwq"/> </connections> </menuItem> - <menuItem isSeparatorItem="YES" id="aJh-i4-bef"/> - <menuItem title="Page Setup…" keyEquivalent="P" id="qIS-W8-SiK"> - <modifierMask key="keyEquivalentModifierMask" shift="YES" command="YES"/> - <connections> - <action selector="runPageLayout:" target="Ady-hI-5gd" id="Din-rz-gC5"/> - </connections> - </menuItem> - <menuItem title="Print…" keyEquivalent="p" id="aTl-1u-JFS"> - <connections> - <action selector="print:" target="Ady-hI-5gd" id="qaZ-4w-aoO"/> - </connections> - </menuItem> </items> </menu> </menuItem> @@ -127,11 +115,6 @@ <action selector="undo:" target="Ady-hI-5gd" id="M6e-cu-g7V"/> </connections> </menuItem> - <menuItem title="Redo" keyEquivalent="Z" id="6dh-zS-Vam"> - <connections> - <action selector="redo:" target="Ady-hI-5gd" id="oIA-Rs-6OD"/> - </connections> - </menuItem> <menuItem isSeparatorItem="YES" id="WRV-NI-Exz"/> <menuItem title="Cut" keyEquivalent="x" id="uRl-iY-unG"> <connections> @@ -148,486 +131,6 @@ <action selector="paste:" target="Ady-hI-5gd" id="UvS-8e-Qdg"/> </connections> </menuItem> - <menuItem title="Paste and Match Style" keyEquivalent="V" id="WeT-3V-zwk"> - <modifierMask key="keyEquivalentModifierMask" option="YES" command="YES"/> - <connections> - <action selector="pasteAsPlainText:" target="Ady-hI-5gd" id="cEh-KX-wJQ"/> - </connections> - </menuItem> - <menuItem title="Delete" id="pa3-QI-u2k"> - <modifierMask key="keyEquivalentModifierMask"/> - <connections> - <action selector="delete:" target="Ady-hI-5gd" id="0Mk-Ml-PaM"/> - </connections> - </menuItem> - <menuItem title="Select All" keyEquivalent="a" id="Ruw-6m-B2m"> - <connections> - <action selector="selectAll:" target="Ady-hI-5gd" id="VNm-Mi-diN"/> - </connections> - </menuItem> - <menuItem isSeparatorItem="YES" id="uyl-h8-XO2"/> - <menuItem title="Find" id="4EN-yA-p0u"> - <modifierMask key="keyEquivalentModifierMask"/> - <menu key="submenu" title="Find" id="1b7-l0-nxx"> - <items> - <menuItem title="Find…" tag="1" keyEquivalent="f" id="Xz5-n4-O0W"> - <connections> - <action selector="performFindPanelAction:" target="Ady-hI-5gd" id="cD7-Qs-BN4"/> - </connections> - </menuItem> - <menuItem title="Find and Replace…" tag="12" keyEquivalent="f" id="YEy-JH-Tfz"> - <modifierMask key="keyEquivalentModifierMask" option="YES" command="YES"/> - <connections> - <action selector="performFindPanelAction:" target="Ady-hI-5gd" id="WD3-Gg-5AJ"/> - </connections> - </menuItem> - <menuItem title="Find Next" tag="2" keyEquivalent="g" id="q09-fT-Sye"> - <connections> - <action selector="performFindPanelAction:" target="Ady-hI-5gd" id="NDo-RZ-v9R"/> - </connections> - </menuItem> - <menuItem title="Find Previous" tag="3" keyEquivalent="G" id="OwM-mh-QMV"> - <connections> - <action selector="performFindPanelAction:" target="Ady-hI-5gd" id="HOh-sY-3ay"/> - </connections> - </menuItem> - <menuItem title="Use Selection for Find" tag="7" keyEquivalent="e" id="buJ-ug-pKt"> - <connections> - <action selector="performFindPanelAction:" target="Ady-hI-5gd" id="U76-nv-p5D"/> - </connections> - </menuItem> - <menuItem title="Jump to Selection" keyEquivalent="j" id="S0p-oC-mLd"> - <connections> - <action selector="centerSelectionInVisibleArea:" target="Ady-hI-5gd" id="IOG-6D-g5B"/> - </connections> - </menuItem> - </items> - </menu> - </menuItem> - <menuItem title="Spelling and Grammar" id="Dv1-io-Yv7"> - <modifierMask key="keyEquivalentModifierMask"/> - <menu key="submenu" title="Spelling" id="3IN-sU-3Bg"> - <items> - <menuItem title="Show Spelling and Grammar" keyEquivalent=":" id="HFo-cy-zxI"> - <connections> - <action selector="showGuessPanel:" target="Ady-hI-5gd" id="vFj-Ks-hy3"/> - </connections> - </menuItem> - <menuItem title="Check Document Now" keyEquivalent=";" id="hz2-CU-CR7"> - <connections> - <action selector="checkSpelling:" target="Ady-hI-5gd" id="fz7-VC-reM"/> - </connections> - </menuItem> - <menuItem isSeparatorItem="YES" id="bNw-od-mp5"/> - <menuItem title="Check Spelling While Typing" id="rbD-Rh-wIN"> - <modifierMask key="keyEquivalentModifierMask"/> - <connections> - <action selector="toggleContinuousSpellChecking:" target="Ady-hI-5gd" id="7w6-Qz-0kB"/> - </connections> - </menuItem> - <menuItem title="Check Grammar With Spelling" id="mK6-2p-4JG"> - <modifierMask key="keyEquivalentModifierMask"/> - <connections> - <action selector="toggleGrammarChecking:" target="Ady-hI-5gd" id="muD-Qn-j4w"/> - </connections> - </menuItem> - <menuItem title="Correct Spelling Automatically" id="78Y-hA-62v"> - <modifierMask key="keyEquivalentModifierMask"/> - <connections> - <action selector="toggleAutomaticSpellingCorrection:" target="Ady-hI-5gd" id="2lM-Qi-WAP"/> - </connections> - </menuItem> - </items> - </menu> - </menuItem> - <menuItem title="Substitutions" id="9ic-FL-obx"> - <modifierMask key="keyEquivalentModifierMask"/> - <menu key="submenu" title="Substitutions" id="FeM-D8-WVr"> - <items> - <menuItem title="Show Substitutions" id="z6F-FW-3nz"> - <modifierMask key="keyEquivalentModifierMask"/> - <connections> - <action selector="orderFrontSubstitutionsPanel:" target="Ady-hI-5gd" id="oku-mr-iSq"/> - </connections> - </menuItem> - <menuItem isSeparatorItem="YES" id="gPx-C9-uUO"/> - <menuItem title="Smart Copy/Paste" id="9yt-4B-nSM"> - <modifierMask key="keyEquivalentModifierMask"/> - <connections> - <action selector="toggleSmartInsertDelete:" target="Ady-hI-5gd" id="3IJ-Se-DZD"/> - </connections> - </menuItem> - <menuItem title="Smart Quotes" id="hQb-2v-fYv"> - <modifierMask key="keyEquivalentModifierMask"/> - <connections> - <action selector="toggleAutomaticQuoteSubstitution:" target="Ady-hI-5gd" id="ptq-xd-QOA"/> - </connections> - </menuItem> - <menuItem title="Smart Dashes" id="rgM-f4-ycn"> - <modifierMask key="keyEquivalentModifierMask"/> - <connections> - <action selector="toggleAutomaticDashSubstitution:" target="Ady-hI-5gd" id="oCt-pO-9gS"/> - </connections> - </menuItem> - <menuItem title="Smart Links" id="cwL-P1-jid"> - <modifierMask key="keyEquivalentModifierMask"/> - <connections> - <action selector="toggleAutomaticLinkDetection:" target="Ady-hI-5gd" id="Gip-E3-Fov"/> - </connections> - </menuItem> - <menuItem title="Data Detectors" id="tRr-pd-1PS"> - <modifierMask key="keyEquivalentModifierMask"/> - <connections> - <action selector="toggleAutomaticDataDetection:" target="Ady-hI-5gd" id="R1I-Nq-Kbl"/> - </connections> - </menuItem> - <menuItem title="Text Replacement" id="HFQ-gK-NFA"> - <modifierMask key="keyEquivalentModifierMask"/> - <connections> - <action selector="toggleAutomaticTextReplacement:" target="Ady-hI-5gd" id="DvP-Fe-Py6"/> - </connections> - </menuItem> - </items> - </menu> - </menuItem> - <menuItem title="Transformations" id="2oI-Rn-ZJC"> - <modifierMask key="keyEquivalentModifierMask"/> - <menu key="submenu" title="Transformations" id="c8a-y6-VQd"> - <items> - <menuItem title="Make Upper Case" id="vmV-6d-7jI"> - <modifierMask key="keyEquivalentModifierMask"/> - <connections> - <action selector="uppercaseWord:" target="Ady-hI-5gd" id="sPh-Tk-edu"/> - </connections> - </menuItem> - <menuItem title="Make Lower Case" id="d9M-CD-aMd"> - <modifierMask key="keyEquivalentModifierMask"/> - <connections> - <action selector="lowercaseWord:" target="Ady-hI-5gd" id="iUZ-b5-hil"/> - </connections> - </menuItem> - <menuItem title="Capitalize" id="UEZ-Bs-lqG"> - <modifierMask key="keyEquivalentModifierMask"/> - <connections> - <action selector="capitalizeWord:" target="Ady-hI-5gd" id="26H-TL-nsh"/> - </connections> - </menuItem> - </items> - </menu> - </menuItem> - <menuItem title="Speech" id="xrE-MZ-jX0"> - <modifierMask key="keyEquivalentModifierMask"/> - <menu key="submenu" title="Speech" id="3rS-ZA-NoH"> - <items> - <menuItem title="Start Speaking" id="Ynk-f8-cLZ"> - <modifierMask key="keyEquivalentModifierMask"/> - <connections> - <action selector="startSpeaking:" target="Ady-hI-5gd" id="654-Ng-kyl"/> - </connections> - </menuItem> - <menuItem title="Stop Speaking" id="Oyz-dy-DGm"> - <modifierMask key="keyEquivalentModifierMask"/> - <connections> - <action selector="stopSpeaking:" target="Ady-hI-5gd" id="dX8-6p-jy9"/> - </connections> - </menuItem> - </items> - </menu> - </menuItem> - </items> - </menu> - </menuItem> - <menuItem title="Format" id="jxT-CU-nIS"> - <modifierMask key="keyEquivalentModifierMask"/> - <menu key="submenu" title="Format" id="GEO-Iw-cKr"> - <items> - <menuItem title="Font" id="Gi5-1S-RQB"> - <modifierMask key="keyEquivalentModifierMask"/> - <menu key="submenu" title="Font" systemMenu="font" id="aXa-aM-Jaq"> - <items> - <menuItem title="Show Fonts" keyEquivalent="t" id="Q5e-8K-NDq"> - <connections> - <action selector="orderFrontFontPanel:" target="YLy-65-1bz" id="WHr-nq-2xA"/> - </connections> - </menuItem> - <menuItem title="Bold" tag="2" keyEquivalent="b" id="GB9-OM-e27"> - <connections> - <action selector="addFontTrait:" target="YLy-65-1bz" id="hqk-hr-sYV"/> - </connections> - </menuItem> - <menuItem title="Italic" tag="1" keyEquivalent="i" id="Vjx-xi-njq"> - <connections> - <action selector="addFontTrait:" target="YLy-65-1bz" id="IHV-OB-c03"/> - </connections> - </menuItem> - <menuItem title="Underline" keyEquivalent="u" id="WRG-CD-K1S"> - <connections> - <action selector="underline:" target="Ady-hI-5gd" id="FYS-2b-JAY"/> - </connections> - </menuItem> - <menuItem isSeparatorItem="YES" id="5gT-KC-WSO"/> - <menuItem title="Bigger" tag="3" keyEquivalent="+" id="Ptp-SP-VEL"> - <connections> - <action selector="modifyFont:" target="YLy-65-1bz" id="Uc7-di-UnL"/> - </connections> - </menuItem> - <menuItem title="Smaller" tag="4" keyEquivalent="-" id="i1d-Er-qST"> - <connections> - <action selector="modifyFont:" target="YLy-65-1bz" id="HcX-Lf-eNd"/> - </connections> - </menuItem> - <menuItem isSeparatorItem="YES" id="kx3-Dk-x3B"/> - <menuItem title="Kern" id="jBQ-r6-VK2"> - <modifierMask key="keyEquivalentModifierMask"/> - <menu key="submenu" title="Kern" id="tlD-Oa-oAM"> - <items> - <menuItem title="Use Default" id="GUa-eO-cwY"> - <modifierMask key="keyEquivalentModifierMask"/> - <connections> - <action selector="useStandardKerning:" target="Ady-hI-5gd" id="6dk-9l-Ckg"/> - </connections> - </menuItem> - <menuItem title="Use None" id="cDB-IK-hbR"> - <modifierMask key="keyEquivalentModifierMask"/> - <connections> - <action selector="turnOffKerning:" target="Ady-hI-5gd" id="U8a-gz-Maa"/> - </connections> - </menuItem> - <menuItem title="Tighten" id="46P-cB-AYj"> - <modifierMask key="keyEquivalentModifierMask"/> - <connections> - <action selector="tightenKerning:" target="Ady-hI-5gd" id="hr7-Nz-8ro"/> - </connections> - </menuItem> - <menuItem title="Loosen" id="ogc-rX-tC1"> - <modifierMask key="keyEquivalentModifierMask"/> - <connections> - <action selector="loosenKerning:" target="Ady-hI-5gd" id="8i4-f9-FKE"/> - </connections> - </menuItem> - </items> - </menu> - </menuItem> - <menuItem title="Ligatures" id="o6e-r0-MWq"> - <modifierMask key="keyEquivalentModifierMask"/> - <menu key="submenu" title="Ligatures" id="w0m-vy-SC9"> - <items> - <menuItem title="Use Default" id="agt-UL-0e3"> - <modifierMask key="keyEquivalentModifierMask"/> - <connections> - <action selector="useStandardLigatures:" target="Ady-hI-5gd" id="7uR-wd-Dx6"/> - </connections> - </menuItem> - <menuItem title="Use None" id="J7y-lM-qPV"> - <modifierMask key="keyEquivalentModifierMask"/> - <connections> - <action selector="turnOffLigatures:" target="Ady-hI-5gd" id="iX2-gA-Ilz"/> - </connections> - </menuItem> - <menuItem title="Use All" id="xQD-1f-W4t"> - <modifierMask key="keyEquivalentModifierMask"/> - <connections> - <action selector="useAllLigatures:" target="Ady-hI-5gd" id="KcB-kA-TuK"/> - </connections> - </menuItem> - </items> - </menu> - </menuItem> - <menuItem title="Baseline" id="OaQ-X3-Vso"> - <modifierMask key="keyEquivalentModifierMask"/> - <menu key="submenu" title="Baseline" id="ijk-EB-dga"> - <items> - <menuItem title="Use Default" id="3Om-Ey-2VK"> - <modifierMask key="keyEquivalentModifierMask"/> - <connections> - <action selector="unscript:" target="Ady-hI-5gd" id="0vZ-95-Ywn"/> - </connections> - </menuItem> - <menuItem title="Superscript" id="Rqc-34-cIF"> - <modifierMask key="keyEquivalentModifierMask"/> - <connections> - <action selector="superscript:" target="Ady-hI-5gd" id="3qV-fo-wpU"/> - </connections> - </menuItem> - <menuItem title="Subscript" id="I0S-gh-46l"> - <modifierMask key="keyEquivalentModifierMask"/> - <connections> - <action selector="subscript:" target="Ady-hI-5gd" id="Q6W-4W-IGz"/> - </connections> - </menuItem> - <menuItem title="Raise" id="2h7-ER-AoG"> - <modifierMask key="keyEquivalentModifierMask"/> - <connections> - <action selector="raiseBaseline:" target="Ady-hI-5gd" id="4sk-31-7Q9"/> - </connections> - </menuItem> - <menuItem title="Lower" id="1tx-W0-xDw"> - <modifierMask key="keyEquivalentModifierMask"/> - <connections> - <action selector="lowerBaseline:" target="Ady-hI-5gd" id="OF1-bc-KW4"/> - </connections> - </menuItem> - </items> - </menu> - </menuItem> - <menuItem isSeparatorItem="YES" id="Ndw-q3-faq"/> - <menuItem title="Show Colors" keyEquivalent="C" id="bgn-CT-cEk"> - <connections> - <action selector="orderFrontColorPanel:" target="Ady-hI-5gd" id="mSX-Xz-DV3"/> - </connections> - </menuItem> - <menuItem isSeparatorItem="YES" id="iMs-zA-UFJ"/> - <menuItem title="Copy Style" keyEquivalent="c" id="5Vv-lz-BsD"> - <modifierMask key="keyEquivalentModifierMask" option="YES" command="YES"/> - <connections> - <action selector="copyFont:" target="Ady-hI-5gd" id="GJO-xA-L4q"/> - </connections> - </menuItem> - <menuItem title="Paste Style" keyEquivalent="v" id="vKC-jM-MkH"> - <modifierMask key="keyEquivalentModifierMask" option="YES" command="YES"/> - <connections> - <action selector="pasteFont:" target="Ady-hI-5gd" id="JfD-CL-leO"/> - </connections> - </menuItem> - </items> - </menu> - </menuItem> - <menuItem title="Text" id="Fal-I4-PZk"> - <modifierMask key="keyEquivalentModifierMask"/> - <menu key="submenu" title="Text" id="d9c-me-L2H"> - <items> - <menuItem title="Align Left" keyEquivalent="{" id="ZM1-6Q-yy1"> - <connections> - <action selector="alignLeft:" target="Ady-hI-5gd" id="zUv-R1-uAa"/> - </connections> - </menuItem> - <menuItem title="Center" keyEquivalent="|" id="VIY-Ag-zcb"> - <connections> - <action selector="alignCenter:" target="Ady-hI-5gd" id="spX-mk-kcS"/> - </connections> - </menuItem> - <menuItem title="Justify" id="J5U-5w-g23"> - <modifierMask key="keyEquivalentModifierMask"/> - <connections> - <action selector="alignJustified:" target="Ady-hI-5gd" id="ljL-7U-jND"/> - </connections> - </menuItem> - <menuItem title="Align Right" keyEquivalent="}" id="wb2-vD-lq4"> - <connections> - <action selector="alignRight:" target="Ady-hI-5gd" id="r48-bG-YeY"/> - </connections> - </menuItem> - <menuItem isSeparatorItem="YES" id="4s2-GY-VfK"/> - <menuItem title="Writing Direction" id="H1b-Si-o9J"> - <modifierMask key="keyEquivalentModifierMask"/> - <menu key="submenu" title="Writing Direction" id="8mr-sm-Yjd"> - <items> - <menuItem title="Paragraph" enabled="NO" id="ZvO-Gk-QUH"> - <modifierMask key="keyEquivalentModifierMask"/> - </menuItem> - <menuItem id="YGs-j5-SAR"> - <string key="title"> Default</string> - <modifierMask key="keyEquivalentModifierMask"/> - <connections> - <action selector="makeBaseWritingDirectionNatural:" target="Ady-hI-5gd" id="qtV-5e-UBP"/> - </connections> - </menuItem> - <menuItem id="Lbh-J2-qVU"> - <string key="title"> Left to Right</string> - <modifierMask key="keyEquivalentModifierMask"/> - <connections> - <action selector="makeBaseWritingDirectionLeftToRight:" target="Ady-hI-5gd" id="S0X-9S-QSf"/> - </connections> - </menuItem> - <menuItem id="jFq-tB-4Kx"> - <string key="title"> Right to Left</string> - <modifierMask key="keyEquivalentModifierMask"/> - <connections> - <action selector="makeBaseWritingDirectionRightToLeft:" target="Ady-hI-5gd" id="5fk-qB-AqJ"/> - </connections> - </menuItem> - <menuItem isSeparatorItem="YES" id="swp-gr-a21"/> - <menuItem title="Selection" enabled="NO" id="cqv-fj-IhA"> - <modifierMask key="keyEquivalentModifierMask"/> - </menuItem> - <menuItem id="Nop-cj-93Q"> - <string key="title"> Default</string> - <modifierMask key="keyEquivalentModifierMask"/> - <connections> - <action selector="makeTextWritingDirectionNatural:" target="Ady-hI-5gd" id="lPI-Se-ZHp"/> - </connections> - </menuItem> - <menuItem id="BgM-ve-c93"> - <string key="title"> Left to Right</string> - <modifierMask key="keyEquivalentModifierMask"/> - <connections> - <action selector="makeTextWritingDirectionLeftToRight:" target="Ady-hI-5gd" id="caW-Bv-w94"/> - </connections> - </menuItem> - <menuItem id="RB4-Sm-HuC"> - <string key="title"> Right to Left</string> - <modifierMask key="keyEquivalentModifierMask"/> - <connections> - <action selector="makeTextWritingDirectionRightToLeft:" target="Ady-hI-5gd" id="EXD-6r-ZUu"/> - </connections> - </menuItem> - </items> - </menu> - </menuItem> - <menuItem isSeparatorItem="YES" id="fKy-g9-1gm"/> - <menuItem title="Show Ruler" id="vLm-3I-IUL"> - <modifierMask key="keyEquivalentModifierMask"/> - <connections> - <action selector="toggleRuler:" target="Ady-hI-5gd" id="FOx-HJ-KwY"/> - </connections> - </menuItem> - <menuItem title="Copy Ruler" keyEquivalent="c" id="MkV-Pr-PK5"> - <modifierMask key="keyEquivalentModifierMask" control="YES" command="YES"/> - <connections> - <action selector="copyRuler:" target="Ady-hI-5gd" id="71i-fW-3W2"/> - </connections> - </menuItem> - <menuItem title="Paste Ruler" keyEquivalent="v" id="LVM-kO-fVI"> - <modifierMask key="keyEquivalentModifierMask" control="YES" command="YES"/> - <connections> - <action selector="pasteRuler:" target="Ady-hI-5gd" id="cSh-wd-qM2"/> - </connections> - </menuItem> - </items> - </menu> - </menuItem> - </items> - </menu> - </menuItem> - <menuItem title="View" id="H8h-7b-M4v"> - <modifierMask key="keyEquivalentModifierMask"/> - <menu key="submenu" title="View" id="HyV-fh-RgO"> - <items> - <menuItem title="Show Toolbar" keyEquivalent="t" id="snW-S8-Cw5"> - <modifierMask key="keyEquivalentModifierMask" option="YES" command="YES"/> - <connections> - <action selector="toggleToolbarShown:" target="Ady-hI-5gd" id="BXY-wc-z0C"/> - </connections> - </menuItem> - <menuItem title="Customize Toolbar…" id="1UK-8n-QPP"> - <modifierMask key="keyEquivalentModifierMask"/> - <connections> - <action selector="runToolbarCustomizationPalette:" target="Ady-hI-5gd" id="pQI-g3-MTW"/> - </connections> - </menuItem> - <menuItem isSeparatorItem="YES" id="hB3-LF-h0Y"/> - <menuItem title="Show Sidebar" keyEquivalent="s" id="kIP-vf-haE"> - <modifierMask key="keyEquivalentModifierMask" control="YES" command="YES"/> - <connections> - <action selector="toggleSidebar:" target="Ady-hI-5gd" id="iwa-gc-5KM"/> - </connections> - </menuItem> - <menuItem title="Enter Full Screen" keyEquivalent="f" id="4J7-dP-txa"> - <modifierMask key="keyEquivalentModifierMask" control="YES" command="YES"/> - <connections> - <action selector="toggleFullScreen:" target="Ady-hI-5gd" id="dU3-MA-1Rq"/> - </connections> - </menuItem> </items> </menu> </menuItem> @@ -820,6 +323,7 @@ </constraints> </view> <connections> + <outlet property="m_CodeLabel" destination="OOh-QE-F3j" id="lDS-Pw-WU2"/> <outlet property="m_ColourLabel" destination="7k9-2M-yvh" id="8AR-Od-bNf"/> <outlet property="m_ColourNumber" destination="iXZ-D0-tCL" id="WmO-5c-JnK"/> <outlet property="m_ColourStepper" destination="FGJ-Vk-aSZ" id="tD6-1U-5C7"/> diff --git a/SpriteEd/SpriteEd.csproj b/SpriteEd/SpriteEd.csproj index 5a8d003..0e58c25 100644 --- a/SpriteEd/SpriteEd.csproj +++ b/SpriteEd/SpriteEd.csproj @@ -85,6 +85,7 @@ <Compile Include="Sprite.cs" />
<Compile Include="SpriteSet.cs" />
<Compile Include="SpriteEdException.cs" />
+ <Compile Include="CodePoints.cs" />
</ItemGroup>
<ItemGroup>
<InterfaceDefinition Include="Main.storyboard" />
diff --git a/SpriteEd/ViewController.cs b/SpriteEd/ViewController.cs index fe8aa79..7abceff 100644 --- a/SpriteEd/ViewController.cs +++ b/SpriteEd/ViewController.cs @@ -15,7 +15,7 @@ // along with this program. If not, see <http://www.gnu.org/licenses/>. // using System; - +using System.Collections.Generic; using AppKit; using Foundation; @@ -25,6 +25,7 @@ namespace SpriteEd { private Palette m_Palette; private SpriteSet m_SpriteSet; + private Dictionary<int, string> m_CodeSet; public ViewController(IntPtr handle) : base(handle) { @@ -52,6 +53,8 @@ namespace SpriteEd m_SpriteEdit.Sprite = m_SpriteSet[(byte)m_SpriteNumber.IntValue]; m_SpriteEdit.Mode = NSSpriteEdit.DrawingMode.Point; + m_CodeSet = CodePoints.C64; + OnColourStepper(m_ColourStepper); OnSpriteStepper(m_SpriteStepper); } @@ -77,6 +80,15 @@ namespace SpriteEd { m_SpriteNumber.IntValue = stepper.IntValue; m_SpriteEdit.Sprite = m_SpriteSet[(byte)stepper.IntValue]; + + if (m_CodeSet.ContainsKey(stepper.IntValue)) + { + m_CodeLabel.StringValue = m_CodeSet[stepper.IntValue]; + } + else + { + m_CodeLabel.StringValue = String.Empty; + } } } diff --git a/SpriteEd/ViewController.designer.cs b/SpriteEd/ViewController.designer.cs index 2de4b18..032ae7f 100644 --- a/SpriteEd/ViewController.designer.cs +++ b/SpriteEd/ViewController.designer.cs @@ -13,6 +13,9 @@ namespace SpriteEd partial class ViewController { [Outlet] + AppKit.NSTextField m_CodeLabel { get; set; } + + [Outlet] AppKit.NSTextField m_ColourLabel { get; set; } [Outlet] @@ -70,6 +73,11 @@ namespace SpriteEd m_SpriteStepper.Dispose (); m_SpriteStepper = null; } + + if (m_CodeLabel != null) { + m_CodeLabel.Dispose (); + m_CodeLabel = null; + } } } } |