public XRectangle Deserialize(ISheet sheet, XBlock parent, ItemRectangle rectangleItem, double thickness) { var rectangle = _blockFactory.CreateRectangle(thickness, rectangleItem.X, rectangleItem.Y, rectangleItem.Width, rectangleItem.Height, rectangleItem.IsFilled, rectangleItem.Stroke, rectangleItem.Fill); rectangle.Id = rectangleItem.Id; parent.Rectangles.Add(rectangle); sheet.Add(rectangle); return(rectangle); }
public void Serialize(StringBuilder sb, ItemRectangle rectangle, string indent, ItemSerializeOptions options) { sb.Append(indent); sb.Append("RECTANGLE"); sb.Append(options.ModelSeparator); sb.Append(rectangle.Id); sb.Append(options.ModelSeparator); sb.Append(rectangle.X); sb.Append(options.ModelSeparator); sb.Append(rectangle.Y); sb.Append(options.ModelSeparator); sb.Append(rectangle.Width); sb.Append(options.ModelSeparator); sb.Append(rectangle.Height); sb.Append(options.ModelSeparator); sb.Append(rectangle.IsFilled); sb.Append(options.ModelSeparator); Serialize(sb, rectangle.Stroke, options); sb.Append(options.ModelSeparator); Serialize(sb, rectangle.Fill, options); sb.Append(options.LineSeparator); }
private ItemRectangle DeserializeRectangle(string[] m) { var rectangleItem = new ItemRectangle(); rectangleItem.Id = int.Parse(m[1]); rectangleItem.X = double.Parse(m[2]); rectangleItem.Y = double.Parse(m[3]); rectangleItem.Width = double.Parse(m[4]); rectangleItem.Height = double.Parse(m[5]); rectangleItem.IsFilled = bool.Parse(m[6]); rectangleItem.Stroke = new ArgbColor( byte.Parse(m[7]), byte.Parse(m[8]), byte.Parse(m[9]), byte.Parse(m[10])); rectangleItem.Fill = new ArgbColor( byte.Parse(m[11]), byte.Parse(m[12]), byte.Parse(m[13]), byte.Parse(m[14])); return(rectangleItem); }
private void AppendTextBox(XmlWriter writer, string name, string expression, TextBoxStyle style, ItemRectangle rectangle) { writer.WriteStartElement(TEXTBOX_ELEMENT); //<Textbox> writer.WriteAttributeString(NAME_PROPERTY, name); AppendString(writer, CANGROW_ELEMENT, bool.TrueString.ToLower()); //<CanGrow/> AppendString(writer, KEEPTOGETHER_ELEMENT, bool.TrueString.ToLower()); //<KeepTogether/> writer.WriteStartElement(PARAGRAPHS_ELEMENT); //<Paragraphs> writer.WriteStartElement(PARAGRAPH_ELEMENT); //<Paragraph> writer.WriteStartElement(TEXTRUNS_ELEMENT); //<TextRuns> writer.WriteStartElement(TEXTRUN_ELEMENT); //<TextRun> AppendString(writer, VALUE_ELEMENT, expression); //<Value/> AppendTextRunStyle(writer, style); writer.WriteEndElement(); //</TextRun> writer.WriteEndElement(); //</TextRuns> AppendParagraphStyle(writer, style); writer.WriteEndElement(); //</Paragraph> writer.WriteEndElement(); //</Paragraphs> if (rectangle != null) { AppendString(writer, TOP_ELEMENT, string.Format("{0}cm", rectangle.Top)); //<Top/> AppendString(writer, LEFT_ELEMENT, string.Format("{0}cm", rectangle.Left)); //<Left/> AppendString(writer, WIDTH_ELEMENT, string.Format("{0}cm", rectangle.Width)); //<Width/> AppendString(writer, HEIGHT_ELEMENT, string.Format("{0}cm", rectangle.Height)); //<Height/> } AppendString(writer, RD_PREFIX, DEFAULT_NAME, RD_URI, name); //<rd:DefaultName/> AppendTextBoxStyle(writer, style); writer.WriteEndElement(); //</Textbox> }
private void AppendImage(XmlWriter writer, string name, string expression, ItemRectangle rectangle) { writer.WriteStartElement(IMAGE_ELEMENT); //<Image> writer.WriteAttributeString(NAME_PROPERTY, name); AppendString(writer, SOURCE_ELEMENT, "External"); AppendString(writer, VALUE_ELEMENT, expression); //WriteString(writer, SIZING_ELEMENT, "FitProportional"); if (rectangle != null) { AppendString(writer, TOP_ELEMENT, string.Format("{0}cm", rectangle.Top)); //<Top/> AppendString(writer, LEFT_ELEMENT, string.Format("{0}cm", rectangle.Left)); //<Left/> AppendString(writer, WIDTH_ELEMENT, string.Format("{0}cm", rectangle.Width)); //<Width/> AppendString(writer, HEIGHT_ELEMENT, string.Format("{0}cm", rectangle.Height)); //<Height/> } writer.WriteEndElement(); //</Image> }
public void Move(ItemRectangle rectangle, double x, double y) { rectangle.X += x; rectangle.Y += y; }