private static void Write(Stream stream, LayerState ls) { if (stream == null) { throw new ArgumentNullException(nameof(stream)); } if (ls == null) { throw new ArgumentNullException(nameof(ls)); } TextCodeValueWriter chunk = new TextCodeValueWriter(new StreamWriter(stream)); chunk.Write(0, LayerStateDictionary); chunk.Write(0, LayerStateName); chunk.Write(1, ls.Name); chunk.Write(91, 2047); // unknown code functionality <- 32-bit integer value chunk.Write(301, ls.Description); chunk.Write(290, ls.PaperSpace); chunk.Write(302, ls.CurrentLayer); foreach (LayerStateProperties lp in ls.Properties.Values) { chunk.Write(8, lp.Name); chunk.Write(90, (int)lp.Flags); chunk.Write(62, lp.Color.Index); chunk.Write(370, (short)lp.Lineweight); chunk.Write(6, lp.LinetypeName); //chunk.Write(2, properties.PlotStyleName); chunk.Write(440, lp.Transparency.Value == 0 ? 0 : Transparency.ToAlphaValue(lp.Transparency)); if (lp.Color.UseTrueColor) { // this code only appears if the layer color has been defined as true color chunk.Write(92, AciColor.ToTrueColor(lp.Color)); } } chunk.Flush(); }