protected ShapedGraphic GetCloud()
        {
            var graphic = new ShapedGraphic(NextId,
                                            Omnigraffle.Shape.Cloud,
                                            50, 50, 175, 70);

            return(graphic);
        }
        protected ShapedGraphic GetRectangle()
        {
            var graphic = new ShapedGraphic(NextId,
                                            Omnigraffle.Shape.Rectangle,
                                            50, 50, 175, 70);

            return(graphic);
        }
        protected ShapedGraphic GetCircle()
        {
            var circle = new ShapedGraphic(NextId, Omnigraffle.Shape.Circle, 50, 50, 10, 10);

            circle.Style.Shadow.Draws = false;

            circle.FitText = KAOSTools.OmnigraffleExport.Omnigraffle.FitText.Clip;
            circle.Flow    = KAOSTools.OmnigraffleExport.Omnigraffle.Flow.Clip;

            return(circle);
        }
        protected ShapedGraphic GetInvertParallelogram()
        {
            var graphic = new ShapedGraphic(NextId,
                                            Omnigraffle.Shape.Bezier,
                                            50, 50, 150, 70);

            graphic.ShapeData.UnitPoints.Add(new KAOSTools.OmnigraffleExport.Omnigraffle.Point(-0.5, -0.5));
            graphic.ShapeData.UnitPoints.Add(new KAOSTools.OmnigraffleExport.Omnigraffle.Point(-0.5, -0.5));
            graphic.ShapeData.UnitPoints.Add(new KAOSTools.OmnigraffleExport.Omnigraffle.Point(0.45, -0.5));
            graphic.ShapeData.UnitPoints.Add(new KAOSTools.OmnigraffleExport.Omnigraffle.Point(0.45, -0.5));
            graphic.ShapeData.UnitPoints.Add(new KAOSTools.OmnigraffleExport.Omnigraffle.Point(0.45, -0.5));
            graphic.ShapeData.UnitPoints.Add(new KAOSTools.OmnigraffleExport.Omnigraffle.Point(0.5, 0.5));
            graphic.ShapeData.UnitPoints.Add(new KAOSTools.OmnigraffleExport.Omnigraffle.Point(0.5, 0.5));
            graphic.ShapeData.UnitPoints.Add(new KAOSTools.OmnigraffleExport.Omnigraffle.Point(0.5, 0.5));
            graphic.ShapeData.UnitPoints.Add(new KAOSTools.OmnigraffleExport.Omnigraffle.Point(-0.45, 0.5));
            graphic.ShapeData.UnitPoints.Add(new KAOSTools.OmnigraffleExport.Omnigraffle.Point(-0.45, 0.5));
            graphic.ShapeData.UnitPoints.Add(new KAOSTools.OmnigraffleExport.Omnigraffle.Point(-0.45, 0.5));
            graphic.ShapeData.UnitPoints.Add(new KAOSTools.OmnigraffleExport.Omnigraffle.Point(-0.5, -0.5));

            return(graphic);
        }
        protected void AddText(ShapedGraphic graphic, string text,
                               bool bold = false, TextAlignement align = TextAlignement.Center)
        {
            var str = (bold ? @"\b " : "");

            str += (align == TextAlignement.Left ? @"\ql " : "");
            str += (align == TextAlignement.Right ? @"\qr " : "");
            str += (align == TextAlignement.Center ? @"\qc " : "");
            str += GetRtfUnicodeEscapedString(text);

            graphic.Text = new Omnigraffle.TextInfo(str)
            {
                Alignement      = KAOSTools.OmnigraffleExport.Omnigraffle.TextAlignement.Center,
                SideMargin      = 10,
                TopBottomMargin = 3
            };
            graphic.Style.Shadow.Draws = false;
            graphic.FitText            = KAOSTools.OmnigraffleExport.Omnigraffle.FitText.Vertical;
            graphic.Flow          = KAOSTools.OmnigraffleExport.Omnigraffle.Flow.Resize;
            graphic.FontInfo.Size = 10;
        }
 protected void SetStrokeWidth(ShapedGraphic graphic, int lineWidth)
 {
     graphic.Style.Stroke.Width = lineWidth;
 }
 protected void SetFillColor(ShapedGraphic graphic, double red, double green, double blue)
 {
     graphic.Style.Fill.Color = new Color(red, green, blue);
 }