protected LineGraphic GetLine(Graphic @from, Graphic to, bool dashed = false) { var line = new Omnigraffle.LineGraphic (NextId); line.Head = new Omnigraffle.LineEndInfo (to.ID); line.Tail = new Omnigraffle.LineEndInfo (@from.ID); if (to is ShapedGraphic) { line.Points.Add ((to as ShapedGraphic).Bounds.TopLeft); } else if (to is Omnigraffle.Group) { line.Points.Add (new Point(25,25)); } if (@from is ShapedGraphic) { line.Points.Add ((@from as ShapedGraphic).Bounds.BottomRight); } else if (@from is Omnigraffle.Group) { line.Points.Add (new Point(30,30)); } line.Style.Shadow.Draws = false; if (dashed) line.Style.Stroke.Pattern = StrokePattern.Dashed; return line; }
protected void AddText(LineGraphic graphic, string text, float position = 0.5f) { var labelBox = new Omnigraffle.ShapedGraphic (NextId, Omnigraffle.Shape.Rectangle, 50, 50, 100, 100); labelBox.Text = new Omnigraffle.TextInfo (text) { Alignement = KAOSTools.OmnigraffleExport.Omnigraffle.TextAlignement.Center, SideMargin = 0, TopBottomMargin = 0 }; labelBox.FontInfo.Size = 8; labelBox.Style.Shadow.Draws = false; labelBox.FitText = KAOSTools.OmnigraffleExport.Omnigraffle.FitText.Yes; // labelBox.Wrap = false; labelBox.Flow = KAOSTools.OmnigraffleExport.Omnigraffle.Flow.Resize; labelBox.Style.Fill.Color = new KAOSTools.OmnigraffleExport.Omnigraffle.Color (1, 1, 1); labelBox.Style.Stroke.Draws = false; labelBox.Line = new LineInfo (graphic.ID) { Position = position }; sheet.GraphicsList.Add (labelBox); }