コード例 #1
0
 public Macro(MacroEntry title, MacroEntry icon, MacroEntry key, MacroEntry[] lines)
 {
     Title = title;
     Icon  = icon;
     Key   = key;
     Lines = lines;
 }
コード例 #2
0
        private Macro ReadMacro(byte[] data, ref int offset)
        {
            MacroEntry t = new MacroEntry();

            t.Type = EntryType.T;
            MacroEntry i = new MacroEntry();

            i.Type = EntryType.I;
            MacroEntry k = new MacroEntry();

            k.Type = EntryType.K;
            MacroEntry[] lines = new MacroEntry[15];

            // we can actually ignore types, we know what comes after what
            offset++;

            byte titleSize = data[offset];

            offset += 2; // skip a null as well

            t.Data  = Encoding.UTF8.GetString(data, offset, titleSize).TrimEnd('\0');
            offset += titleSize;

            offset++;

            byte iconSize = data[offset];

            offset += 2;

            i.Data  = Encoding.UTF8.GetString(data, offset, iconSize).TrimEnd('\0');
            offset += iconSize;

            offset++;

            byte keySize = data[offset];

            offset += 2;

            k.Data  = Encoding.UTF8.GetString(data, offset, keySize).TrimEnd('\0');
            offset += keySize;

            for (int j = 0; j < 15; j++)
            {
                lines[j] = new MacroEntry();
                offset++;
                byte thisLineSize = data[offset];
                offset       += 2;
                lines[j].Data = Encoding.UTF8.GetString(data, offset, thisLineSize).TrimEnd('\0');
                offset       += thisLineSize;
            }

            Macro       toReturn = new Macro(t, i, k, lines);
            BitmapImage bi;

            _iconImages.TryGetValue(i.Data, out bi);
            toReturn.IconImage = bi;
            return(toReturn);
        }
コード例 #3
0
 private void BytesLength(MacroEntry e)
 {
 }