示例#1
0
        void MapObject(LineFormat lineFormat, DocumentObjectModel.Shapes.LineFormat domLineFormat)
        {
            if (domLineFormat.Color.IsEmpty)
                lineFormat.Color = XColor.Empty;
            else
            {
#if noCMYK
                lineFormat.Color = XColor.FromArgb(domLineFormat.Color.Argb);
#else
                lineFormat.Color = ColorHelper.ToXColor(domLineFormat.Color, domLineFormat.Document.UseCmykColor);
#endif
            }
            switch (domLineFormat.DashStyle)
            {
                case DocumentObjectModel.Shapes.DashStyle.Dash:
                    lineFormat.DashStyle = XDashStyle.Dash;
                    break;
                case DocumentObjectModel.Shapes.DashStyle.DashDot:
                    lineFormat.DashStyle = XDashStyle.DashDot;
                    break;
                case DocumentObjectModel.Shapes.DashStyle.DashDotDot:
                    lineFormat.DashStyle = XDashStyle.DashDotDot;
                    break;
                case DocumentObjectModel.Shapes.DashStyle.Solid:
                    lineFormat.DashStyle = XDashStyle.Solid;
                    break;
                case DocumentObjectModel.Shapes.DashStyle.SquareDot:
                    lineFormat.DashStyle = XDashStyle.Dot;
                    break;
                default:
                    lineFormat.DashStyle = XDashStyle.Solid;
                    break;
            }
            switch (domLineFormat.Style)
            {
                case DocumentObjectModel.Shapes.LineStyle.Single:
                    lineFormat.Style = LineStyle.Single;
                    break;
            }
            lineFormat.Visible = domLineFormat.Visible;
            if (domLineFormat.IsNull("Visible"))
                lineFormat.Visible = true;
            lineFormat.Width = domLineFormat.Width.Point;
        }
    /// <summary>
    /// Initializes a new instance of the LineFormatRenderer class with the specified graphics, line format
    /// and default width.
    /// </summary>
    public LineFormatRenderer(XGraphics gfx, LineFormat lineFormat, double defaultWidth)
    {
      this.gfx = gfx;
      bool visible = false;
      double width = 0;

      if (lineFormat != null)
      {
        width = lineFormat.width;
        if (width == 0 && !lineFormat.Color.IsEmpty)
          width = defaultWidth;
        visible = lineFormat.Visible || width > 0 || !lineFormat.Color.IsEmpty;
      }

      if (visible)
      {
        this.pen = new XPen(lineFormat.Color, width);
        this.pen.DashStyle = lineFormat.DashStyle;
      }
    }
 /// <summary>
 /// Initializes a new instance of the LineFormatRenderer class with the specified graphics and
 /// line format.
 /// </summary>
 public LineFormatRenderer(XGraphics gfx, LineFormat lineFormat) :
   this(gfx, lineFormat, 0)
 {
 }
示例#4
0
 internal static void Map(LineFormat lineFormat, DocumentObjectModel.Shapes.LineFormat domLineFormat)
 {
     LineFormatMapper mapper = new LineFormatMapper();
     mapper.MapObject(lineFormat, domLineFormat);
 }