//--------------------------------------------------------------------------------------------------------- /// <summary> /// Чтение свойств и данных сплошной кисти из потока данных в формате XML /// </summary> /// <param name="xml_reader">Средство чтения данных формата XML</param> //--------------------------------------------------------------------------------------------------------- public override void ReadFromXml(XmlReader xml_reader) { mName = xml_reader.ReadStringFromAttribute("Name", mName); mGroup = xml_reader.ReadStringFromAttribute("Group", mGroup); mID = xml_reader.ReadLongFromAttribute("ID", mID); mColor = xml_reader.ReadCadColorFromAttribute("Color"); Update(); }
//--------------------------------------------------------------------------------------------------------- /// <summary> /// Чтение данных цвета из формата атрибутов /// </summary> /// <param name="xml_reader">Средство чтения данных формата XML</param> /// <param name="name">Имя атрибута</param> /// <returns>Цвет</returns> //--------------------------------------------------------------------------------------------------------- public static TCadColor ReadCadColorFromAttribute(this XmlReader xml_reader, String name) { String value; if ((value = xml_reader.GetAttribute(name)) != null) { return(TCadColor.Deserialize(value)); } return(TCadColor.White); }
//--------------------------------------------------------------------------------------------------------- /// <summary> /// Конструктор инициализирует объект класса указанными параметрами /// </summary> /// <param name="color">Цвет кисти</param> //--------------------------------------------------------------------------------------------------------- public CCadBrushSolid(TCadColor color) { mName = "Новая кисть"; mBrushFill = TCadBrushFillType.Solid; mColor = color; #if USE_WINDOWS mWindowsBrush = new System.Windows.Media.SolidColorBrush(mColor); #endif #if USE_GDI mDrawingBrush = new System.Drawing.SolidBrush(mColor); #endif }
//--------------------------------------------------------------------------------------------------------- /// <summary> /// Чтение свойств и данных кисти штриховки из потока данных в формате XML /// </summary> /// <param name="xml_reader">Средство чтения данных формата XML</param> //--------------------------------------------------------------------------------------------------------- public override void ReadFromXml(XmlReader xml_reader) { mName = xml_reader.ReadStringFromAttribute("Name", mName); mGroup = xml_reader.ReadStringFromAttribute("Group", mGroup); mID = xml_reader.ReadLongFromAttribute("ID", mID); mResourceName = xml_reader.ReadStringFromAttribute("ResourceName"); mForegroundColor = xml_reader.ReadCadColorFromAttribute("ForegroundColor"); mBackgroundColor = xml_reader.ReadCadColorFromAttribute("BackgroundColor"); mIsBackground = xml_reader.ReadBooleanFromAttribute("IsBackground"); Update(); }
//--------------------------------------------------------------------------------------------------------- /// <summary> /// Добавление сплошной кисти с указанными параметрами /// </summary> /// <param name="name">Имя кисти</param> /// <param name="group">Имя группы</param> /// <param name="color">Основной цвет кисти</param> /// <param name="id">Идентификатор кисти</param> /// <returns>Сплошная кисть</returns> //--------------------------------------------------------------------------------------------------------- public static CCadBrushSolid AddSolid(String name, String group, TCadColor color, Int32 id) { // Создаем кисть CCadBrushSolid brush_solid = new CCadBrushSolid(name); brush_solid.ID = id; brush_solid.mGroup = group; brush_solid.mColor = color; // Обновляем кисть brush_solid.Update(); // Добавляем mBrushes.Add(brush_solid); return(brush_solid); }
//--------------------------------------------------------------------------------------------------------- /// <summary> /// Поиск кисти по цвету /// </summary> /// <param name="color">Цвет кисти</param> /// <returns>Найденная кисть или кисть по умолчанию</returns> //--------------------------------------------------------------------------------------------------------- public static CCadBrush GetFromColor(TCadColor color) { CCadBrush brush = DefaultBrush; for (Int32 i = 0; i < mBrushes.Count; i++) { if (mBrushes[i].BrushFill == TCadBrushFillType.Solid) { CCadBrushSolid solid_brush = mBrushes[i] as CCadBrushSolid; if (solid_brush.Color.Equals(color)) { return(solid_brush); } } } CCadBrushSolid new_solid_brush = new CCadBrushSolid(color); mBrushes.Add(new_solid_brush); return(new_solid_brush); }
//--------------------------------------------------------------------------------------------------------- /// <summary> /// Запись данных цвета в формат атрибутов /// </summary> /// <param name="xml_writer">Средство записи данных в формат XML</param> /// <param name="name">Имя атрибута</param> /// <param name="color">Цвет</param> //--------------------------------------------------------------------------------------------------------- public static void WriteColorToAttribute(this XmlWriter xml_writer, String name, TCadColor color) { xml_writer.WriteStartAttribute(name); xml_writer.WriteValue(color.Serialize()); xml_writer.WriteEndAttribute(); }