public ColorRecord Duplicate( IColorRecordGetter item, FormKey formKey, TranslationCrystal?copyMask) { var newRec = new ColorRecord(formKey); newRec.DeepCopyIn(item, default(ErrorMaskBuilder?), copyMask); return(newRec); }
public ColorRecord DeepCopy( IColorRecordGetter item, ColorRecord.TranslationMask?copyMask = null) { ColorRecord ret = (ColorRecord)((ColorRecordCommon)((IColorRecordGetter)item).CommonInstance() !).GetNew(); ((ColorRecordSetterTranslationCommon)((IColorRecordGetter)ret).CommonSetterTranslationInstance() !).DeepCopyIn( item: ret, rhs: item, errorMask: null, copyMask: copyMask?.GetCrystal(), deepCopy: true); return(ret); }
private void btnAddColor_Click(object sender, EventArgs e) { for (char c = 'A'; c < 'Z'; c++) { if (!Symbol.Colors.Keys.Contains(c)) { ColorRecord cr = Symbol.ColorTable.Colors.Values.First(); Symbol.Colors.Add(c, cr); ListViewItem listviewitem = new ListViewItem(cr.Code); listviewitem.SubItems.Add(c.ToString()); this.listViewPalette.Items.Add(listviewitem); return; } } }
private static ColorRecord UnpackColorRecord(BinaryReader reader) { var recordNameLen = reader.ReadInt32(); var nameBytes = reader.ReadBytes(recordNameLen); var colorRecord = new ColorRecord { Name = Encoding.UTF8.GetString(nameBytes), }; colorRecord.BackgroundPos = reader.BaseStream.Position; colorRecord.Background = UnpackColor(reader); colorRecord.ForegroundPos = reader.BaseStream.Position; colorRecord.Foreground = UnpackColor(reader); return(colorRecord); }
public ColorRecord DeepCopy( IColorRecordGetter item, out ColorRecord.ErrorMask errorMask, ColorRecord.TranslationMask?copyMask = null) { var errorMaskBuilder = new ErrorMaskBuilder(); ColorRecord ret = (ColorRecord)((ColorRecordCommon)((IColorRecordGetter)item).CommonInstance() !).GetNew(); ((ColorRecordSetterTranslationCommon)((IColorRecordGetter)ret).CommonSetterTranslationInstance() !).DeepCopyIn( ret, item, errorMask: errorMaskBuilder, copyMask: copyMask?.GetCrystal(), deepCopy: true); errorMask = ColorRecord.ErrorMask.Factory(errorMaskBuilder); return(ret); }
private static ColorRecord UnpackColorRecord(BinaryReader reader) { // See Microsoft.VisualStudio.Platform.WindowManagement.ColorRecord ctor var recordNameLen = reader.ReadInt32(); var nameBytes = reader.ReadBytes(recordNameLen); var colorRecord = new ColorRecord { Name = Encoding.UTF8.GetString(nameBytes), }; colorRecord.BackgroundType = (VsColorType)reader.ReadByte(); if (IsValidColorType(colorRecord.BackgroundType)) { colorRecord.Background = UnpackColor(reader); } colorRecord.ForegroundType = (VsColorType)reader.ReadByte(); if (IsValidColorType(colorRecord.ForegroundType)) { colorRecord.Foreground = UnpackColor(reader); } return(colorRecord); }
public static void InjectColor(Color?fgColor, Color?bgColor, Theme theme, Category category, ColorRecord colorRec) { var regPath = Path.Combine(ThemeReader.RegPath, theme.Guid.ToString("B"), category.Name); var reg = Registry.CurrentUser.OpenSubKey(regPath, true); var colorData = reg.GetValue("Data") as byte[]; using (var ms = new MemoryStream(colorData)) using (var bw = new BinaryWriter(ms)) { if (bgColor != null) { ms.Seek(colorRec.BackgroundPos, SeekOrigin.Begin); WriteColor(bgColor.Value, bw); } if (fgColor != null) { ms.Seek(colorRec.ForegroundPos, SeekOrigin.Begin); WriteColor(fgColor.Value, bw); } bw.Flush(); bw.Close(); var setData = ms.ToArray(); reg.SetValue("Data", setData, RegistryValueKind.Binary); } }
public override object GetNew() { return(ColorRecord.GetNew()); }